GPL with the Classpath exception - clarification needed

Philippe Verdy verdy_p at
Wed Mar 25 07:29:30 UTC 2009

> De : John Cowan [mailto:cowan at] 
> Envoyé : mercredi 25 mars 2009 08:08
> À : Blake White
> Cc : John Cowan; license-discuss at
> Objet : Re: GPL with the Classpath exception - clarification needed
> Blake White scripsit:
> > But the Classpath library says that "If you modify this 
> library, you 
> > may extend this exception to your version of the library, 
> but you are 
> > not obligated to do so."
> > 
> > So by that line, if I'm a third party and I modify the 
> library, can't 
> > I extend the exception to my modified library, effectively making 
> > "this library" now mean the modified version?
> Yes, you can, and that helps your downstream users -- but it 
> does not help you.  The GPL still forbids you to distribute 
> proprietary software with your modified library in it.
> You could in theory escape this by collusion.  Bob could take Alice's
> GPL+CP library, modify it, and pass it under GPL+CP to Charlie -- who
> makes a deal with Bob to take Bob's proprietary software and 
> distribute it it under his own name but for Bob's benefit.  
> Judges, however, look with great disapproval on such scams -- 
> they will interpret the terms according to Alice's intentions.

Hmmm... What are Alice's intentios regarding the proprietary code made by
Bob? As long as this proprietary code does not touch Alice's code, it can be
redistributed by Bob under his own proprietary licence, compeletely
separately from the GPL'ed part provided by Alice: Alice is not claiming
rights to Bob on this part covered by the exception, and not even to the
downstream users of the code covered by this exception.

Alice just want to make sure that the GPL'ed part will remain free:
downstream users are then allowed to use and modify this part under the GPL,
or allowed to not use it and still being allowed to use the proprietary code
only. No one is forced to use the GPL code in association with the
proprietary code. However if one chooses to use it and modify it, for
example to link the GPL'ed part with another proprietary code, and then
redistribute the result, what Alice's licence says is that the modified
GPLed part must remain free and covered by the GPL with the same CP
exception (so that it will even be possible to restore the initial
proprietary code or to remove it from the links needed in the ClassPath by
the GPL'ed part).

Anyway, I don't like the ClassPath exception: it is badly formulated, and
too easy to bypass (there are technical solutions for this, based on the
Java language itself, and the public ABI to the JVM and public API of the
ClassLoaders, that allow to ignore or force another interpreation of the
classpath, so that you can link the same program to absolutely anything,
without using the mecanisms described in the ClassPath Exception). Once
again the LGPL is miuch clearer and more solid (and more difficult to
bypass, except by GPL-only or LGPL code replacing the proprietary linked

More information about the License-discuss mailing list