Sun Open Sources Java under the GPL

Well, it's official and the rumors were true. Sun has released Java under the GPL. From the press release:
Santa Clara-based Sun said it is making nearly all of Java's source code – excluding small pockets of code that aren't owned by Sun – available under the GNU General Public License. The same type of license also covers the distribution of the core, or kernel, of the popular open-source operating system Linux, which competes against Microsoft Corp.'s Windows operating system.
All the Java source code is expected to be released by March 2007, Green said. The move covers all Java technology, which includes software that runs on handheld devices, personal computers and servers.

As I mentioned previously, I guessed that this would be released under the CDDL (as did many others). Sun is sending a huge message by using the GPL here. They have been supporters of Open Source for a while, but their occasional waffling really tarnished their rep in the Open Source community. I hope this move serves to get them the recognition they deserve. Of course, I hope it also helps them prosper, which will further serve to solidify Open Source in the enterprise and commercial worlds.
You may be interested in what this release actually covers. It's stock GPL2 for J2SE, J2ME, and J2EE code and then GPL2 + Classpath exception for the SE libraries. This basically means you are still 100% free to write closed source commercial applications that run in the Java VM. So what are the repercussions of this? First, being able to yum install java or apt-get install java will be really nice. That's just a small bit though. I'd guess Sun will dual license the code for those who are interested, so I'd not expect their direct bottom line to change immediately. That being said, I'd expect uptake of Java to increase substantially. It already powers a huge array of devices, but I'd expect that to increase dramatically. In the end, that's good for Sun. I'd also expect the number of Open Source projects that use Java to sky rocket. Sun will get the bits of innovation back for use, developer concerns over the license is gone and the JCP still controls the direction of Java. In the end, Sun still gets to decide what “Java” is (remember, you can fork without issue, but you can't call that fork “Java”). Moving out longer term is a little tougher, but I'm extremely interested in watching this one progress. For instance, what will the impact on the uptake of .NET be?
I find it intriguing to see that Jonathan Schwartz admitted that the recent Microsoft Novell deal did impact this decision. From that linked post:
And in closing, I want to put one nagging item to rest.
By admitting that one of the strongest motivations to select the GPL was the announcement made last week by Novell and Microsoft, suggesting that free and open source software wasn't safe unless a royalty was being paid. As an executive from one of those companies said, “free has to have a price.”
That's nonsense.
Free software can be free of royalties, and free of impediments to broadscale, global adoption and deployment. Witness what we've done with Solaris, and now, what we've done with Java. Developers are free to pick up the code, and create derivatives. Without royalty or obligation.
Those that say open source software can't be safe for customers – or that commercially indemnified software can't foster community – are merely advancing their own agenda. Without any basis in fact.
They're also fighting a rising tide.

To me, that means the CDDL may very well have been the leading candidate before the MSFT/NOVL deal. A bit of a silver lining there. To me though it also means that we may have a new Sun on our hands. One that has been forming for a while, but has finally got the conviction it needs to compete.
Here some additional reading material that I highly suggest if this topic interests you:
James Gosling
Tim Bray
Alan Hargreaves
, , , , ,

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: