I'm trying to provide more JRE support for use in my GWT programs. GWT works by cross-compiling Java source into optimized JavaScript. To do this it must have access to translatable source at compile time. "Translatable" in this case means you can't use anything which is not possible in JavaScript within a browser, like opening files, starting threads, native methods, etc. In some cases the Java code can be simplified to take advantage of the browser environment (like the fact that it's single threaded). For this reason, it's not sufficient to just drop in the Java source and use it.
GWT already provides provides pretty good coverage of the JRE using Google's own implementations (which are Apache Licensed). There are some special use cases I've encountered and I'd like to add more.
In the interested of efficiency, I would like to use the OpenJDK version of the classes as a starting point. I realize they are GPL, but in this case they have the "classpath exception" attached, which states:
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.
Based on this, I believe the modified OpenJDK source files would need to remain GPL+classpath exception.
I want to ensure that the library as a whole can remain Apache Licensed and that anyone using the library (which allows use of additional JRE classes in their GWT code) does not become subject to GPL in any way.
Am I correct in my interpretation here?
PS: I'm going to assume you're not a lawyer... so no need to state this ;-)
Additional question: GPL+classpath exception sounds a lot like LGPL. Obviously there must be a difference, can someone summarize the specifics?