So, the news is official: (and yes, I agree with IBM’s question as to why Sun didn’t join one of the community projects focused on delivering open source implementations of Java SE, ME and EE instead of trying to build their own community.)

Sun has decided to use GPLv2 for their reference implementation of Java ME, and the GPLv2+classpath exception for the Sun reference implementations of Java SE and Java EE. Sun’s Java EE implementation (GlassFish) was previously under the CDDL, and the GPLv2+classpath exception license is additional (i.e. it does not replace the CDDL for GlassFish).

They have a very detailed FAQ here. Three very interesting points after reading the FAQ:

[1] Sun still requires contributors grant Sun joint ownership of any IP that they contribute to the Sun owned ‘communities’. (More here)

[2] Sun is still going to provide commercial versions of Java SE & Java ME implementations. And just for kicks, Sun will allow 3rd parties to make modifications to the Sun owned implementations of Java (or is that community owned? I’m confused) without having to put these modifications back into the open source community. Score one for the community, yeah!! And yes, btw, this is made possible by Sun’s requirement of joint control of IP from contributors. (More here)

“Commercial source code licensees may optionally buy additional services and gain additional rights, including: … The right to make modifications to the source code without putting those modifications back into the open-source code commons. “

[3] Sun believes that they can attract customers and drive more revenue by using the “open source” tag than they’ve been able to thus far. (More here)

“…In order to gain the benefits of commercial support, and predictability, these customers may choose to use Sun’s commercial distribution of the JDK or JRE in conjunction with a support contract. However, they would not consider the commercial product if the open-source version were not available.(emphasis added)

Sun gets the glowing press and keeps control of Java, what more could they ask for?