delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/04/27/15:18:52

From: "Gordon Hogenson" <gordon AT yrd DOT chem DOT washington DOT edu>
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 <dale AT amisk DOT cs DOT ualberta DOT ca>

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


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019