IBM joins the OpenJDK community, will help unify open source Java efforts

When people talk about open source, the notion of “forking” often comes up. The idea is that some folks are not happy with the direction in which a project is going, so they take a copy of the source code, come up with a new name, and set up shop elsewhere. This is no guarantee that the newly forked project will be successful, but it functions as an important escape valve for those who have donated time and effort to a community project and want to see the work done in what they believe is the right manner.

You less often hear about what I’ll call a “reverse fork”: people developing largely similar but separate projects who decide that they instead want to work together. They can do this for a variety of reasons but it all comes down to “burying the hatchet” or otherwise resolving their differences for the sake of the project.

OpenJDK logoWith that preamble, IBM and Oracle have announced that they will work together on the newly reinvigorated OpenJDK project. As described on its website, OpenJDK is “The place to collaborate on an open-source implementation of the Java Platform, Standard Edition, and related projects.” IBM will work with Oracle and the Java community to make OpenJDK the primary high performance open source runtime for Java. IBM will be shifting its development effort from the Apache Project Harmony to OpenJDK. For others who wish to do the same, we’ll work together to make the transition as easy as possible. IBM will still be vigorously involved in other Apache projects.

We think this is the pragmatic choice. It became clear to us that first Sun and then Oracle were never planning to make the important test and certification tests for Java, the Java SE TCK, available to Apache. We disagreed with this choice, but it was not ours to make. So rather than continue to drive Harmony as an unofficial and uncertified Java effort, we decided to shift direction and put our efforts into OpenJDK. Our involvement will not be casual as we plan to hold leadership positions and, with the other members of the community, fully expect to have a strong say in how the project is managed and in which technical direction it goes.

We also expect to see some long needed reforms in the JCP, the Java Community Process, to make it more democratic, transparent, and open. IBM and, indeed Oracle, have been lobbying for such transformations for years and we’re pleased to see them happening now. It’s time. Actually, it’s past time.

Ultimately this is about making Java more successful and pervasive than ever before. Java is not about any single company’s technical direction and it helps prevent lock-in. It runs on many, many different operating systems and hardware platforms. As a blatant plug, let me say Java runs exceptionally well on Linux and IBM’s System z, POWER, and Intel-based hardware. Indeed Java is one of the open standards that makes System z the amazingly interoperable platform that it is.

Java is about compatibility and always has been. It’s not been easy to maintain runtime environments that are consistent across platforms while exploiting the underlying features and performance advantages of those platforms. With this newly unified OpenJDK open source project, we can give customers the confidence they need to continue to invest in Java-based solutions knowing that they will get the best technology, the most important innovations, and the tightest collaboration among industry leaders.

We believe that this move to work together on OpenJDK is in the best interests of IBM’s customers and will help protect their investments in Java and IT technology based on it.

So to summarize my opinions on this: OpenJDK represents the best chance to provide a top notch unified open source runtime for Java; customers will benefit by having first class Java open standards developed collaboratively and constructively; and our energy will be focused on working together and optimizing our joint work, rather than wasting time on duplicative projects.

7 Comments

  1. I’m guessing that Google’s actions have impacted on this decision, I can’t see why IBM would want to support a competitor to produce an incompatible java runtime, on the one hand it’s a shame that the Java TCK wasn’t released and disapointing for Harmony, but good for OpenJDK, which now has a future.With Apple threatening to monopolise the client market, I can understand why Google couldn’t wait for the Java CDC platform to be feasible on Mobile’s, it needed Isolates (CLDC has Isolates) and a good UI (LIWT would have been good enough).Making the right decision between diplomatic influence with generosity or direct control can be difficult when fear is involved

  2. What evidence is there that the “reforms in the JCP, the Java Community Process, to make it more democratic, transparent, and open” are happening now ?

    Seems to be the same old control by big companies

  3. Interesting and good move as more focused support for Java is good but sadly OpenJDK has lot more restricting license compared to Harmony. And I’m considering all VM, library & test code. That’s always bad for industrial acceptance. Without changes in licensing yes seems it’s already past time as there’s more flexible solutions out there. Ragarding client side, Android stays as a fork. And any later modern non-android ones try to keep away from java tech…

  4. Personally, I’d wish Oracle/Sun were wise enough to hand-over control to a vendor-neutral standardization body, e.g. the Apache Software Foundation. Sadly, the Oracle/Sun execs don’t seem to grasp this yet. They prefer to have full control over a vanishing proprietary technology rather than limited control over a thriving open technology.

  5. Well, I am glad the deadlock may finally be resolved after all these years. It lets everybody move on, including the technology.

  6. A “reverse fork” would be a “merge”. But that’s not what this is, is it? No code from Harmony will be merged into OpenJDK, or am I wrong?

  7. Thank you all for your comments. As I’m sure you’ve read elsewhere, Oracle itself has talked about changes to the JCP. We are of course involved, but we’ll have to see what changes are enacted and how quickly. I think we’re all trying to be constructive here and get this fixed. Michael, you perhaps took me too literally, I was thinking more about the people involved in the formerly separate efforts. Perhaps I could have used a different phrase, but it did seem to convey the idea I was trying to get across to many people.

Comments are closed