It's not Apache vs. Oracle; it's Oracle vs. open source

November 10, 2010 1:59 PM EST
Apache is stuck between a rock and a hard place. It can't certify that its open-source Java, Harmony is Java compatible. Oracle, like Sun before it, won't release the needed certification tests. Without that Apache can't certify that Harmony is really Java for legal purposes. Adding insult to injury, IBM, which had been Harmony's biggest backer, moved away from the project to support, with Oracle, OpenJDK.

What's an open-source foundation to do? It can try to force Oracle to co-operate by using its seat in the Java Community Process (JCP) Executive Committee, the group that, in theory, runs Java to vote against approving Java 7 when it eventually comes up for approval. By itself, Apache can't stop it, but it's calling on other JCP members to also vote against it to protest Oracle's refusal to work with Apache on certifying Harmony.

In a statement, Apache explained its position and why it making such an issue out of the matter:

We are grateful for the strong support from the community, and believe it is a validation of the work the ASF is doing in the JCP. Our efforts to transform the JCP into a truly open specification ecosystem help strengthen the value of Java for everyone -- for implementors of open source projects such as those found at the ASF and elsewhere, for students, educators and academics using Java for teaching and research, for independent software vendors that build innovative products and services on Java, and for commercial users in all areas of economic activity that depend on Java to run and grow their businesses.
Through the JSPA, the agreement under which both Oracle and the ASF participate in the JCP, the ASF [Apache Software Foundation] has been entitled to a license for the test kit for Java SE (the "TCK") that will allow the ASF to test and distribute a release of the Apache Harmony project under the Apache License. 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. The ASF believes that any specification lead that doesn't follow the JCP rules should not be able to participate as a member in good standing, and we have exercised our votes on JSRs [Java Specification Requests]--our only real power on the JCP--accordingly. We have voted against Sun starting and continuing JSRs, and have made it clear that we would vote against the JSR for Java SE 7 for these reasons.
In light of Oracle Corporation failing to uphold their responsibilities as a Specification Lead under the JSPA and breaking their signed covenants with the Apache Software Foundation that are the conditions under which we agreed to participate in the JCP, we call upon the Executive Committee of the JCP to continue its clear, strong and public support for Java as an open specification ecosystem that is a level playing field for participants in order to ensure that anyone--any individual or commercial, academic or non-profit entity--is able to implement and distribute Java specifications under terms of their choice. Specifically, we encourage the other members of the JCP EC to continue with their support of our position regarding Oracle, and vote accordingly on the upcoming Java SE 7 vote.
The ASF will terminate its relationship with the JCP if our rights as implementers of Java specifications are not upheld by the JCP Executive Committee to the limits of the EC's ability. The lack of active, strong and clear enforcement of those rights implies that the JSPA agreements are worthless, confirming that JCP specifications are nothing more than proprietary documentation.

Apache isn't putting up with Oracle continuing Sun's policy of refusing to let foreign open-source program play on the same level playing ground as Oracle's "official" open-source programs like OpenJDK.

I think several things will result from this coming confrontation. First, I don't think Oracle is going to blink. Even if Apache is successful in blocking JCP approval of Java 7, that won't stop Oracle from releasing it.

From this, we'll see a Java fork. On one side, there will be the "official" open-source Java and on the other will be Apache and its allies. Soon after that, I expect Oracle to sue Apache, in the same way Oracle has sued Google for its use of the Dalvik in Android.

In the end, the courts will have to decide this battle. In the meantime, though, those of us who care about open source will have our own decision to make: "How open really is any open-source program or language when one company gets to decide whether or not it can be approved?" I would agree with Apache that such a program really isn't open at all no matter how available its source code may be.