jump to navigation

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”).

Some context

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.



1. Markus - October 4, 2010

This seems to be the day of the Java vs. Oracle posts. Here is mine
Bottom line: The same. Don’t mess with the community. They are strong.

2. Sacha - October 4, 2010

Thanks for sharing Markus, I agree with you, we need to see some factual action, not just posture.

3. Dominique De Vito - October 4, 2010

While reading your post, I have thought the OpenOffice fork (giving birth to LibreOffice) may be, among different roles, a kind of test, that is, a kind of first shot. If Oracle is listening, may be it could think another fork (for Java) could be possible too, leading to a greater menace.

Future will tell.

Sacha - October 4, 2010

Dominique, this is a very good point: if multiple communities (which include OpenOffice as you mentioned but also … OpenSolaris) start spinning off, that might help the whole process.

Dominique De Vito - October 4, 2010

Well, the point is the Document Foundation has a decent initial supporter list ( http://www.documentfoundation.org/supporters/ ), including Red Hat, Novell and… Google. That’s a kind of indirect message.

4. Sacha - October 4, 2010

very good point Dominique, I hadn’t realized this!

5. Arul - October 4, 2010

Forking is really a bad idea. I do not believe there is enough reasoning for a fork and a rumor is no different (noted in Greg’s original post). I think if you do believe one, you should consider “pushing” Apache Harmony obtain Java license and make it a first class citizen among the community.

We all knew Sun refused to license Harmony, but do we expect Oracle do the same? No second guesses.

I agree the frustration, but it is too early.

Sacha - October 4, 2010


I am NOT second-guessing here. The license to Harmony is *still* an issue and ORCL doesn’t seem willing to compromise at this point.

6. Frank Cohen - October 4, 2010

Hi Dominique:

I agree with your assessment. I also anticipate an ex-Sun leader to emerge to do the shuttle diplomacy needed to establish the community. There were so many smart people I met at Sun who would run with this. Many have achieved great executive positions at open source companies – for example, Brian Gentile, formerly with SunSoft and now Jaspersoft’s CEO.

My company, PushToTest, builds Java-based open source testing tools. We don’t need Java to move forward from 1.6 to deliver excellent tools. Closures would be nice but is not critical.

Critical to the entire IT industry is a business integration standard. Remember JSR 208 and the proposed JBI standard? It never happened and we have been suffering because of it. For example, in the testing space you have a number of mature record/playback tools (Selenium, Sahi, Windmill) to record an automated test of a Web application. Conversion to a Java JUnit test is easy with an export command. Since there is no JBI standard to notate what the application is doing, there is no way to go from a JUnit test back to a record/playback environment. And, the record/playback tools make big gaffs when they do not easily understand the flow of an application.

I hope to play a roll in the upcoming forked community effort around Java testing and design. We will deliver more reliable applications with a standard around business integration.


7. Onno - October 5, 2010

It depends what kind of fork. I doubt IBM et al would fork OpenJDK. The fork would be under GPL and I don’t think that license would serve their perceived intentions.

I believe more in a line of attack of essentially forking the JCP: push Eclipse and OSGi more to the front and resign from the JCP.

One could also push ASF to accept that license and then see how strong that field of use clause really is.

I am glad to not be part of all this anymore. Dreadful.

Sacha - October 6, 2010

Hello Onno,

Glad to read you again, and congrats on onno-consulting.com!

What I mean by forking is actually more around “the entire process”. That would start with a JCP-bis and an equalitarian JSPA. Once that is done, people could actually start using Harmony (OpenJDK is not the only Java implementation in town). Eclipse could be such vehicle, you are right, but I think it would be stretching its brand too far – but why not.



8. IBM joining OpenJDK – repeat after me “pragmatic”, “pragmatic”, “pragmatic” « Sacha’s Weblog - October 12, 2010

[…] One of the only possibilities for a Java fork to be successful was for IBM to co-lead it. With this announcement, the “pragmatic” view wins. I imagine IBM was able to negotiate and obtain from ORCL a proprietary license on the OpenJDK codebase. I also hope they were able to negotiate substantial *and specific* changes in how the JCP will work in the future. […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: