Misunderstanding GPL's terms and conditions as restrictions

Les Mikesell lesmikesell at gmail.com
Mon Jul 28 04:46:03 UTC 2008

Alexandre Oliva wrote:
>> Alexandre Oliva wrote:
>>> John A. Hacker develops, from scratch, a program that contains two
>>> source files: lib.c and main.c.  [...]  John A. publishes the
>>> whole, named gnothing, under the GPLv2+, and never publishes lib.c
>>> in any other way.
> [...]
>>> Evelyn D. Scent maintains a non-Free fork of bsdown called macrash, so
>>> she takes this new release containing lib.c, merges the add-on
>>> features she maintains, and publishes a new release, under the usual
>>> restrictive EULA, known to be compatible with the 3-clause BSD
>>> license.
>> No reason to ask - the people using the alternative licenses have no
>> need to agree to the GPL terms for the work as a whole that includes
>> GPL-encumbered parts.
> And yet in this same e-mail you were claiming that the GPL would
> somehow deprive people of the additional permissions granted by the
> mBSD header, because of a misreading of section 2 that, per what you
> say above, you don't really believe.

You only have to agree to the GPL requirements if you need the 
permissions for modification and distribution the GPL grants. If you 
don't agree, you aren't bound by its term.  If you've received a work 
containing some GPL-only and some dual-licensed parts and have no need 
to distribute the  GPL-only parts you might ignore the GPL, pick out a 
dual-licensed piece, and build/distribute a work containing it that the 
GPL restrictions would prohibit.

However, if you also modify or redistribute the GPL-only parts of that 
work you must accept the GPL terms to do so.  Then there is no reading 
of the GPL that could avoid the conclusion that those terms require you 
to apply the GPL to all parts of any derived works, no exceptions, or 
you don't have permission to copy/modify any.

>> And the FSF does routinely claim that a dependency on
>> a non-GPL-compatible library is a violation if the functions are
>> unique and no GPL-compatible implementation exists.
> Show me.  I'm pretty sure you're getting it backwards: the case you
> cited is one of GPLed library and derived program distributed under an
> incompatible license.  We're talking about GPLed sources derived from
> non-GPLed libraries.

The actual problem in that case was with a different library, RSAREF, 
covered by the now-expired RSA patent.  It was considered 'munitions' at 
the time and was export-restricted and not under the GPL.  The main work 
was released in source and might have been GPL'd or dual licensed but 
could not because of this library dependency.   And because gmp was 
under GPL at the time (later changed to LGPL, probably because of the 
bad publicity from interfering with free source distribution) it could 
not be used with the non-gpl'd main program.  It was impossible to 
re-implement the needed functions from RSAREF because of the patent, so 
the only solution was to re-write a functional clone of gmp called fgmp, 
eliminating the GPL problem.  Now for the really strange part: no one 
ever actually used the fgmp library because gmp performed better. 
However, since it existed and it was the linking user's choice which to 
use, it was no longer possible to claim that the main work was derived 
from the gmp library.

    Les Mikesell
     lesmikesell at gmail.com

More information about the fedora-list mailing list