Apache Blasts Oracle, Quits JCP Over TCK
Rather than lighting a peace pipe, the Apache Software Foundation (ASF) has shot an arrow at the Java Community Process (JCP) and quit the JCP executive committee (EC) as the group said it would if certain restrictions were not lifted.
As a result of the recent JCP executive committee vote approving the roadmaps for Java SE 7 and Java SE 8, Apache has announced its resignation from the JCP EC.
In a statement, ASF said: "Our representative has informed the JCP's Program Management Office of our resignation, effective immediately. As such, the ASF is removing all official representatives from any and all JSRs. In addition, we will refuse any renewal of our JCP membership and, of course, our EC position."
The JCP's executive committee passed the Java Specification Requests (JSRs) for Java Platform, Standard Editions 7 and 8 (JSRs 336 and 337, respectively) by a vote of 12 yes to 3 no. Voting against the ratification of the new specifications were Apache, Google and individual EC member Tim Peierls, who announced his resignation from the JCP's Java SE/EE executive committee on Dec. 7. And Doug Lea, another independent member of the JCP EC also resigned his post in October.
The ASF had threatened to quit the JCP executive committee via a statement back on Nov. 9 after the organization was re-ratified for another three-year term on the committee. Apache made good on that threat a month later on Dec. 9.
At issue is Oracle's refusal to provide a technology compatibility kit (TCK) to the ASF for its Harmony open-source implementation of Java, and the Oracle-sponsored JCP EC sanctioning the situation by ratifying the JSRs along with the "field of use" restrictions that limit Harmony. Despite voting "yes" for the Java 7/8 JSRs, six EC members - SAP AG, IBM, the Eclipse Foundation, Red Hat, Credit Suisse and individual member Werner Keil -- voiced concerns about the licensing restrictions but not the technical content of the JSRs. Six other EC members - Oracle, HP, Ericsson, Fujitsu, VMware and Intel -- simply voted "yes" with no comment at all.
Explaining why ASF made its move, ASF President Jim Jagielski told eWEEK, "The results of the Java7/8 JSR votes from yesterday mean that the EC has just approved a major fundamental JCP specification which, along with its TCK license, makes distribution of a tested, compatible implementation impossible under *any* open source license. They allowed a JCP member (Oracle) who openly ignored the letter of the law as well as the repeatedly stated intent of the community to do it again, at the expense of a fellow EC member as well as the Java community at large. The refusal to vote NO, in fact, was tacit approval, despite any -protests' within their vote comments."
In a statement to eWEEK, Jagielski added:
"What is not new is that Oracle continues to violate and not honor the JSPA agreements, which are a foundation of the JCP. What *is* new is that the EC, by fact of their vote, has allowed them to do it.
"It is obvious that the JCP is not a standards forum, nor a community process at all, but rather a cabal to control the Java market."
Jagielski's comments echo those of Peierls, who said, "Several of the other EC members expressed their own disappointment while voting Yes. I'm reasonably certain that the bulk of the Yes votes were due to contractual obligations rather than strongly-held principles. It's not that I'm shocked, shocked that votes can be bought, but it finally made it clear to me that my vote was worthless."
"While Apache has made tremendous contributions to Java, the fact is that Harmony has been sidelined by OpenJDK and the fallout of that is surfacing," said Mik Kersten, CEO of Tasktop Technologies, a maker of the Java-based Mylyn task management system. "Oracle's steps here and around Google can be interpreted as helping the platform by preventing a fork. This could have a net positive effect, but only if Oracle succeeds at embracing the many vendors and contributors in the ecosystem that have made the Java platform successful to date."
Meanwhile, Al Hilwa, an analyst with IDC, said:
"Resignations appear to be political to make a statement. The reality is that Oracle has to move Java forward or the language will lag its competitors. To some extent Oracle needs to clean house on the JCP. Individual members will ultimately have to be replaced by large customers who are much more significant stakeholders in Java. I think the passing of the JSRs is a good milestone and exactly what Oracle needs to do to go forward. Apache may well end up leaving the JCP. Harmony is unlikely to ever be licensed with the TCK and Apache needs to figure out its next move. They would be smart to continue to participate and line up behind the OpenJDK because their funding from IBM will dry up. Releasing a clone of Java under any other name is not really a useful option."
However, Peierls says he does not believe Java really needs to move forward.
"To my own surprise, I'm coming to believe something heretical, that it actually is not all that crucial for Java to move forward," Peierls said in a Dec 7 blog post. "The big boys want big apparent forward motion because it means more stuff to sell, more contracts and control," he added. "As a result, we are whipped to a frenzy with messages (both subliminal and explicit) that Java is falling behind, losing mind-share, being lapped by C#, anything to sell the idea that more is desperately needed, when in fact most folks could make do with a lot less."
Meanwhile, in its Dec. 9 statement on resigning from the JCP EC, the ASF noted that "Apache has served on the EC for the past 10 years, winning the JCP -Member of the Year' award 4 times, and recently was ratified for another term with support from 95% of the voting community."
TheASF statement also said:
"The recent Java SE 7 vote was the last chance for the JCP EC to demonstrate that the EC has any intent to defend the JCP as an open specification process, and demonstrate that the letter and spirit of the law matter. To sum up the issues at stake in the vote, we believed that while continuing to fail to uphold their responsibilities under the JSPA, Oracle provided the EC with a Java SE 7 specification request and license that are self-contradictory, severely restrict distribution of independent implementations of the spec, prohibit the distribution of independent open source implementations of the spec, and has refused to answer any reasonable and responsible questions from the EC regarding these problems."
Apache said by the phrase "fail to uphold their responsibilities under the JSPA," the ASF is referring to Oracle's refusal to provide the ASF's Harmony project with a TCK license for Java SE that complies with Oracle's obligations under the JSPA as well as public promises made to the Java community by officers of Sun Microsystems (recently acquired by Oracle.) "This breach of the JSPA was begun by Sun Microsystems in August of 2006 and is a policy that Oracle explicitly continues today," ASF said.
And, perhaps in its most damning assertion, ASF said:
"The Apache Software Foundation concludes that that JCP is not an open specification process - that Java specifications are proprietary technology that must be licensed directly from the spec lead under whatever terms the spec lead chooses; that the commercial concerns of a single entity, Oracle, will continue to seriously interfere with and bias the transparent governance of the ecosystem; that it is impossible to distribute independent implementations of JSRs under open source licenses such that users are protected from IP litigation by expert group members or the spec lead; and finally, the EC is unwilling or unable to assert the basic power of their role in the JCP governance process."
In a response to the ASF's initial threat to quit, an Oracle official said ASF should support Java 7 and help to "move Java forward."
Moreover, in a response to ASF's Dec. 9 resignation, Oracle said essentially the same thing. In a statement, Adam Messinger, vice president of development at Oracle, said:
"Last month Oracle re-nominated Apache to the Java Executive Committee because we valued their active participation and perspective on Java. Earlier this week, by an overwhelming majority, the Java Executive Committee voted to move Java forward by formally initiating work on both Java SE 7 and SE 8 based on their technical merits. Apache voted against initiating technical committee work on both SE 7 and SE 8, effectively voting against moving Java forward. Now, despite supporting the technical direction, Apache have announced that they are quitting the Executive Committee. Oracle has a responsibility to move Java forward and to maintain the uniformity of the Java standard for the millions of Java developers and the majority of Executive Committee members agree. We encourage Apache to reconsider its position and remain a part of the process to move Java forward. ASF and many open source projects within it are an important part of the overall Java ecosystem."
The ASF and individual members of the JCP are not the only prominent members of the Java community to fall out with Oracle over its handling of Java and related resources. Java creator James Gosling told eWEEK he quit Oracle over its handling of Java.
Editor's note: This story was updated with comments from Oracle.