Apache Backs Up Its Threat: Leaves the JCP EC
DZone has just learned that the Apache Software Foundation issued a formal letter annoucning their resignation from their seat on the Java SE/EE Executive Committee. 95% of the JCP voting community had recently ratified Apache for another term on the committee. Now they are removing all official representatives from the JSRs and will refuse any renewal of their JCP membership.
Here was the ASF's explanation:
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.
In the phrase "fail to uphold their responsibilities under the JSPA", we are 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. For more information on this dispute, see our open letter to Sun Microsystems (LINK).
This vote was the only real power the Executive Committee has as the governing body of the Java specification ecosystem, and as we indicated previously we were looking for the EC to protect the rights of implementers to the degree they are able, as well as preserve the integrity of the JCP licensing structure by ensuring that JCP specifications are able to be freely implemented and distributed. We don't believe this is an unreasonable position - it should be noted that the majority of the EC members, including Oracle, have publicly stated that restrictions on distribution such as those found in the Java SE 7 license have no place in the JCP - and two distinguished individual members of the EC, Doug Lea and Tim Peierls, both have resigned in protest over the same issue.
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.
In short, the EC and the Java Community Process are neither.
Java Champion Stephen Colebourne agreed with Apache's decision to vote against the four new JSRs, and he lamented the fact that most EC members weren't willing to fight Oracle on the issue:
"Today, Oracle won its battle in the JCP. But it was a stupid battle to have. Submitting a JSR whose licensing terms are in conflict with the JSR itself and with the JSPA was simply unnecessary. Voting "Yes" to it was simply cowardly."
Update: Doug Cutting wanted to clear up some of the confusion going around as part of this announcemen, saying: "This action has little impact on existing ASF projects. The board reiterates its commitment to all Apache projects that implement Java specifications. There is nothing being considered that would require any Apache project to stop what it is doing based on the JCP crisis. Projects that currently license TCKs will continue to do so. If maintenance leads for JSRs propose to change the terms of license for existing TCKs then Apache will vigorously lobby against these changes. New projects will continue to be considered on their merits and on the appropriateness of the proposed licenses."