The Apache Software Foundation Blog
Tuesday Nov 19, 2013
The ASF's Position on Oracle's TCK License
In December 2010, The Apache Software Foundation resigned its seat on the JCP Executive Committee. Since then, our access to TCKs that previously had been provided by Oracle to a number of ASF projects has expired.
The ASF has not blocked its projects from having access to JCP-provided TCKs. A number of such TCKs are made available without conditions that affect our ability to release our software under the terms of the Apache License, Version 2.0; for example, the JSR303 Bean Validation TCK was created by Red Hat/JBoss and is available under the Apache License, version 2.0.
This is not the case with a number of TCKs provided by Oracle.
ASF's position has always been that it would license Java TCKs only if it could do so without incurring any restriction that was incompatible with its license and open source software development and distribution practices. Sun Microsystems originally encouraged ASF to join the Java Community Process Executive Committee with the promise that ASF would have the opportunity to help define the Java Specification Participation Agreement and ensure that it included no such restrictions. Progress was slow, and ASF nearly abandoned the JCP in 2002, but eventually Sun agreed -- in a side-letter modifying the TCK License Agreements -- that the restrictions of concern to ASF would be construed so as not to restrict independent open source implementations:
Additionally, the JSPA was modified to 1) prevent the specification lead (then Sun, now Oracle) from restricting the development or distribution of independent implementations and 2) require the specification lead to license essential IP royalty-free to any spec-compatible implementations. With these provisions in place, ASF was comfortable that the TCK licenses and JSPA were compatible with its development processes.
Unfortunately, Sun breached the JSPA in 2006 by licensing the Java SE Compatibility Kit under terms inconsistent with its prior representations to ASF and its obligations under the JSPA, and incompatible with ASF's development of Apache Harmony. ASF urged Sun to honor its agreements, but after Sun persisted in its breach for a year, ASF withdrew from the JCP. At the time, Oracle supported ASF's position that Sun was in breach of the JSPA. But after acquiring Sun, Oracle adopted Sun's policy, disregarding the limits of the JSPA that formed the basis for ASF's participation in the JSP and acceptance of the various TCK licenses.
ASF's position has not changed -- it cannot accept restrictions on TCK-tested code that are incompatible with its license and open source development practices. An example is the requirement in Section 2.1(b)(v) of the Stand-Alone TCK License Agreement, that any software tested with the TCK must thereafter be updated to comply with every subsequent version of the corresponding specification published by Oracle. This provision has always been a part of the TCK License Agreement, but was previously relaxed by an agreement with Oracle's predecessor upon which ASF no longer feels it can rely.
Thus, ASF can only agree to the TCK license if Oracle will amend it consistent with the 2002 side-letter referred to above -- i.e. by removing or reconstruing restrictions that are incompatible with ASF's licensing and development practices -- and to make available under these terms all of the TCKs Apache has previously had access to. We would be eager to work with Oracle on these revisions.
# # #