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.
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.
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
- Ryan Paul, reporting for Ars Technica, gives a concise overview of Harmony's licensing history; the implications of Sun's, and now Oracle's, field-of-use restrictions; and IBM's role in championing the platform until now.
- Stephen Colebourne, an ASF member, summarizes his views on both the Sun/Oracle licensing dispute and the upshot of IBM's decision.
- According to Harmony creator Geir Magnusson, Harmony's future remains in the hands of its developers.
- Many, including DZone's James Sugrue, are wondering what role Google might play in Harmony's future , given the subset of Harmony libraries used in Android.
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
- Charles Nutter hits all the bases in his summary of the Oracle-Google lawsuit and its ripple effects across the Java ecosystem.
- Greg Luck outlined a proposal for a Java fork in his October 4 blog post "Is it time to fork Java?"
- Googling Google blogger Christopher Dawson discusses Google's options to fight or join and concludes that Google will 'keep on being Google'.
- Google, along with IBM, Oracle, and Red Hat, is a leading contributor to the OpenJDK project.
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.
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.
- OpenJDK : Learn more about the open source Java platform implementation.
- The JCP is the standards body that develops Java technology specifications.
- "IBM, Oracle, OpenJDK, and the implications" (Scott Langingham, developerWorks podcasts, October 2010): IBM's Rod Smith and Jason Gartner discuss the implications of the Oracle-IBM alliance on OpenJDK.
- IBM developer kits for the Java platform: Learn more about what IBM's runtimes and VMs
- Browse the technology bookstore for books on these and other technical topics.
- developerWorks Java technology zone: Find hundreds of articles about every aspect of Java programming.
- Get involved in the My developerWorks community. Connect with other developerWorks users while exploring the developer-driven blogs, forums, groups, and wikis.