On Wed, Feb 06, 2013 at 10:52:17PM +0100, Mark Wielaard wrote:
On Wed, 2013-02-06 at 14:10 -0500, Tom Callaway wrote:
> On 02/06/2013 01:57 PM, Mark Wielaard wrote:
> > But I think that the intention of Oracle is for GPLV2 with exceptions
> > and ASL 2.0 to be a valid combination since that is what they use for
> > every project that combines GPLv2 (only) code with ASL 2.0 code (like
> > glassfish, netbeans, openjdk, etc.). So while choosing CDDL and ASL 2.0
> > in this case is technically a valid choice it seems nicer (more in line
> > with upstream) to leave the optional GPLv2 with exceptions choice intact.
> > If only because that is consistent with how other packages currently
> > do it and so you can more easily find this class of sources.
> Oracle might intend for that to be their choice of licenses, but it is a
> terrible one, since GPLv2 only (with or without the exception) + ASL 2.0
> results in something where no one (besides the copyright holder(s)) can
> actually comply with the license terms.
Hmmm, that interpretation is somewhat troublesome. Oracle didn't invent
that exception (it comes from libgcj and GNU Classpath) and the intent
was that code under GPL+exception could be combined with non-GPL code
like the ASL.
Is this interpretation specific to the way this package combines
GPLv2-only+exception and ASL2 code in the same source files?
I believe so, if I understand the facts correctly. The original
Classpath Exception was worded thus:
Linking this library statically or dynamically with other modules
is making a combined work based on this library. Thus, the terms
and conditions of the GNU General Public License cover the whole
As a special exception, the copyright holders of this library give
you permission to link this library with independent modules to
produce an executable, regardless of the license terms of these
independent modules, and to copy and distribute the resulting
executable under terms of your choice, provided that you also
meet, for each linked independent module, the terms and conditions
of the license of that module. An independent module is a module
which is not derived from or based on this library. If you modify
this library, you may extend this exception to your version of the
library, but you are not obligated to do so. If you do not wish to
do so, delete this exception statement from your version.
This does not apply to the situation where you are taking some
original Apache-licensed code and sublicensing it or incorporating it
into a larger or derivative work (however you want to think of it)
that is itself GPL-licensed. It applies to a situation where you have
a larger work composed of some parts that are GPL-licensed and some
separate parts that are under some other license presumed to be in
conflict with the GPL.
IOW, you seem to be reading "link" more broadly than the exception's
drafters could have contemplated. The reference to "independent
modules" seems significant.