🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.misc.discuss
Article #72567

GPL and Public Domain

#72567
From: Craig Burley
Date: Mon, 27 Jan 1992 18:34
126 lines
8264 bytes
One thing I think people should be aware of in this long and frequently
redone discussion of the merits or demerits of the GPL is that the claim
that "the GPL doesn't let me make code 'free' like public domain" is
misleading.

The "problem" with the GPL does not specifically have to do with any
restrictions on code protected by it.  The GPL exists specifically to
_ensure_ the "freedom" of the code, its source, and those using it to have
access to said code.

The "problem" with the GPL is that there are people who refuse to abide by
these free terms, and this can impinge on the ability of others who wish to
incorporate GPL code and their own in a linked executable.

However, the problem lies almost entirely with those who refuse, down the
line, to abide by the GPL "freedom requirements".

If this seems strange to you, consider: if a software corporation had as
a requirement that any code written for hire or in any way used by them in
their software _not_ be public domain, would that make the placement of
code in public domain "less free" than, say, under some sort of license
or non-published basis?  Answer: no.  It's the problem of that corporation,
and the people who wish to provide software to it, that, say, a public-domain
C compiler couldn't be used.  Attempting to persuade people coding new
applications for public-domain release that "they shouldn't release to the
public domain because it won't be as free as <xyz license acceptable to
given software corporation>" would clearly be absurd.

Basically we have the same situation with the GPL.  Just as placing
a work in the public domain effectively _does_ place some restrictions on
it (as is necessary to make the placement effective), so does placing a
work under the GPL.  The GPL isn't excessively restrictive simply because
various firms or people refuse to work with GPL-protected code; that is
their problem.

Any license's restrictiveness should be looked at in terms of the license
itself, not the population that is or is not willing to bear its burden.
In effect, "public domain" is another form of license -- a blanket license
supplied and enforced (in some manner) by various governments.  It is not
universally acceptable, so claiming the GPL is too restrictive simply because
_it_ is not universally acceptable serves to obscure the issue.

The GPL is somewhat more restrictive than the PDL (Public Domain License)
because (in summary) it requires that: code protected by it cannot later be
protected by a more stringent/restrictive license; code protected by it
must be provided, or accessible, in source form.  Both of these restrictions
serve primarily to enforce the _freedom_ of the code and its users by
restricting the ability of people to _increase_ restrictions otherwise.

Some people might say that having to provide source is too restrictive.
Perhaps for some cases it is.  But the means of restriction is sufficiently
flexible, IMHO, to handle most or all such cases except where the purpose
of restricting source distribution is basically to prevent the public at
large from knowing how to change the operation of the product.  An exception
I might agree with, for example: code that operated a dangerous device that
itself was accessible to "ordinary people" (like a microwave) but where the
code performed actions critical to keeping the device operating safely.  Such
an example is a good one where distributing source might be unwise; it might
encourage people to try and add a "new feature" to the device by modifying and
rebuilding the software (and perhaps blowing new ROMs), risking making the
device run outside safety margins.  On the other hand, the chances that
somebody might find a deadly bug in the code (and would not have been able
to see it without the source being distributed) goes up by one or more orders
of magnitude (and the very fact that the source is distributed might encourage
the engineers to be a bit more careful? :-).

So, just as I might say "I refuse to use public domain code because I can't
release it and claim it's mine; I can do that, given appropriate license
negotations, with licensed code", and leave it to others who wish to provide
me with code to denounce public-domain as a "restrictive" means for releasing
code, there are many people who refuse to use the GPL because they can't
_increase_ the restrictions on code, and leave it to others who wish to
supply them to denounce the GPL accordingly.  (And those "others" are the
ones who most often publicly object to the GPL.  I've giving them the benefit
of the doubt that they aren't secretly wishing to release GPL-protected code
under _more_ restrictive licenses.)

BTW, my interpretation of the GPL has always been that I could, if I wished,
place, say, the entire sources of my fortran front end in the public domain,
even though they are (or will be) linked with GPL-protected sources for the
gcc back end and distributed as an executable (a fortran compiler).  I believe
I could do this even if I did the linking and distributing of said executable
myself, as long as I distributed the sources to all the code (including my
fortran front end) as required by the GPL.  (And, of course, placed clear
notices as to which code was protected by which mechanisms.)

Now, I won't do this, because even though placing my fortran front end under
the GPL will likely prevent some potential compiler vendors using it, the
alternatives I know of all seem to permit the vendors to use it and distribute
the results in such a way that I could no longer help maintain in an
independent fashion and/or that others could not share the improvements made
in it for those vendors' products.

That doesn't mean the GPL is more restrictive in a bad sense.  It just means
there are people who want to release software more restricted than permitted
by the GPL (and perhaps even than PD), and that's really their problem, not
mine.  Although this sentiment might generally apply to all licenses, the GPL
is one that, fairly uniquely, offers (and practically ensures) freedom to the
code it protects and the users that use that code.  The restrictions it has
serve primarily to uphold those freedoms in today's legal context.

So, instead of objecting to the GPL on the grounds that PD is "freer", I
object to those who refuse to use GPL-protected code because it is is "too
free" -- they are the ones who are causing the difficulties, and (supposedly)
forcing various people to complain that the GPL "isn't free enough".

This isn't to say the "problem with the GPL" is solved -- if you really want
to write code that is capable of being legally wrested away from you by
modifying it in trivial ways, you indeed can't use GPL-protected code in it
-- but your problem might or might not be solved by the availability of
equivalent PD-protected code, depending on who you're going to be dealing
with.

Further, there are probably many organizations that don't yet recognize the
GPL as equivalent, to the extent they care, to PD code, and hence might
permit acquisition of PD but not GPL code via certain channels.  Again, it
is up to those organizations to change.

I hope I've been technically and legally accurate in this post -- but you're
on your own, because I'm not a lawyer, nor an FSF rep.  I am interested
in any definitive FSF answers on whether the GPL permits the scenario I
described above.
--

James Craig Burley, Software Craftsperson    burley@gnu.ai.mit.edu
Member of the League for Programming Freedom (LPF)
Technical Details
Message-ID: <BURLEY.92Jan27133449@geech.gnu.ai.mit.edu>
Path: arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!bu2.bu.edu!bu.edu!ai-lab!life!burley

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 1025b4,43e2571579f01df0,start
X-Google-Attributes: gid1025b4,public
X-Google-ArrivalTime: 1992-01-27 10:54:27 PST
Path: arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!bu2.bu.edu!bu.edu!ai-lab!life!burley
From: burley@geech.gnu.ai.mit.edu (Craig Burley)
Newsgroups: gnu.misc.discuss
Subject: GPL and Public Domain
Message-ID: <BURLEY.92Jan27133449@geech.gnu.ai.mit.edu>
Date: 27 Jan 92 18:34:49 GMT
Sender: news@ai.mit.edu
Distribution: gnu
Organization: Free Software Foundation 545 Tech Square Cambridge, MA 02139
Lines: 126