The Apache Software Foundation has threatened to quit Java's governing body altogether if Oracle continues to refuse a test kit license for the Harmony project.
In a statement posted on Nov. 9 to the foundation's blog, Apache said it will leave the Java Community Process (JCP) if their "rights as implementers of Java specifications are not upheld."
ASF is referring to its ongoing wrangle with Oracle to get a Java SE test kit license (TCK) for its Apache Harmony project, an independently developed open-source implementation of Java.
The controversy centers around the "Field of Use" (FOU) restrictions currently in place on the TCK. Field of Use defines what platforms the product can or cannot execute on. For example, the terms can specify that Harmony-based products cannot run on a mobile device. It would be very difficult for Apache to enforce that rule without rewriting its own license, not to mention that it runs counter to the whole concept of open source.
Oracle has said it will not offer Apache a TCK license for Harmony without the FOU clause. Sun Microsystems originally demanded FOU restrictions for Java SE's TCK back in 2006, which Apache roundly rejected. Oracle picked up the dispute along with Java along with its Sun acquisition. Ironically, Oracle was originally a Harmony supporter and called on Sun to offer the TCK without restrictions. The database giant reversed itself after the Sun deal closed.
"We believe that this is a final decision from Oracle and that there are no further opportunities for productive discussion on this topic," ASF said on its blog on Oct. 21.
According to a JCP rule established in 2006, members are "entitled" to a license for the test kit for Java SE to test and distribute Java-based projects, said Apache.
Apache needs the test kit to verify that Harmony conforms to the Java specifications so that it can release the project as "Java-compliant." Without the test kit, there's no way to prove compatibility.
Oracle's refusal blocks Apache from releasing Harmony as "a TCK-tested spec-compliant Apache-licensed implementation of Java SE," said the foundation.
In addition to threatening to quit, Apache made it clear that it plans to vote against the Java SE 7 specification and encouraged other JCP members to do the same when it comes up for a vote. Java SE7 is the next version of Java under Oracle's roadmap.
In this instance, a vote against Java SE 7 is tantamount to a vote against Oracle.
If Java SE 7 is not ratified at the vote, Oracle's Java roadmap is impacted, which would further besmirch Oracle's reputation within the greater open source community. With OpenOffice developers jumping to LibreOffice and Oracle declaring the "end-of-life" for OpenSolaris, the company is already viewed as an open source enemy.
Members not following JCP rules should not be allowed to participate in the group, Apache said. To express its displeasure with Sun's insistence on FOU conditions, Apache voted against Sun-sponsored proposals in the past, it said.
The Executive Committee of the JCP needs to continue its "clear, strong and public support" for Java as an "open specification ecosystem" that enables anyone to implement and distribute Java specifications "under terms of their choice," Apache contends.
"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," said ASF.
As the incident with OpenSolaris showed, Oracle does not historically respond well to threats. It will also mean a tremendous loss of face for Oracle to give in at this point.
IBM originally supported Apache's refusal to agree to the FOU. However, in October, IBM announced it will shift developer support to OpenJDK, the open source project initiated by Sun and currently supported by Oracle.
Apache downplayed IBM's announcement, saying the projects are "intentionally structured" around a "diverse" set of contributors to minimize the impact even if a "prominent" contributor leaves, the foundation said.
Apache Software Foundation was elected to another three-year term on the Java Community Process Executive Committee. As an executive committee member, the foundation's goal was to bring "transparency and openness" to the JCP and to ensure that Java specifications are "independently implemented and distributed under open source licenses," the foundation said.
Overwhelmingly supported by 95 percent of JCP voters this time around, Apache has sat on the executive committee for the past 10 years, said Apache.
JCP executive committee members consist of 16 companies and foundations, including Credit Suisse, Eclipse Foundation, Google, Hewlett-Packard, and IBM.