LGPL vs. GPL + Classpath Exception

Roger Fujii rmf at lookhere.com
Sat Jun 9 09:19:50 UTC 2007


Matthew Flaschen wrote:
> Roger Fujii wrote:
> 
>>I cannot see how you can write a java class that is not covered by the GPL with
>>a GPLed java.lang.object as *ALL* java classes are subclassed from
>>java.lang.object.
>>As I said before, this makes it impossible to make an independent module
>>(unless you compile it with a non-GPLed java.lang.object elsewhere). 
> 
> I see your point.  You're correct that the exception is poorly written.

It may be well written depending on what the end goals are.. :)

>  However, I would interpret "not derived from or based" (in the
> definition of "independent") as something like "written without the
> inclusion or use (besides linking) of GPL code".  For instance, the
> program may only be written with reference to the Sun API.

But you have no basis saying this.   It makes absolutely no sense to
say the GPL has one definition of "derived", and the exception to it
uses another, completely unwritten definition.

> I agree this is contrary to the FSF's interpretation of what constitutes
 > derivation under copyright law.

I also think it's contrary to most people's understanding of a GPLed library.
Using your definition, there's no reason to LGPL glibc, as the API for most
system calls was already defined (granted that there are some glibc function
that are new, but is irrelevant to the discussion).  I think most people would
agree on the principle that calling a GPLed library means that the caller
must be licensed using GPL for distribution.  Now whether they agree WITH
the principle is another matter entirely :).

I only said something because of the original question (what's the difference
between GPL + classpath/LGPL?) and the responses given was in odds with the
terms of the license, and since this IS a license list, one would hope that
one would get a proper feel of a license by reading the responses.  When I
see things like:

    It's one thing to say that A depends on B if B is the only thing
    that A interfaces with in that particular fashion.  But if there also
    exist B', B'', B''', all providing the same interface, then it's another
    story.  This is what underlies the "system libraries exception" in GPL2.

one wonders if people truely understand what the licenses say.  For the record,
the library exception from the GPL (3c):

    However, as a special exception, the source code distributed need not
    include anything that is normally distributed (in either source or binary form)
    with the major components (compiler, kernel, and so on) of the operating system
    on which the executable runs, unless that component itself accompanies the
    executable.

Without this exception, it would be impossible to distrubute GPLed binaries with
source for a proprietary operating system (which was the case before linux) as
the rest of the non-exceptioned GPL requires you to publish source for and relicense
for distribution everything that makes the program operational.  As most people
have no rights to the source or licensing provisions of the base primitives,
no one would be able to fulfill the GPL without this provision.   It has *nothing*
to do with what the interfaces are.

-r



More information about the License-discuss mailing list