Subject: Re: Free software (was Re: Where's your Lisp software, Janos Blazi?)
From: Erik Naggum <>
Date: Sat, 08 Sep 2001 09:52:53 GMT
Newsgroups: comp.lang.lisp
Message-ID: <>

* (Gavin E. Mendel-Gleason)
> I do feel I have the right to be demand this as a consumer of products.

  Do you also feel you have the right to get the source material for movies
  you see?  Actors learn to act based on published plays, which is source
  code for the stage performance, and playwrights learn to write new ones
  based on how old ones were written.  This is undoubtedly useful within
  the profession, but as a _consumer_?  The Free Software movement is also
  directed towards developers, not consumers.  My interest and investment
  in Free Software has been to advance education.  My acquisition editor at
  Prentice Hall told me that good authors have read at least 1000 times
  more than he publishes, and that the actual published book is often no
  more than a fifth of the volume of the text that has been written on it.

> I feel I have this right in the same way that I feel I have the right to
> demand that I be able to purchase a car that has good gas mileage.

  But do you demand the schematics and engineering documentation on the car?

> While not releasing the source may avoid this issue entirely, it is a
> rather extreme solution.  In lisp it would be easy to have the convention
> that packages would designate the boundaries based on what is an external
> and what is an internal symbol.

  Or you could publish the source code for exported packages.  Allegro CL
  comes with (well, you have to sign a license and send it in, but it is
  cost-free) sources to the Common Lisp package.  You can actually get a
  lot of customizations in there, and it does not change much from release
  to release, either.

> Emacs has managed to give away its source and support massive
> extensibility and it has not collapsed under the weight of backward
> compatibility.

  That is not _quite_ true.  For those of us who have worked on Emacs for a
  good number of years, the inability to separate internal from external
  symbols and functionality has always been a source of problems.  Users
  depend on bugs, implementation quirks, and information they should not
  have needed and whent they get it, could only misuse.  Most of my gripes
  with Emacs come from its lack of commitment to a specification -- that
  is, people add stuff all the time without consideration for a planned
  design, and backward compatibility problems set in as soon as it has been
  released: reversing a bad design decision in Emacs is nigh impossible.

> Open source may not be the only model that gives extensibility though.
> It is simply the most obvious, especially when coming from a
> *nix/c/windows world.

  This is odd to hear.  The Unix world has had scripting languages forever,
  and those are essentially "half-open source": You get source access to
  all the scripts, and you can extend the system freely with scripts that
  tie well into the functions-on-disk (executables) that are designed to be
  building blocks.  Unix has taught users to expect parts of their system
  to be _in_ source form.  Take Perl (please! :), which excellently shows
  this point.  Few people venture into the Perl sources itself, but lots of
  people deal with other people's Perl code.

> It may be that an appropriate solution to the overly static nature of
> applications is to make them programming languages themselves.  Lisp of
> course is well suited to deliver in this area.

  Precisely, and that is why I think Open Source in the Common Lisp world
  is a very different beast from what it has to mean in th Closed Source
  world.  In effect, Common Lisp is already half-open by virtue of its
  retention of source-level information in the compiled system.