Java News from Wednesday, April 11, 2007

The Apache Software Foundation appears to be having trouble getting Sun to cough up the Technical Compatibility Kit they promised without making the ASF agree to terms that violate open source principles, specifically No Discrimination Against Fields of Endeavor. They also believe that Sun is violating its own rules for the Java Community Process. Geir Magnusson Jr writes in an open letter to Sun:

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 totally unacceptable to us. As I explain below, 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. The ASF has a proud history of support for open software ecosystems in which commercial software can flourish. However, Sun's JCK license protects portions of Sun's commercial Java business at the expense of ASF's open software. It prevents our users from using Apache software in certain fields of use. Such implicit or explicit threats of IP-based aggression give one actor overwhelming commercial advantages over the other participants in the ecosystem. In an open ecosystem, it must be the case that the necessary IP to implement a specification can be secured independently from the specific commercial interests of any one actor in the ecosystem, which is the basis of our objection to your offered terms.

Your restrictions violate the basic protections of the JCP, which ensure both that a) specification leads and expert groups produce open specifications, and b) anyone can implement and distribute compatible implementations of those specifications without fear of obligation to the specification lead or members of the expert group for any "necessary IP" needed to implement that specification. 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)

Your terms are attempting to circumvent both of these requirements.

Besides holding back the Harmony project - a community-led open source project of the ASF since May of 2005 - this failure to comply with your contractual obligations poses serious risk to the credibility of the JCP as an open standards organization, and the reputation of Java itself as an open technology. We believe that this also threatens the general cooperative nature of the commercial Java ecosystem, puts at risk the long-standing positive relationship between Sun and the ASF, and probably between Sun and the broader open source community - all of which is key to the continued growth of Java.

Beyond the obligations of the JSPA, these limitations are also contrary to Sun's public promise that any Sun-led specification would be fully implementable and distributable as open source/free software. It shouldn't have to be mentioned that "fully implementable" includes passing the JCK, as required by the specification license. To this end, limitations on field of use for our users is contrary to the basic principles of open source licensing, and therefore these limitations would prevent distribution under any open source license, including our own.

Our objections to the offered license are clear and valid. The situation we are facing is grossly in conflict with the basic IP philosophy of the JCP, the concept of Java as an open standards-based ecosystem, Sun's public promises to the free and open source communities, and Sun's contractual obligations as a specification lead under the JSPA. The JCP was clearly designed to prevent any single actor from being able to exhibit this sort of market control. Additionally, it is contrary to both the spirit and letter of open source, the respect of which is a key element in Sun's stated business strategy.

Maybe it's time to update this old chestnut. The JCP has improved over the years, but apparently not enough. We're all equal in the JCP, but some of us are more equal than others.