On October 11, IBM announced its decision to junk Apache Harmony, an open source Java implementation of Java, and throw in its lot with Oracle's Open JDK.
To say that the Apache Software Foundation was shocked is an understatement. IBM says it still loves Apache despite suddenly dumping Project Harmony after five years - but Apache isn't buying it.
An IBM spokesperson told The Reg that IBM wants to be a "strong" contributor to the Apache Software Foundation (ASF) and that it will work with Harmony to "transition to OpenJDK". The spokesperson did not say how or when transition would happen.
IBM can say what it likes it seems, but the company can no longer be trusted, so far as the ASF is concerned.
ASF president Jim Jagielski told The Reg that he has not heard anything at all from IBM about transitioning the Harmony code or the community to OpenJDK.
He said it would be "nice" if IBM had discussed its plans with the Apache board, before pulling the rug from beneath their feet.
The ASF was caught off guard by the news on October 11 that IBM was withdrawing from Harmony and concentrating on OpenJDK, and even IBM's own Apache Project Management Committee chairman unaware of what was coming.
Left hand, right hand
IBM is not under any actual obligation to consult the board, under the rules of the ASF. And the OpenJDK decision seems to have been taken speedily and at a high level between IBM and Oracle, and disseminated on a need to know basis - judging by what The Reg has learned of events over at Java's governing body - the Java Community Process (JCP).
IBM and ASF are JCP members along with 32 other companies and individuals including Oracle.
Reg sources tell us that IBM's own representative at a JCP meeting in Bonn, Germany, the week prior to the news breaking, had also been unaware of what was coming.
At the meeting, IBM's rep was busy telling Oracle that IBM would vote against proposals the database giant had made to reform the JCP. "IBM wanted to see significant changes to the way the JCP works," a source close to the JCP told The Reg.
Apache no longer believes the group can rely on IBM's support inside the JCP, according to Jagielski. IBM's OpenJDK move has "changed the landscape as far as a people that ASF thought we could depend on as for as backing us up in the JCP," he told The Reg.
"This to me is an indication that IBM for whatever reason most probably will not be that staunch of a supporter of our point of view as they have been."
Jagielski said ASF is pragmatic, and IBM probably took a hard decision that was in the best interests of the company's shareholders.
The cooling of relations between IBM and Apache cannot be understated. The pair have co-operated and collaborated for more than a decade, and IBMers staff many other projects including ASF's signature server. IBM has helped push Apache towards web domination throughout the 2000s thanks to its hardware and software and engineering help.
IBM joined Project Harmony in 2005, shortly after it launched, out of frustration with Sun Microsystems' foot-dragging on open sourcing of Java. When Sun released Java under the GPL a year later, IBM criticized Sun for not releasing Java to Harmony.
IBM went on to boost Harmony with people and code, and in summer 2009 IBM's vice president of WebSphere Craig Hayman was letting it be known that IBM's WebSphere CE open-source Java app server and Lotus Notes used many Harmony libraries in its JVM, and core code.
IBM also sided with Apache and most other representatives on the JCP on the open sourcing of the Java Test Compatibility Kits (TCKs) and the connected subject of reform of the JCP - to turn the group into a vendor-neutral body. Sun was the dominant power on the JCP, having held power of veto over changes to Java - a veto now in Oracle's hands as it bought Sun.
The TCKs are important. ASF said it was unable to test Harmony to prove it complies with the official spec for Java Standard Edition (Java SE) because the TCKs are closed source code. Control of the TCKs had resided with Sun - and now Oracle - as the principle stakeholder and chief steward on Java. In past years, JCP members had threatened to hold up new versions of Java unless the TCKs were opened and the JCP released.
"If Java was truly open sourced and freely available then none of this could have happened"ASF president Jim Jagielski
ASF will continue to fight for opening the TCKs, but with IBM now aligned behind Oracle any chance of success now seems lost. Along with Oracle, IBM is one of Java's biggest patent holders and through its own middleware business, one of Java's biggest users.
"We will continue the fight [to open the TCKs] - it's still valid," Jagielski said. "When the time comes, the vote on Java 7 [the next version of Java outlined by Oracle in September] would be a good indication of whether the fight has any life left in it. If it [Java 7] is approved, and people vote 'yes', then the ASF has a tough decision to make on whether to fight when it would be obvious that the cause is lost."
He's right to be downcast. The Reg has learned that at the JCP's Bonn meeting, Oracle told JCP members - including ASF - that it had no intention of ever licensing Google's Android, which uses a subset of Harmony. Almost every JCP member accepted Oracle's decision - albeit reluctantly, according to our information.
Googling "Apache Harmony"
A source close to the JCP told us: "Apart from Google and Apache everybody else was disappointed, but shrugged and is prepared to move on."
Jagielski said that even if every IBM employee leaves Harmony, ASF hopes Google - which has a significant vested interest thanks to the Android connection - and others will ramp up their investments in Harmony.
Jagielski believes the actions of IBM prove that Java is not as open as IBM, Oracle and others would have you believe, just because it sits under a GPL license.
"I would assume it would be extremely interesting to Google to increase its support and also for the open source community in general. The need for Harmony and Harmony-like implementations has never more clear than it has now," he said.
"If Java was truly open sourced and feely available then none of this could have happened. This clearly shows that in a lot of cases Java is very, very closed and very, very proprietary, and it's now owned by an industry that - from its recent actions - has no compunction about leveraging its resources behind it."
ASF hasn't heard anything from Google, yet.
Asked by The Reg if Google will step into IBM's lead on Harmony or move Android to OpenJDK, open-source programs manager Chris DiBona declined to comment citing the pending litigation between Google and Oracle over Android.®