Yesterday the Apache Software Foundation tendered its resignation from the Java Community Process, something it had threatened to do unless other members of the JCP joined it in voting against Oracle's plans for Java 7.
In the event the only No Votes were cast by Apache, Google and one individual member, Tim Peierls who registered the comment:
Changing my vote from "Abstain" to "No" to register my extreme disappointment with Oracle's failure to address EC questions about the licensing terms of this JSR.
Once the result of the ballot was known, Peirels resigned from the JCP Executive Committe commenting:
The last straw for me was Oracle's failure to address the ambiguous licensing terms in JSRs 336 and 337 (the Java SE7/8 umbrella JSRs) before the EC had to vote on them.
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.
Click to view larger image
The comments of SAP, Credit Suisse, Eclipse and Werner Keil, qualifying their yes votes to give support to Apache's position can be read on the Vote Log.
As we reported earlier this week, Oracle had urged Apache to reconsider its intention to resign - but at the same time gave no indication that it would alter its position with regard to the TCK licence for Project Harmony that is the crux of this issue.
In his formal email of resignation, sent to Patrick Curran, Chairman of the JCP, Geir Magnusson, Director of the Apache Software Foundation refers to a blog post that provides a detailed explanation and concludes:
I wish you the very best in sorting out this mess - Java is too important to all of us to let the current situation continue.
The blog explanation does not have a similar conciliatory tone and states:
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 believe 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, and most importantly, prohibit the distribution of independent open source implementations of the spec. Oracle has refused to answer any reasonable and responsible questions from the EC regarding these problems.
By approving Java SE 7, the EC has failed on both counts : the members of the EC refused to stand up for the rights of implementers, and by accepting Oracle's TCK license terms for Java SE 7, they let the integrity of the JCP's licensing structure be broken.
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.
While Oracle may not be in the least perturbed it seems likely that Java will be the poorer for this turn of event. The Apache Software Foundation is home to leading Java projects such as Tomcat, Ant and Geronimo and Apache members had formerly led Java Specification Requests - proposed features for new versions of Java - as well as contributing to technical expert groups.
JCP approves Java 7 and 8 road maps