Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Apache Threatens to Leave JCP

Apache Threatens to Leave JCP

This item in japanese

The Apache Software Foundation board has made an announcement to leave the JCP if their rights as implementers of the Java specification are not upheld.

Through the JSPA, the agreement under which both Oracle and the ASF participate in the JCP, the ASF has been entitled to a license for the test kit for Java SE (the "TCK") that will allow the ASF to test and distribute a release of the Apache Harmony project under the Apache License. Oracle is violating their contractual obligation as set forth under the rules of the JCP by only offering a TCK license that imposes additional terms and conditions that are not compatible with open source or Free software licenses.

The ASF will terminate its relationship with the JCP if our rights as implementers of Java specifications are not upheld by the JCP Executive Committee to the limits of the EC's ability. The lack of active, strong and clear enforcement of those rights implies that the JSPA agreements are worthless, confirming that JCP specifications are nothing more than proprietary documentation.

At issue is the ongoing refusal of Sun, and later Oracle, to provide a testing compatibility kit for the ratification of their open-source Java implementation. The reason for this is financial – a significant portion of revenue that Oracle receives is for the use of Java on mobile devices, and a freely-available JVM for mobile devices may threaten that revenue stream. (The OpenJDK is not suitable for many embedded devices, as it requires that all source code be released under the GPL, thus requiring a commercial license.)

However, the JCP document requires that JSRs be available. Under the umbrella JSR for the Java 6 platform, JSR 270, the licensing terms include:

10. The Java SE 6 TCK will be offered for license at no charge, with trademark and branding rights, but without support, to qualified not-for-profit entities (including not-for-profit academic institutions) and qualified individuals engaged in efforts to create compatible implementations of the Java SE 6 Specification.

It is this discrepancy that the Apache board has been complaining about since April 2007, then referring to the Java 5 specification. The key problem, then as now, is the field of use limitation:

Since August 2006, the ASF has been attempting to secure an acceptable license from Sun for the test kit for Java SE. This test kit, called the "Java Compatibility Kit" or "JCK", is needed by the Apache Harmony project to demonstrate its compatibility with the Java SE specification, as required by Sun's specification license. The JCK license Sun is offering imposes IP rights restrictions through limits on the "field of use" available to users of our software.

These restrictions are contrary to the terms of the Java Specification Participation Agreement (JSPA) - the governing rules of the JCP - to which Sun is contractually bound to comply as a signatory. Specifically, the JSPA requires that:

  1. A specification lead cannot "impose any contractual condition or covenant that would limit or restrict the right of any licensee to create or distribute such Independent Implementations" (section 5.C.III)
  2. A specification lead must license all necessary IP royalty-free to any compatible implementation of a specification (section 5.B)

This implementation is orthogonal to the patent case between Oracle and Google, which is related to the JVM itself. Although Harmony ships the DRLVM (originally donated by Intel), the availability of the TCK would have granted a use of those patents. Without the TCK, Apache Harmony's JVM may be in violation of some of those patents – though an Oracle-driven court hearing would automatically enrol the JSPA dispute, something Oracle is keen to avoid.

Since IBM joined OpenJDK, there has been an ongoing question of can Oracle save Java? With no softening on Oracle's stance – despite originally saying that the spec should be availble, prior to the takeover – this endgame will play out in public.

Unfortunately, whilst Oracle still needs to get a clue, others, such as Doug Lea have already left the JCP.

Whether Apache stays as members of the JCP or not, Oracle are unlikely to change their stance on the unrestricted TCK availability for Java. And even if Apache were to stay and vote against Java 7, Oracle would almost certainly still push it through anyway.

Oracle has painted itself into a corner with the community. Many of the original developers of MySQL have left (and created open-source forks like MariaDB and Drizzle); the OpenSolaris board, having resigned, has moved on to Illumos and many other luminaries have also left. There's even a poll asking whether the JCP is an independent standards organization.

Since Oracle control Java, and also the JCP, they can terminate the JCP as easily as they terminated the OpenSolaris project. As Apache does not have the resources to get into a prolonged legal battle about upholding the contractual obligation, whether they stay or go will have no impact on whether Oracle releases Java 7 next year or not. As a result, leaving the JCP is the only option left available to them.

Rate this Article