Free Java Implementations - After The May 2007 Code Release

After The May 2007 Code Release

See also: OpenJDK

As of May 2008, the only part of the Class library that remains proprietary (4% as of May 2007 for OpenJDK 7, and less than 1% as of May 2008 in OpenJDK 6 ) is the SNMP implementation.

Since the first May 2007 release, Sun Microsystems, with the help of the community, has released as free software or replaced with free software alternatives almost all the encumbered code:

  • All the audio engine code, including the software synthesizer, has been released as open-source. The closed-source software synthesizer has been replaced by a new synthesizer developed specifically for OpenJDK called Gervill,
  • All cryptography classes used in the Class library have been released as free software,
  • The code that scales and rasterizes fonts has been replaced by FreeType
  • The native color management system has been replaced by LittleCMS. There is a pluggable layer in the JDK, so that the commercial version can use the old color management system and OpenJDK can use LittleCMS.
  • The anti-aliasing graphics rasterizer code has been replaced by the open-sourced Pisces renderer used in the phoneME project. This code is fully functional, but still needs some performance enhancements,
  • The JavaScript plugin has been open-sourced (the JavaScript engine itself was open-sourced from the beginning).

Because of these previously encumbered components, it was not possible to build OpenJDK only with free software components. In order to be able to do this before the whole class library is made free, and to be able to bundle OpenJDK in Fedora Core and other free Linux distributions, a project called IcedTea has been started by Red Hat. It is basically an OpenJDK/GNU Classpath hybrid that can be used to bootstrap OpenJDK using only free software.

As of March 2008, the Fedora 9 distribution has been released with OpenJDK 6 instead of the IcedTea implementation of OpenJDK 7. Some of the stated reasons for this change are:

  • Sun has replaced most of the encumbrances for which IcedTea was providing replacements (there is less than 1% of encumbered code in the class library, and this code is not necessary to run OpenJDK).
  • OpenJDK 6 is a stable branch, whereas OpenJDK 7 is unstable and not expected to ship a stable release until 2009.
  • Sun has licensed the OpenJDK trademark for use in Fedora.

On June 2008, it was announced that IcedTea6 (as the packaged version of OpenJDK on Fedora 9) has passed the Technology Compatibility Kit tests and can claim to be a fully compatible Java 6 implementation.

Read more about this topic:  Free Java Implementations

Famous quotes containing the words code and/or release:

    ... the self respect of individuals ought to make them demand of their leaders conformity with an agreed-upon code of ethics and moral conduct.
    Mary Barnett Gilson (1877–?)

    The near touch of death may be a release into life; if only it will break the egoistic will, and release that other flow.
    —D.H. (David Herbert)