Path: utzoo!mnetor!tmsoft!dptcdc!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!ROCKY.OSWEGO.EDU!dl From: dl@ROCKY.OSWEGO.EDU (Doug Lea) Newsgroups: gnu.g++ Subject: GNU Libraries and the GPL Message-ID: <8906101209.AA04465@rocky> Date: 10 Jun 89 12:09:02 GMT Sender: daemon@tut.cis.ohio-state.edu Reply-To: dl@rocky.oswego.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 67 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