Doug Lea leaving the Java Community Process

I was originally going to title this article "Is Oracle Killing Java?" and write about a number of recent events in the Java community, but I'll try to just stick to the most recent fact, which is that Doug Lea is resigning from the JCP Executive Committee. (JCP stands for Java Community Process.)

The JCP was an open standards body put together by Sun to provide direction for the future of the Java language. In short, people would put together requests for changes/additions to the Java programming language in the form of a JSR (Java Specification Request), and the JSR would then, over time, be approved and added to the Java language, or not. As Mr. Lea writes, the JCP wasn't perfect, but at least it was pretty good.

Doug Lea and the JCP

Anyone who has been involved with Java since the 1990s is probably aware of who Doug Lea is, but if not, see that link. (He may be most famous for his Concurrent Programming book, which was published in 1999.)

Now, as to his leaving the JCP, here are a few quotes from Mr. Lea's letter to the JCP Executive Committee where he explains why he isn't running for another term:

I believe that the JCP is no longer a credible specification and standards body

Ouch. Here are a few details to support that statement:

Sun initially placed in the JSPA and Process documents enough rules to ensure that the JCP could foster innovation, quality, and diversity, independent of that from Sun, with few enough (albeit annoying) exceptions to allow JCP to drive consensual progress more successfully than seen in most standards bodies. However, some of these rules, and violations of rules, have been found to be the source of stalemates and lost technical ground. Rather than fixing rules or ceasing violations, Oracle now promises to simply disregard them. If they indeed act as they have promised, then the JCP can never again become more than an approval body for Oracle-backed initiatives.

So basically Oracle is completely running the show now, and they'll only approve what they want to approve.

For the core Java platform ... the only existing vehicle for which I can foresee a useful role for the academic and research community is OpenJDK. OpenJDK is a shared-source, not shared-spec body, so is superficially not an alternative at all. But at this point, a Linux-style model for collaboratively developed common source is likely to be more effective in meeting upcoming challenges than is the JCP.

For the millionth time since Oracle bought Sun I'm hearing about the OpenJDK project.

For other efforts, I cannot recommend to anyone that they use the JCP JSR process ... to gain consensus for proposed specifications.

So paraphrasing again, it's Oracle's show, and they're not open to your suggestions.

My take

Personally I wish Oracle could see how their self-centered focus on the bottom line is bad for the future of the Java programming language. While Sun was always seen as a benevolent dictator, Oracle isn't perceived any different than Microsoft, and may in fact have a worse reputation, and that makes Java a much less attractive programming language.

(Note: I first learned of this story on Apple's Java-dev mailing list.)