dl@ROCKY.OSWEGO.EDU (Doug Lea) (06/10/89)
One of Len Tower's postings gave a simple but terse answer about how the GNU Public License (GPL) affects the use of GNU libraries and other software tools. Since this appears to have been overlooked by some, let me restate it just a bit more discursively. As the primary author of the GNU C++ library (libg++), I think it's worth being as clear as possible. While these are my own words, I am confident that I am not misrepresenting FSF. The GPL is a distribution agreement that makes software free in a manner that transitively (from holder to holder) keeps it free. (I believe that its general form represents the only policy anyone has ever formulated that has this effect.) Suppose you `add value' to some GNU software. This could take many forms, but in the case of libraries like libg++, this almost always means that you write some executable program (call it `ABC') that uses the library headers, archived object files (libg++.a), and/or other parts of libg++. The terms for distributing ABC must now satisfy two conditions: (1) the GPL covering the GNU base (i.e., keeping it free), and (2) whatever conditions apply to your `added value' part. Pretty simple, actually. Since FSF doesn't know about, and has no control over your conditions, little else can be said in general. But it is worth mentioning the boundary points: If the conditions applying to the added value part are the same as the GPL (e.g., you adopt a license identical to the GPL, substituting your name for FSF throughout), then everything is very simple. FSF actively encourages this kind of thing. At the other extreme, if you try to adopt conditions stating that only the executable image of ABC is to be distributed, then this directly contradicts the GPL. Thus, you cannot use GNU libraries if you would like to claim such a condition. If you wish to adopt conditions falling between these endpoints, then you have to use a bit of common sense (or consult a lawyer if you really must) to determine their effect. Some people might think that the GNU library use rules are more restrictive than necessary. Why not specifically exempt libraries from FSF distribution policies? Well, for one, it would imply that anyone could take any piece of GNU software at all (e.g., gcc or emacs), convert all of it (except `main') into an archive instead of a stand-alone program, write a different `main', link it to the archive, and then sell it. Such a sleazy tactic would be a thoroughly permissible way to circumvent the GPL. If this were allowed, then the GPL, and the FSF, might as well not exist. (You might be saying to yourself, `That doesn't sound too horrible; people could still get gcc, etc., directly from FSF, so there would be no motivation for doing this'. For good rebuttals, see RMS's discussion of proprietary resale of X-windows and related issues in his recent info-gcc postings. The `make it free; keep it free' transitive consequences of the GPL really are important for the continued success of FSF.) Moreover, this kind of exemption would contradict the basic notion of fairness underlying any form of copyright (emphatically, including FSF copyright) resulting in the rule that works shall be routinely, correctly attributed to their authors. This is, of course, an issue completely distinct from whether such authors need be otherwise compensated for such works or use. -Doug
dld@F.GP.CS.CMU.EDU (David Detlefs) (06/12/89)
Doug Lea posted recently explaining the rationale behind considering software that uses GNU libraries derivatives works of those libraries, subject the the GPL. His fairly persuasive argument, if I may summarize, is that if they were not, someone could take the source to Gnu-emacs (for example), make all but the .c file containing "main" into a library, rewrite "main," and sell it. Personally, I think the good of humanity would best be served if libg++ and other GNU libraries could be considered "tool-like", so that use of libg++ was equivalent to the use of g++, gcc, gnu-emacs, bison, etc. (I would be happy to discuss why I think this if a gnu.politics-equivalent ever materializes.) However, I must admit that Doug's is a fairly convincing argument. I am posting to suggest that there is a possible compromise position: what if the GPL were modified so that people creating proprietary works using GNU libraries were required to have customers sign a form saying something like: I realize that the software I am about to buy uses Free software. I have read the accompanying bulletin "Great Software You Can Get For Free!", and am aware of the 800 number I can call to discuss with Free Software experts whether the software I am about to buy is a significant innovation over something I can get for free. Perhaps the FSF could require a small fee be sent in by the seller for with each such charge form to defree the cost of the 800 number. Perhaps the FSF could distribute a list of software products that they would describe as "acceptably different" and another list of "blatent ripoffs" in the bulletin the release form encourages people to read. I realize that this is perhaps unwieldy, but it's an idea... -- Dave Detlefs Any correlation between my employer's opinion Carnegie-Mellon CS and my own is statistical rather than causal, dld@cs.cmu.edu except in those cases where I have helped to form my employer's opinion. (Null disclaimer.) --