Tags

JCP reform: A moot point or the main point for 2011?

JCP reform emerged as a key topic during the developerWorks Java platform roundtable last spring, and seemed to gain momentum with the coming together of IBM and Oracle on the OpenJDK project last fall. More recently, however, that promise appears to have died on the vine.

In November, Red Hat engineer and developerWorks Java zone contributor Dan Allen, along with Lincoln Baxter III, issued an open letter and petition calling for JCP reform. The pair sought to have the JCP "live up to its name as a 'community process,' rather than acting as the 'corporate process' many believe it is today." Among other things, the petition demanded a Java specification license that covers "the specification documents, the APIs, the reference implementations and the compatibility test suites."

Colebourne's compromise: The JCP splitThe Allen-Baxter petition took it as given that the JCP could and should be central to the healthy evolution of the Java platform. According to their view the JCP was salvageable; so, they said, "let's salvage it and get it moving again." Salvaging the JCP was also key to the "JCP compromise proposal" issued by Apache Software Foundation member Stephen Colebourne in October 2010.

In calling for a JCP split, Colebourne sought to acknowledge the interests of both Oracle and the Java community at large. The core of the Java platform, Colebourne wrote, is clearly Oracle's domain, and that should be made explicit. Likewise, the tools and technologies that have grown up around the core platform (what Colebourne called the Java ecosystem) are increasingly and viably independent of Oracle and the JCP, and that also should be made explicit. Rather than continue under the pretense of an open standards body for the Java platform, suggested Colebourne, Oracle should publicly remove the core JSRs from the JCP and free the Java ecosystem standards to a "fully independent standards body."

Apache's departure, and what's nextAs we now know, the Apache Software Foundation board ultimately rejected Colebourne's compromise proposal, announcing its departure from the JCP on December 9. Apache's departure from the JCP is a staggering loss, at least for those invested in the way Java technology used to be. But what's been most telling is the loud silence that has followed since. You might chalk it up to JCP fatigue, but perhaps it's simply that the JCP, and the politics around it, aren't that important. Not from a business infrastructure perspective, and not from the perspective of standards-based software development.

Eclipse Foundation Executive Director Mike Milinkovich summed up this view, saying that it would be a mistake to confuse the JCP's vendor neutrality with its effectiveness as a standards body: The JCP has never and will never be a vendor-neutral organization (a la Apache and Eclipse), and anyone who thought it so was fooling themselves. But it has been effective, and I believe that it will be effective again. The most important thing, he said, is "actually getting platform specs through the process."

Stephen Colebourne also articulated the pragmatic position in explaining his own decision, despite his disagreements with Oracle and the JCP, to continue working on JSR-310, now targeted to Java SE 8. The key, he concluded, is that the relative openness of the JSR is up to the spec lead. The JCP is now simply a means of gaining access to the Java platform.

Former JCP Executive Committee member Tim Peierls, who also resigned from the JCP in early December 2010, offered what he called a heretical perspective, that given a rich and healthy Java ecosystem, the growth and evolution of the Java platform may not be all that crucial -- at least not at the pace promoted by most software companies: We are whipped to a frenzy with messages (both subliminal and explicit) that Java is falling behind, losing mind-share, being lapped by C#, anything to sell the idea that more is desperately needed, when in fact most folks could make do with a lot less.

Do you agree with that statement, or the premise that the JCP may have outlived its usefulness? What about the licensing model? Does it undermine the long-term health of the Java ecosystem? 2011 is just getting underway, and I expect it will be an interesting year on a number of fronts.

The opinions expressed in this blog are my own and do not represent the official views of IBM.Thanks to Athen O'Shea for his research on this post.