I don't imagine for a moment that I'm alone this morning in trying to figure out the implications of Sun's decision to license and distribute their implementation of Java (SE, EE, and ME) under the Gnu General Public License (version 2).
Practically, it means that the code that makes up the various editions of the Java platform will be free (as in speech). I say "will be;" every line of every module must be vetted or incompatible copyrights, and those issues will have to be resolved before the code itself can be released under the GPL. Where the issues can't be resolved, Sun will release the modules as binary plug-ins. Sun expects the process to be done in 2007.
My initial reaction is that Sun is trying to get rid of any barrier to adoption on the part of the Linux vendors. By employing the GPL, Sun's essentially saying that there's no reason for Linux to ship without a Java implementation. Of all of the reasons Sun cites for going with the GPL, I think this is the most significant: Linux distros will be able to qualify and ship with the appropriate Java implementation as a default, thus broadening the footprint of the Java platform for developers.
Java, after all, is fighting a pitched battle to be the platform for the web. It's competitors are .NET (and there's no real hope of increasing Java's footprint on Microsoft's server operating systems) and the ever-mutable LAMP (Linux, Apache, MySQL, and Perl/PHP+various substitutes) stack. One look at O'Reilly's latest state of the computer book market tells you what you need to know about the rise of LAMP and the decline of Java when it comes to releasing web-architected applications. By (hopefully) shipping side-by-side with LAMP (and Mono, for that matter), Sun probably hopes to slow the defections and bring more developers back into the Java world.
The flip side of this, of course, is the health of Java itself. It's clearly an incredibly capable platform, but it would seem that to truly take advantage of the dynamics of the open source movement, you need to play nice with the GPL. The GPL is predominant among SourceForge's most active projects, so Sun has taken to heart the idea that developer community only forms around the license that afford the most transparency, reciprocity, and protection (as well as the broadest possible target platform).
In the end, I suppose I agree with Tim Bray, the really big, long-term effects of this decision aren't easy to predict. After all, Java now "behaves" like Linux; one of the Java implementations could be forked to go into some very un-traditional directions, and who knows what kind of markets that might open up? As with Linux, anyone can build a support and maintenance business around a GPLed Java. Sun, no doubt, is betting that they can fit that bill better than anyone, but that's still up to the customer.
I suppose it's safe to say that a lot of interesting stuff will be happening here.
Tags: Sun, Java, FSF, FOSS, GPL, open source, free software
One reply on “Sun Starts Licensing Java Under GPL”
Is this even possible? If the jvm is GPL, then any code which links the jvm, which would be every java program in the universe would necessarily become GPL! Wouldn't that cause mass riots in the streets from the many proprietary Java-app vendors?
I could see Java being relicensed under the LGPL, and maybe there's a clause or checkbox provision in the GPL2 that implies LGPL, but just on the surface of what's being reported, it seems too incredible; this is either the most significant news in computing since Hollerinth, or it's a hoax.