IBM and Oracle change the game: A surprising alliance on OpenJDK

IBM and Oracle surprised many with their joint announcement on October 11 that they would join forces to advance the OpenJDK project. Most commentators agree that the move, which redefines the Java ecosystem by bringing together two of its biggest players, is good news for the future of Java technology.

More than 60 percent of respondents to a Javalobby poll (600 at last count) said that they believe IBM's decision to co-sponsor the OpenJDK project is good for Java technology. By deciding to focus joint development efforts on OpenJDK, the companies have effectively ended speculation about an IBM-led Java fork, and what it would mean for the multibillion dollar Java industry. With these worries off the table, said Mike Milinkovich of the Eclipse Foundation, "we can get back to innovation."

At the heart of the Oracle-IBM announcement are hard choices made by an industry in flux, from multinational corporations with long-term technology investment to smaller companies and individuals deciding whether to continue developing software on the Java platform. This article presents an overview of the key factors and players involved in, or affected by, the Oracle and IBM decision. At the end of each section, you'll find pointers to web resources that address aspects of the alliance.

OpenJDK as an Oracle-IBM project

OpenJDK is the open source reference implementation for the Java platform; it encompasses Java SE, the Java language, the JDK, and the JRE. OpenJDK specification requests are subject to vote by the Java Community Process. An upcoming vote will determine whether the new proposed OpenJDK roadmap is accepted by the JCP executive committee.

Mark Reinhold, chief architect of the Java Platform Group at Oracle, has stated that IBM engineers working on OpenJDK will probably "contribute primarily to the class libraries, working with the rest of us toward a common source base for use atop multiple Java virtual machines." The two companies will likely continue to work independently on their respective JVMs, "where most of the enterprise-level feature differentiation" is found, he said.

OpenJDK governance?

The OpenJDK project has an interim governance board tasked with creating a constitution for the OpenJDK community. As Simon Phipps has pointed out, the board's status appears to be in limbo as of this writing.

Win some, lose some

The decision to reach out to IBM as an OpenJDK partner was clearly a strategic one for Oracle. Oracle's vice president of software, Adam Messinger, said that the move reflected the pressure on both companies to move quickly and address the challenges posed by evolving multicore hardware. "The agreement is a reflection of the strategic reality we both face," he said.

The OpenJDK alliance de-isolates Oracle, said RedMonk's Stephen O'Grady, effectively affirming and centralizing its role in the Java ecosystem:

If Oracle was going to pick one vendor to stand beside them in their Java efforts, IBM would be the easy choice. Besides the blind trust enterprises place in the firm — "you don't get fired for buying IBM," etc. — Big Blue has an enviable reputation with developers. With IBM now publicly on the same page as Oracle, the latter's task of preserving the ecosystem becomes far, far easier.

It was also a good move for IBM, even accounting for the obvious sacrifice of Harmony. In shifting its engineering resources from Project Harmony to OpenJDK, IBM has solidified its influence on the future of Java technology, albeit clearly under Oracle's stewardship. Both companies have said that they will work together to ensure that the JCP is fortified and enhanced as the primary standards body driving the growth of the Java platform.

Left unresolved are issues of what will happen now to Project Harmony, what the Oracle-IBM alliance means for Google (and by proxy Android), what the OpenJDK alliance (and Google's response) could mean for other vendors in the Java technology space, and how and to what extent the JCP will be reformed.

Further reading: OpenJDK and the Oracle-IBM decision

  • The majority of OpenJDK committers already are employed by Oracle (formerly Sun) and IBM, followed by developers from Google and Red Hat. (Oracle Java/FOSS Ambassador Dalibor Topic has more about this.)
  • IBM's Bob Sutor, vice president of Open Systems and Linux, lays out the reasons for IBM's decision. He addresses both the upside of IBM's improved leverage for ensuring the open source future of Java and the JCP and the upset about the decision's impact on Project Harmony.
  • Stephen O'Grady gives an analyst's insight into the ripple effects of the Oracle-IBM decision across the entire Java ecosystem, including speculation as to why partnering with IBM on OpenJDK was a good move for Oracle.
  • Mark Reinhold explains the thinking behind the new OpenJDK roadmap and its split JSRs.

Back to top

What about Project Harmony?

IBM has been a longstanding backer of Project Harmony, the open source Java runtime developed and licensed by the Apache Software Foundation. To some in the Java community, Harmony has seemed a viable alternative to the official Java platform implementation, should the need arise. Harmony also is seen as a test case for Oracle's position vis-a-vis independent Java implementations and licensing.

Bob Sutor, IBM's vice president of open source and Linux®, summed up IBM's decision to redirect its engineers from Project Harmony to OpenJDK, calling it pragmatic:

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.

While the move leaves Harmony's future uncertain, whether and how the project will evolve is in the hands of developers. IBM's decision "is not a good thing for Harmony" said Harmony creator and Apache board member Geir Magnusson. "But keep it in perspective: For the Apache Foundation, it's up to the community what will be done. We do what the community wants."

Initial reaction to the decision has ranged from variations on "game over (and not just for Harmony)" to the suggestion that parts of Project Harmony could make it into OpenJDK. Some have also speculated that the platform could continue to evolve under the backing of another corporate sponsor; namely, Google.

Further reading: Project Harmony, past and future

Back to top

Google, Android, and the new cold war theory

While Google isn't the only Java technology vendor with a stake in the Oracle-IBM decision, it may be the vendor with the most to lose, or gain, as this story unfolds. Oracle's suit filed against Google in August (claiming multiple counts of patent and copyright infringement related to Android) was a blow to the open source ethos under which the Java ecosystem has thrived. Calls for a Java fork increased following the announcement, and some feared that developers formerly on the fence about Java technology would decamp.

That Project Harmony is without a strong corporate sponsor could be bad for Google (given that Android is built on a subset of Harmony); or it could be very good, if Google chooses to sponsor Project Harmony itself.

Whatever Google's decision, it will affect not just Android, but how vendors view and leverage Java technology in their own implementations. Moreover, as several have pointed out, we may be entering a new cold-war era — with Google, not Oracle, as the outlier.

Further reading: What's next for Google

Back to top

Reforming the JCP

Oracle and IBM have stated that they will work together to reform and enhance the JCP, ensuring that it continues to be the standards body defining the Java platform and language specifications. Oracle reps have affirmed that JCP approval is essential to Java SE development, starting with the upcoming vote on the revised OpenJDK roadmap announced at JavaOne.

Bob Sutor has said that IBM expects to see "long needed reforms in the JCP [...] to make it more democratic, transparent, and open." Some Oracle reps have also hinted not only that JCP reform is under discussion with the executive committee, but that they believe the community will be pleased with the resulting proposal.

Time will tell how the executive committee, and the community at large, respond to proposed JCP enhancements. According to Apache Software Foundation member Stephen Colebourne, the upcoming JCP vote will be an initial test case, however; not just for the revised OpenJDK/Java 7 roadmap, but for how vendors like Red Hat, VMWare, SAP, and Google react to the Oracle-IBM alliance. Colebourne has also proposed a JCP split that would leave Oracle the explicit sole voting power on the specification of the Java core (Java SE, ME, and the JVM, according to Colebourne), while declaring auxiliary libraries a separate province under the direction of a vendor-independent JCP.

Further reading: JCP reform and open source Java

  • Oracle reps Adam Messinger and Henrik Stahl have both hinted that JCP negotiations could please the Java community.
  • For an idea of how members of the JCP executive committee might view JCP reform, see the DZone panel comments from February 2010.
  • Stephen Colebourne has proposed that the upcoming JCP vote could be a measure of where executive committee members stand on the Oracle-IBM decision. (Reporting by Jessica Thornsby for JAXmag online.)
  • Colebourne has also proposed a JCP split.

Back to top

A healthier Java ecosystem?

The Oracle-IBM alliance is widely viewed as a win for Java technology: it both accelerates the OpenJDK project and enables collaboration and resource sharing among a much larger pool of engineers. The move consolidates the energies of two of the industry's most influential forces (by virtue of technology investment and revenue) on its fundamental project, OpenJDK. And it has effectively put an end to speculation about an IBM-led Java fork, which would have done more harm than good to the Java industry as a whole.

In his comments on the alliance, IBM's vice president of emerging technologies, Rod Smith, stressed its stabilizing effects on the Java ecosystem, for developers, for vendors, and for business. "This should remove some of the uncertainty about the future of Java," he said. Danny Coward (formerly of Sun) hailed the alliance as the beginning of a "new era of co-oper-tition," which Oracle's Adam Messinger said would accelerate innovation on the Java platform.

Stability is good, and so is innovation; both are essential to a healthy Java ecosystem. And while stability may rest on the shoulders of giants, innovation in the Java industry has historically been a disruptive force: an arena where small vendors and independent, loosely networked developers count sometimes more than multinational corporations. It's the interplay between those two powerful interests that keeps the Java industry both healthy and honest, and hopefully thriving.

As Fabrizio Giudici (and Gianugo Rabellino) have pointed out there is one final question, and that's the question of freedom; freedom as defined by the Free Software Foundation and codified by open source licenses. That question may yet determine whether the future of Java is founded on one core platform or two, or more.

Further reading: What makes a healthier Java ecosystem?

  • Fabrizio Giudici evaluates shades of gray in his discussion of definitions of freedom — Rabellino's open source versus open standards — and whether an OpenJDK fork would be worth the price.
  • Writing 10 days before the Oracle-IBM announcement, James Governor called disruptive innovation (and open source governance) the rule for the future of Java technology, and no longer the exception.




  • Get involved in the My developerWorks community. Connect with other developerWorks users while exploring the developer-driven blogs, forums, groups, and wikis.

About the author

Photo of Athen O'Shea

Athen O'Shea is a high technology editor and writer, and former editor of JavaWorld.com. As a freelancer, he has plied his trade for developerWorks since 2001.


Back to top

Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help


Bees Beat Machines At 'Traveling Salesman' Problem

Gosh, that is one hell of a bee if it has the brain of a piece of corn... or is corn not a grass anymore? At least when you take some idiotic comparison, take one that has a non-changing size. Penny is okay because all pennies at least within a country tend to stay the same. But grass seeds?

Next up is "brain the size of a pinhead". Oh okay, so there are many sizes of pin but at least we can assume some kind of standard. And that is FAR smaller then most grasses I know and see seeds of in Holland.

Otherwise intresting stuff but I loathe this "make it easier" by obuscating the facts.

Number of neurons in honey bee brain = 950,000 (from Menzel, R. and Giurfa, M., Cognitive architecture of a mini-brain: the honeybee, Trd. Cog. Sci., 5:62-71, 2001.)

Now THAT is a fact. We? We got 100 billion. So, while a bee has a tiny brain compared to ours, it is HARDLY simple. And because it is far smaller and far more primitive it doesn't need as as much intelligence to deal with things it doesn't need to. Listening and producing speech is complex, but bees don't bother with that. Living for half a century and remembring everything is complex. But bees don't do that.

This why computers can do math so fast despite being so stupid, because they only do math.

How can the bee do route calculation with close to a million neurons? I have no idea but didn't research show that far fewer rat neurons could fly a plane? I think some people fastly underestimate the complexity of the brain even small ones. We already know that a neuron is far more then a simple transistor so 1 million super transistors would make for a hell of a complex computer. Suddenly it doesn't seem to odd that a bee can do computations far more complex because THAT is what it is designed to do. You could just as easily marvle at the fact that the bee with its tiny brain can fly, while I with my large brain can't. And no I don't just mean I don't have wings, I mean that if you put me in a helicopter you would have a horrible crash in seconds and that is in the passenger seat.

Marvle at nature, learn from it but don't belittle it. It takes us year to program a robot to walk very very slowly. A deer learns it in minutes and this includes learning to control legs locked up in a womb for months. We can either accept that nature is amazing or we are very very poor programmers... as a developer, I choose to believe that nature is amazing.


Moving from Spring to Java EE 6: The Age of Frameworks is Over

There is no arguing the fact that TheServerSide.com has historically been a strong advocate for the work of Rod Johnson and the Spring framework. The J2EE platform had its shortcoming, and Spring quickly became the most prominent and pervasive framework for easily building enterprise-ready applications, while at the same time, helping developers avoid many of the pitfalls of the old enterprise Java platform.

But J2EE represents the past, and Java EE 6 represents the future. Java EE 6 promises us the ability to go beyond frameworks. Frameworks like Spring are really just a bridge between the mistakes of the J2EE past and the success of the Java EE 6 future. Frameworks are out, and extensions to the Java EE 6 platform are in. Now is the time to start looking past Spring, and looking forward to Seam and Weld and CDI technologies.

And to start shifting into a world of extensions, and moving away from frameworks, the first step is porting your Spring applications to a Java EE 6 environment. To do so, a great place to start is by checking out this article from ocpsoft.com about doing a Spring to Java EE migration.

Spring to Java EE – A Migration Experience