Dear all,
I am making a RPM package for javax.el-api, however I am not sure which license should I use for it. From page http://uel.java.net/, it claims it uses license CDDL and GPLv2. Should I add ASL 2.0 for it?
Now I am using "(CDDL or GPLv2) and ASL 2.0".
---- Best Regards, David Xie (谢凌) Founder of ScriptFan Technology Community Manager of Xi'an GDG (Google Developer Group) http://about.me/davidx
Quoting David Xie (2013-02-06 16:53:57)
Dear all,
I am making a RPM package for javax.el-api, however I am not sure which license should I use for it. From page http://uel.java.net/, it claims it uses license CDDL and GPLv2. Should I add ASL 2.0 for it?
Now I am using "(CDDL or GPLv2) and ASL 2.0".
To give more context, this is related to a review we are working on[1]. Basically all source files have a CDDL+GPL license header with ASL 2.0 being listed because they apparently based their code on apache code. I uploaded example header to fpaste[2].
[1] https://bugzilla.redhat.com/show_bug.cgi?id=907909 [2] http://paste.stg.fedoraproject.org/3693/
On 02/06/2013 11:13 AM, Stanislav Ochotnicky wrote:
Quoting David Xie (2013-02-06 16:53:57)
Dear all,
I am making a RPM package for javax.el-api, however I am not sure which license should I use for it. From page http://uel.java.net/, it claims it uses license CDDL and GPLv2. Should I add ASL 2.0 for it?
Now I am using "(CDDL or GPLv2) and ASL 2.0".
To give more context, this is related to a review we are working on[1]. Basically all source files have a CDDL+GPL license header with ASL 2.0 being listed because they apparently based their code on apache code. I uploaded example header to fpaste[2].
The problem that I see here is that GPLv2 is incompatible with ASL 2.0. It is not possible to be in compliance with those licenses simultaneously.
Apache thinks that ASL 2.0 is compatible with CDDL (see: http://www.apache.org/legal/3party.html#category-b ). So, for Fedora, while "(CDDL or GPLv2) and ASL 2.0" is technically correct, it is impossible for Fedora to ever choose GPLv2, so the simpler license tag would be:
CDDL and ASL 2.0
~tom
== Fedora Project
On Wed, Feb 06, 2013 at 11:31:23AM -0500, Tom Callaway wrote:
So, for Fedora, while "(CDDL or GPLv2) and ASL 2.0" is technically correct, it is impossible for Fedora to ever choose GPLv2, so the simpler license tag would be:
CDDL and ASL 2.0
I think (pedantically) the correct license tag should be: (CDDL or GPLv2 with exceptions) and ASL 2.0 That is at least what other Glassfish derived packages use since it isn't "pure" GPLv2 only.
Cheers,
Mark
On 02/06/2013 01:27 PM, Mark Wielaard wrote:
On Wed, Feb 06, 2013 at 11:31:23AM -0500, Tom Callaway wrote:
So, for Fedora, while "(CDDL or GPLv2) and ASL 2.0" is technically correct, it is impossible for Fedora to ever choose GPLv2, so the simpler license tag would be:
CDDL and ASL 2.0
I think (pedantically) the correct license tag should be: (CDDL or GPLv2 with exceptions) and ASL 2.0 That is at least what other Glassfish derived packages use since it isn't "pure" GPLv2 only.
Yes. But it doesn't change the analysis. :)
~tom
== Fedora Project
On Wed, Feb 06, 2013 at 01:36:37PM -0500, Tom Callaway wrote:
On 02/06/2013 01:27 PM, Mark Wielaard wrote:
On Wed, Feb 06, 2013 at 11:31:23AM -0500, Tom Callaway wrote:
So, for Fedora, while "(CDDL or GPLv2) and ASL 2.0" is technically correct, it is impossible for Fedora to ever choose GPLv2, so the simpler license tag would be:
CDDL and ASL 2.0
I think (pedantically) the correct license tag should be: (CDDL or GPLv2 with exceptions) and ASL 2.0 That is at least what other Glassfish derived packages use since it isn't "pure" GPLv2 only.
Yes. But it doesn't change the analysis. :)
By my standards of pedanticism it should just be CDDL.
- RF
On Wed, Feb 06, 2013 at 01:36:37PM -0500, Tom Callaway wrote:
On 02/06/2013 01:27 PM, Mark Wielaard wrote:
On Wed, Feb 06, 2013 at 11:31:23AM -0500, Tom Callaway wrote:
So, for Fedora, while "(CDDL or GPLv2) and ASL 2.0" is technically correct, it is impossible for Fedora to ever choose GPLv2, so the simpler license tag would be:
CDDL and ASL 2.0
I think (pedantically) the correct license tag should be: (CDDL or GPLv2 with exceptions) and ASL 2.0 That is at least what other Glassfish derived packages use since it isn't "pure" GPLv2 only.
Yes. But it doesn't change the analysis. :)
Agreed :) If you strip the exception and the CDDL then you are still just left with the GPLv2 and ASL 2.0 choice which Fedora doesn't want.
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.
And pedantically you might have to actually strip the exception and the GPL header from the source files if you don't want them. At least that is what the headers say.
Cheers,
Mark
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.
~tom
== Fedora Project
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?
In other cases (and the original intent I believe) the ASL source code is in separate independent files/packages from the GPL+exception source code. That hopefully does qualify as "GPLv2 with exceptions and ASL2".
Thanks,
Mark
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 combination.
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.
- RF