OK, I know that Sun Microsystems has already open-sourced the Java EE5 application server code under the auspices of its GlassFish project, but the breaking news is that the full Java source code is to follow next. Sun has announced that the Java code will be covered by the General Public License 2 (GPLv2) which is great news for all you Linux developers out there who have been less than inspired by the Sun ‘Community Development and Distribution License.’

Even more so, I suspect, because I am led to believe that Sun is to use the classpath exception license addition to allow programmers using open source Java to use a different license for their applications, preventing everything from having to be covered by the GPL. This is obviously going to be an important factor for those of you working with Java libraries and virtual machine on top of shipping applications, because it means that your current licensing will not be affected. And if you really don’t want to get into the whole open source thing, then Sun have even thought of that by running a dual licensing structure that sees the commercial license continue to be available.

One thing is for sure, this whole process of open sourcing Java which starts as form today, will help to establish the technology in the hearts and minds of web developers, like it needed any help in that direction. It will also help to increase support revenues for Sun, and that’s something they do need help with.

Expect to see Java Micro Edition move to open source licensing first, with Java Standard Edition taking up to six months to follow. It would appear that Sun are ‘not ready’ to let all six million lines of this code out into the one in one fell swoop, instead adopting a piecemeal approach with compiler, hotspot virtual machine and help system leaking out one at a time.

What will be most interesting, at least from my non-developer, technology journalist perspective, is whether this move will lead to code forking and a fragmentation of the Java user base. And if that happens, far from boosting Sun revenue and position it could well end up being a nail in its corporate coffin.

As Editorial Director and Managing Analyst with IT Security Thing I am putting more than two decades of consulting experience into providing opinionated insight regarding the security threat landscape for IT security professionals. As an Editorial Fellow with Dennis Publishing, I bring more than two decades of writing experience across the technology industry into publications such as Alphr, IT Pro and (in good old fashioned print) PC Pro. I also write for SC Magazine UK and Infosecurity, as well as The Times and Sunday Times newspapers. Along the way I have been honoured with a Technology Journalist of the Year award, and three Information Security Journalist of the Year awards. Most humbling, though, was the Enigma Award for 'lifetime contribution to IT security journalism' bestowed on me in 2011.

11 Years
Discussion Span
Last Post by jwenting

Time to start looking for another line of work then.
Companies will pretty rapidly start moving away from Java as they want nothing at all to do (and rightly so) with anything that even remotely reeks of GPL.


And yes, it will lead to large amounts of forking and mutually incompatible versions all released as "Java".
Those already existed to a small degree, aimed at destroying confidence in the platform, and will now be a lot easier to create.

The userbase won't get fragmented though, as those forks will (for the most part) not be aimed at "fixing" things but destroying them and released by people who have no interest themselves in using Java but only want to confuse end users and cause them headaches when using Java software.
As it is there are tons of questions from Linux users about their Java based applications not working which are almost exclusively tracked down to them having gcj set up as their default Java runtime.

This idiotic decision by Sun will compound that problem a thousandfold in short order and drive it onto the core platform for Java as well, which is Windows.
Software manufacturers will no longer be able to rely on their users having a JVM that can run their software and will abandon Java for (for example) C#.

Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.