The GPL and the Hacker's Ethics
- This is continuation of the previous thread raised by Elad, which detoriated
into a discussion of Israel's Constitutional Racism and then Nazis. I do not
respond to Elad's previous reply to my reply, because it was full of evasions
and non-sequitors and other improperly written arguments.
As Eric S. Raymond notes in "How to become a Hacker", a hacker sees the world
as filled with fascinating problems that needs to be solved, and believes
that no problems should ever be faced twice. They furthermore like the
freedom to work on these problems, and detest anyone that tries to limit
Working on free software is one way to do that. There are several types of
licenses that one can choose:
1. Public-Domain licenes. These include the MIT X11 license, the various
variation of BSD license, software distributed under the Public Domain (like
SQLite or one implementation of LISP), etc.
2. Recursive licenses. These are licenses that must retain their original
copyright. The prime example of this is the LGPL. On the other hand, they
make no claim for code that links against it or makes use of it in any way.
Another example is the Mozilla Public License.
3. Recursive and "viral" licenses. Licenses like the GPL, the SleepyCat
license etc. must remain free, and also pose some restrictions on their use
within other programs.
The choice of the license should depend on what the software is supposed to
do, and the intensions of the hacker.
My argument in favour of choosing a non-Public Domain license for one's
software, is that if someone makes a proprietary software based on a software
I wrote, then if I wish this software to be free then I have to re-implement
the proprietary functionality, thus causing the violation of the rule that
says that no problem has to be solved twice.
On the other hand, many times proprietary software that can be written on the
basis of free software, is not something that is of my interest to write a
free equivalent. A good example is many pieces of niche software, that is
written for niche markets that are not distributed in such volumes or are not
of general use to warrant making them free. In that case, writing software
that is under the LGPL or a BSD-style license would be preferable.
As for me, so far I distributed the software I originated with under Public
Domain licenses. (Pure PD or MIT X11). Freecell Solver is such a case, and so
far it has been integrated into one shareware app and two open-source ones,
which I'm very proud of. It's also been used by another distributor or
service provider, possibly without acknowledging me. Someone reported that to
me as a copyright violation, and I said that they have every right to do so,
and that I don't mind. (I still don't). If Freecell Solver were GPL, it would
not have had half the popularity that it did.
I naturally have contributed to GPLed software, and actively use it. Even the
BSDs are using gcc and other GPLed or LGPLed software. (Some proprietary UNIX
vendors use gcc or other GPLed/LGPLed software as well, naturally).
One think positive that happened with BSD-style software is that it has been
integrated into proprietary software. For example, the FreeBSD TCP/IP stack
was incorporated into Microsoft Windows, and so enabled many people to
download and install Linux, whose TCP/IP stack is GPLed.
Shlomi Fish shlomif@...
Tcl is LISP on drugs. Using strings instead of S-expressions for closures
is Evil with one of those gigantic E's you can find at the beginning of