From: "Gordon Hogenson" Date: Wed, 27 Apr 1994 11:51:13 -0700 To: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: Copyleft Confusion I've been reading newsgroups such as rec.games.programmer, alt.msdos.programmer, etc. and it has come to my attention that there is a lot of confusion about the copywrights involved with DJGPP. People want to know what the restrictions are for writing shareware or commercial software with DJGPP. Many of these people have read the 'copying.dj' file and are still confused. I think the problem is that there are *lots* of different copywrights (and copylefts) involved with DJGPP, and it's not easy to figure out what falls under what copywrights. Count them: there's the GPL, the LGPL, the IOStreams copywright, the libc.a BSD copywright, the special go32 copywright, the LIBGRX copywright, the MIT X copywright, etc. I agree that a dedicated person can look through the sources and see the copywrights, but the problem is that people who have just downloaded DJGPP for the purpose of evaluating are being frightened away by the complexities. These people don't make a distinction between "FSF sources" and "BSD sources" and don't realize that you don't have to worry about copylefted libraries unless you link with libgpp.a or libgpl.a. These people then say things on the newsgroups which frighten away potential users. The rumor is that you can't write games under DJGPP without giving away your source code... I think the copying.dj file needs something in CAPITAL letters that says very clearly that DJGPP comes with lots of libraries that have different copywrights. As it is, the "copying.dj" file refers to "FSF sources", etc., which the uninformed reader will naturally assume includes libc.a and possibly many of the libraries he or she may be considering linking with. This has to spelled out to even the most casual observer, because these 'casual' observers influence others via the net. Here's a message I sent to someone trying to sort it out. I'm posting it here so that I can be corrected if I have misled someone. ------------------------------------------------------------------------ To: Winarski Dale Robert On Apr 26, 11:19pm, Winarski Dale Robert wrote: > I'm getting a little confused here---the djgpp documentation says > "if you link in object modules (in libc.a) that are compiled from > GNU sources, then your entire program must be distributed under the > terms of the GPL..." and then it goes on to say "these modules are > restricted to the libgpl.a library". It says something like "If you link in object modules from FSF sources..." Libc.a is not an FSF source, since it is derived from the more liberally copywrighted BSD sources. In fact, the DJGPP people have worked hard to ensure that it is possible to develop commercial programs. The statement in the docs is correct, in that the only FSF library source is in libgpl.a and libgpp.a. Also, note that you mean the LGPL (Library GPL) not the regular GPL. But not everything in libgpp is copylefted. The IO Streams stuff is unrestricted. > You say the libraries are -lgpp and -lgpl. All these names are > confusing me! Which is which? -lgpp includes the libg++ library, libgpp.a. I don't know what exactly is in the libgpl.a library, although it is intended for C routines that are GPL'ed. As I understand it, it is a small library that is rarely used. > Also, the djgpp docs say this includes the streams classes---aren't > the streams classes essential? Use of the IO Streams library is unrestricted due to their essential nature. I don't know where you are looking in the docs, but my (printed) manual for the GNU IOStreams library has the copyright on page 2 or so, which says use is unrestricted. I *think* it is possibly to explicitly link in the IO Streams library by itself, and thus make certain that you are not using copylefted stuff. > Holy moly my head is spinning... Yeah, there are several different copywrights on the various libraries. But, the docs were just trying to say that you don't have anything to worry about unless you link in libgpl.a or libgpp.a and use more than just the IOStreams stuff. I think I'll bug the DJGPP people to make things a little more clear... The copywrights are always very clear *in the source code* of the libraries. So if you're still worried, you should consult the source. I spent some time investigating all this, since I'm writing a shareware game... Gordon -- ---------------------------------------------------------------- Gordon J. Hogenson Tel. (206) 522-5664 home email: ghogenso AT u DOT washington DOT edu (206) 685-2951 work finger: gordon AT yrd DOT chem DOT washington DOT edu FAX: (206) 685-8665