I'm sure most of you say the announcement yesterday that Sun will soon be open sourcing their JVM implementation under the Gnu Public License (GPL) v2 license. (Note that the Sun implementation, not the actual Java specs, are being open sourced.) At first I was surprised that they didn't choose an LGPL license, since there was a possibility people might be forced to use a shim in order to protect their intellectual property, but Dalibor Topic, lead on the open source JVM Kaffe (licensed under GPL) clarified this is not the case:
The GPL doesn't require that bytecode classes using a GPLd java.lang.Object be licensed under the GPL as well. That's because neither the bytecode nor the source code using it are derivative works of java.lang.Object, as all that ever ends up in them are interface names and constants, and those remain the same, regardless of the license of the java.lang.Object class. Those symbols are standardised through the JCP, and published as specifications. They are necessary for interoperability. Therefore, the symbol names and constant values can not be claimed as original works by a GPLd java.lang.Object, and accordingly don't meet the bar for copyrightability.
As an added bonus the Dancing Duke has also been open sourced. Party time!
It'll be interesting to see what happens to the GNU Classpath project now that a "fully compatible and complete" Java implementation will be available.