This story was bubbling around the j.n forums yesterday, and there has been some discussion about what the license for use with the FLOSS Java will be.
While the question of what does the GPL mean if you extends Object.class which may be GPL it seems there is another case to be made here:
What if the core java.* and javax.* classes became LGPL and the runtime became GPL? I think this is an interesting thing to discuss for several reasons:
First, the GPL for the core runtime would in some ways “protect” Sun’s investment in their JRE. Unlike less contagious licenses, it would guarantee that nobody takes the JRE, enhances it and packages it as a product outside of Sun’s domain. If Sun is committed to open source Java, then the re-rolling of external contributions into the runtime won’t affect them in the future. Additionally, the LGPL on the core library means that external optimizations and bug fixes will be available to merge back into the core.
I know the GPL is seen as a “political” license, but it seems to me the best way for Sun to ensure that they don’t see, say, Redmond, lift the JRE code and run with it in a radical new direction is to adopt a contagious license. LGPL of the rt.jar doesn’t affect the state of ISVs and developers who just write Java apps, any more than glibc does people who write Linux apps. The primary question here, however, is how many customers does Sun have that include the core runtime tightly bound into their products on a License from Sun for whom this would be a problem. My guess is there are likely one or two who might take issue with this approach.