Sun's Open Source Java Moves Are Bold, Smart, and Limited
Sun's recent decision to open-source some elements of Java is pretty exciting -- but a few years overdue, says InformationWeek columnist Eric A. Hall
In short, Sun has solved a lot of problems with Java, simply by eliminating the need for multiple JVM interpreters. Even in those cases where other interpreters may be desired for performance or size reasons (among others), the GPLv2 license allows developers to make changes to the core JVM code which can then be incorporated back into the original source, or the changes can be packaged as optimizations by other developers. In either case, interoperability can still be assured, since any changes to the JVM will have to be released under the same GPL license.
However, while the release of the HotSpot source code allows for all of this to happen, we aren't there yet. In particular, some of the support libraries that are used by Sun in their own JRE are sub-licensed from third parties, and Sun does not (yet) have permission to release that source code, nor do they have viable alternatives available yet. So while people can start working with the HotSpot JVM right away, it's not yet possible to build your own version of Sun's JRE, nor is it possible to guarantee 100% bug-level compatibility.
For example, the font and graphic rendering libraries that are used by Sun's JRE are not available in GPL licensed form, and until they are released as such (or drop-in replacements are made available), Java programs may not look and work as they do under Sun's own JRE. However, Sun says that they have already identified the missing pieces, and those components should be in place by the middle of 2007. So while developers can start working with the standard JVM today, users should not expect fully-compatible versions of Sun's JRE to start showing up until about a year from now.
There are other parts of the Java SE platform that Sun has also released, and other parts that are not yet ready, although most of these components will only affect developers, and do not impact end-users much. For instance, Sun has announced that the javac byte-code compiler and the JavaHelp documentation technologies were also released under the GPLv2 license, both of which are necessary and important for Java developers. However, the full Java Developer's Kit is not yet available, since problems with the encumbered libraries are preventing its release. The parts that are available (including HotSpot, javac and the JavaHelp components) are currently posted on Sun's openjdk site, and the remaining components should be available sometime in the first half of 2007.
Apart from the mainstream Java SE platform, Sun also released the Java Micro Edition as open source under the GPLv2 license. Java ME is essentially the "mobile and embedded" version of Java that is used in devices such as cell phones, PDAs, set-top boxes and other small and fixed devices, and is already widely deployed on a large number of those platforms. Releasing the code for Java ME under the GPLv2 license will only help to cement Sun's well-established position within that sector.
The Business of Going DigitalDigital business isn't about changing code; it's about changing what legacy sales, distribution, customer service, and product groups do in the new digital age. It's about bringing big data analytics, mobile, social, marketing automation, cloud computing, and the app economy together to launch new products and services. We're seeing new titles in this digital revolution, new responsibilities, new business models, and major shifts in technology spending.