OpenJDK will be a reference implementation for Java 7
Sun's Java Development Kit (JDK) used to be the reference implementation for new versions of Java, but now Oracle – the firm that owns and maintains Java – is expressing a more open policy on the programming language by using OpenJDK as a reference for other Java implementations. Sun's JDK was under a proprietary licence but OpenJDK is licensed under the GPL.
The announcement comes some six weeks before 28 July when version 7 and its JDKs – both Oracle's and OpenJDK's – are due to be published. Oracle came a step closer to finalising the underlying standard within the Java Community Process (JCP) this week by obtaining approval at the Public Review Ballot stage for Java SE 7 (Java Standard Edition).
Sun/Oracle's JDK continues to be licensed under the Binary Code Licence (BCL). As the reference implementation, Sun/Oracle's JDK could not be used in open source implementations because it contained features, such as the Java plug-in, that were not present in the standard and its source code was not based on the OpenJDK code.
Oracle now plans to provide a reference implementation for Java 7 based on OpenJDK by the end of July; the licence will remain GPLv2 with the Classpath exception. Oracle will provide binary versions under the BCL for commercial implementations. In addition, OCTLA licences (OpenJDK Community TCK Licence Agreement) are being adjusted for Java SE 7. None of this will change Oracle's refusal to provide the open Java implementation Apache Harmony with access to the Test Compatibility Kit for certification; the OCTLA program only provides free access to the test system for implementations that are derived from the GPL-licensed OpenJDK.