Subject: Re: "Well, I want to switch over to replace EMACS LISP with Guile."
From: Erik Naggum <>
Date: 16 Oct 2002 00:39:45 +0000
Newsgroups: comp.lang.lisp
Message-ID: <>

* Steven E. Harris
| For me, as a programmer, education has been the most valuable facet of
| open source software.  Saving money on it isn't as valuable as learning
| from it.

  I am happy to see this, and if it was not sufficiently clear from what I
  wrote, I favor sharing source code because I have learned this way myself
  and because most other industries let people share the accumulated skills
  of the trade.  Software vendors have a potential to keep things secret
  that is perhaps unique, much unlike respectable trades like medicine,
  law, engineering, architecture, etc.  It was certainly legitimate to rebel
  against the desire to hide everything and force everybody to start their
  own development efforts much "earlier" than the state of the art, but the
  new method of the rebels is not better than what they rebel against.

| Without broad access to others' source code, I would be limited to my
| textbooks, or perhaps to my peers' work at my current employer.

  This is where I think people go wrong.  Truly vast applications and
  billions of lines of code has been developed at universities.  Most, if
  not all, of this is available to practitioners in the field.  The one big
  gripe against "university code" is that it is not itself intended to be
  the main winning point -- getting some degree is.  This changes the value
  system of software development.  Commercial development has another value
  system entirely, and free software development yet another.  It is not
  obvious which one would succeed if industry wanted plug'n'play employees,
  but the commercial model did not exactly get an opportunity to show
  itself before it was denounced on largely misguided terms.

| I agree that not all open-source code is worth learning from.  Then
| again, neither is all of the in-house code I have access to.  Having more
| examples - both positive and negative - available for study provides
| vicarious experience and helps refine one's taste.

  But then there is the time cost of learning...

| As a shining example, consider Boost.  Much of my C++ knowledge is built
| atop techniques and style exhibited in these libraries.

  I have heard much good about this, and if I had an interest in C++, I
  would have looked closely at it from the great reviews alone.

  Perhaps to the point, C++ is just the kind of language (and community)
  that produces heaps and heaps of incredibly rotten code in a language
  that is implemented and understood poorly, so I have quipped that life is
  too long to be good at C++ -- if you had spent all that time to become
  good at it, you would essentially have to work with it, too, to get back
  the costs, and that would just be some long, drawn-out torture.  I gave
  up on C++ in 1994 but have good friends who tell me that I really miss
  out on major developments.  Unlike most here, it seems, I happen to think
  Java is a serious improvement on what went before it and should be known,
  perhaps mostly for its rich community and libraries and its adaptability.
  The code you do not have to write should be worth a lot to you -- and if
  it comes in the shape of supported libraries from a good vendor, I think
  that is much better than relying on community-developed software of
  dubious quality and little commitment.

  On that tangent, it is probably the lack of commitment and follow-through
  that bothers me with the "free" software, and nobody can take it and make
  a serious buck on improving it to be fully polished products because they
  /have/ to "share" their changes.  Maintenance, quality assurance, etc,
  are very expensive processes, but the result is indistinguishable, qua
  copyable files, from shoddy code.  So "the boring part" of the software
  cycle never gets completed or even really started by unpaid people.

  In the much-lamentable Old Days, when fewer programmers could get at the
  source code, it had higher quality and was better to learn from.  As more
  people with less commitment to quality and much less attention to detail
  got involved in writing it, its educational value diminished, too.  It is
  like going to a library full of books that took 50 man-years to produce
  each, inventing a way to cut down the costs to a few man-months per book
  by copying and randomly improving on other books, and then wondering why
  nobody thinks your library full of these cheaper books is an inspiration
  to future authors.  Like Microsoft was a once-in-a-civilization thing and
  could not be repeated by anyone now that we have seen how much damage can
  be done by such people, I believe Free Software is another once-in-a-
  civilization thing that must be declared to have won or failed, and then
  we move on to something better.  Once a good thing, it has survived the
  achievement of its goals and now produces more problems than alternatives
  it was intended to fight.  This happens to a lot of mediocre ideas.

Erik Naggum, Oslo, Norway

Act from reason, and failure makes you rethink and study harder.
Act from faith, and failure makes you blame someone and push harder.