Time to Fork Java? si vis pacem, para bellum October 4, 2010
Posted by Sacha in English, IT.
Here are my 2 cents on Greg Luck’s post about whether the time has come to fork Java (in what he proposed could become “Lava”).
First of all, some background. Since its inception, SUN had done a decent job stewarding Java into a multi-billion dollars ecosystem. It has not always been an easy ride, but things have steadily progressed (remember the days where it wasn’t legal to provide an Open Source implementation of the J2EE specs?)
As time passed, SUN became more financially challenged, and it became obvious that SUN wasn’t willing to relinquish its control over the JCP, but yet, wasn’t able to inject as many dollars as it used to in JCP specifications, research and engineers. So essentially, the Java ecosystem was forced into increasing its investment in something a competitor had control over. Furthermore, SUN had always done a terrible job at monetizing its own spec work, and this actually helped to position them as a benevolent dictator. Yet, when Schwartz decided it was time to aggressively monetize their Java investment, this over-control/under-investment situation became embarrassing.
But the real contention point was Apache Harmony, the Apache implementation of Java SE. While SUN had Open Sourced their Java implementation, they did it under a GPL license + Exception for SE and a straight GPL license for ME (more on this here). The goal was clear: they wanted to open source Java *while* maintaining their ME royalty revenues intact. From that standpoint, Apache Harmony was potentially a very big risk as it would allow phone vendors to migrate to a royalty-free Java implementation! Consequently, against everybody’s interpretation of the JSPA, SUN refused to grant the Apache Harmony project a full fledge Java SE license. That decision put Java in a complete dead lock:
- EC members (who only have a negative power i.e. they can only enforce a NO vote, they cannot enforce a YES vote against SUN’s will for the base platforms) refused to let SUN start any new spec;
- Only SUN could start a new Java SE (or ME) spec;
- ==> No new Java SE (7) spec will be created unless SUN gives a proper license to the Apache Harmony project
All EC members had made it VERY clear that they would stand by their word, and they did! Well, all members … until ORCL became the new JCP prima donna.
What’s the deal today?
So, while ORCL’s stance on Apache Harmony and the JCP was crystal clear back when SUN was in charge of the JCP (ORCL wanted a SUN-independent JCP body, they wanted SUN to give a full license to the Apache Harmony project, etc.) and had been very vocal about it, things have changed since they acquired SUN.
ORCL is now the one in charge of the JCP and, guess what, they refuse to give the Apache Harmony project a suitable license, as requested by the JSPA. ORCL’s lawyers, who yesterday were reading that document in one way, now read it the exact other way around.
Will this become ORCL’s new signature: “when ORCL’s lawyers have the same opinion two-weeks in a raw, the only conclusion you can draw is that they changed their mind an even number of times.”
And that is exactly in that context that the ORCL vs. Google Android lawsuit has to be seen: ORCL sent a very clear signal: they won’t allow any dissident implementation, be Harmony or Android. Either you play by the rules, or you’ll suffer ORCL’s punishment. Except that in Harmony’s case (which is clearly not in the same situation as Android since they politely asked for a license), ORCL is interpreting the rules as they see fit.
I was hoping for ORCL to announce something meaningful for Java at JavaOne this year (better renamed JavaHalf), but they didn’t. This is bad, it means they are not likely to change their mind easily.
What are the consequences?
Larry made the bet the Java industry would bend and surrender. Possibly. This is a tough call: if ORCL remains in charge of Java the way they do today, it puts the IBM/RHT/VMW/GOOGL of the world at his mercy – which is not a sustainable mid-to-long term business decision. On the other hand, if they go nuclear, fork Java and take their independence, this could hurt them short-to-mid term. Tough call.
So, fork or no fork? Si vis pacem, para bellum.
My opinion: si vis pacem, para bellum (“If you wish for peace, prepare for war”).
Larry will not change his mind unless the battle of will evolves.
Consequently, Palmisano, Schmitt, Maritz and Whitehurst have to join forces and work towards an independent Java Community, a complete fork. Whether this will ultimately have an impact depends on i) how fast they move, ii) how good their plan is and iii) whether they can demonstrate to the world they can work together in a non-partisan way. If the above are true, the threat to ORCL will be too big and ORCL will be the one to bend. I think such a fork is very feasible.
Furthermore, it would be such a A-Bomb PR that this could actually help rejuvenate interest in the Java platform – especially if the launch of this new standard body was coupled with some technical announcements (new “ForkedJava” 7.0, roadmap for a new ForkedEE, etc.)
But all of this can only happen if IBM is part of it. IBM owns IP rights on a LOT of the Java IP; this would mitigate the risk of ORCL suing this new standard body. Furthermore, I’d love to see some of ORCL’s best customers join this standard body: while this has to be led by the key Java players, the ecosystem at large must stand up, and that includes the END USERS of that technology, the SI, the ISV; not just the usual suspects.
Bottom line: unless Larry decides to become the nice Java guy, the Java ecosystem has to stand-up.