[e-lang] Licensing issues Was: Sun Open Sources Java. Towards Joe-E Light?
constantine.plotnikov at gmail.com
Tue Nov 14 07:19:05 CST 2006
I'm not sure that the license would allow for it in a useful way (i.e.
without licensing Joe-E under GPL). From their FAQ, J2SE has modules
under two licenses:
1. GPL v2
2. GPL v2 + classpath exception
Second license is said to be used for public API and first one for
internals (after they will fix the link, more information should be
available at http://www.sun.com/software/opensource/java/faq.jsp#g23).
This is a bit paradoxical situation because the module with weaker
license depends on the module with more restrictive license. So if you
are permitted to link to API module without restrictions, you might be
forbidden to link directly to module on which API module depends
(unless you license the entire program under GPL v2).
This makes interesting implications. For example, lets consider the
case of three modules
1. A (GPL v2)
2. B depends on A (GPL v2 +CPE)
3. C depends on B (GPL v2 +CPE)
If you do not like API of module C, it is possible to replace it with
module C' that has new API. And relicense it under GPL v2 +CPE.
However if you will replace module B with some module B' this new
module has to be licensed under GPL v2. If you modify module B to use
new functionality of module A that was not originally used by module
B, you might have to license module B' under GPL v2 too.
In that way Sun prevents forking and maintain control over its Java SE
implementation. Currently only Sun can release new GPL v2+CPE modules
that directly depend on GPL v2 modules.
If new public API depends on internal JVM interfaces, it have to be
released under GPL2 or given to Sun for releasing it under GPL2+CPE.
I'm not saying that Joe-E is possible only under GPL v2 license.
However this way of licensing Java SE creates a licensing minefield
and I would suggest to wait until the issue is clarified.
Also see the answer
http://www.sun.com/software/opensource/java/faq.jsp#g19 that somewhat
supports analysis above.
More information about the e-lang