Loading ...
Sorry, an error occurred while loading the content.

The GPL and the Hacker's Ethics

Expand Messages
  • Shlomi Fish
    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
    Message 1 of 1 , May 12, 2005
      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
      their freedom.

      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

      Shlomi Fish shlomif@...
      Homepage: http://www.shlomifish.org/

      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
    Your message has been successfully submitted and would be delivered to recipients shortly.