The Colebourne Legacy
“The JCP is kind of a fake zombie body”
week, we profiled
OpenGamma, a London-based startup bringing the open source
model to the closed world of finance. A key member of staff is
Stephen Colebourne, the company’s “Java guru” (to quote their
marketing manager), who is best-known for his work on open source
projects such as Joda-Time and the upcoming
specification for a Time and Date API.
Although no longer a member of the Apache Software Foundation, he’s still passionate about OSS, recently making news with SQL-handling library ElSql. This library was already freely available, Colebourne explains, but was buried within the OpenGamma source code. “It was just a case of, well, we seem happy enough with it, why don't we publish this as a separate project?” he says.
“I think what'll be interesting is now that it's a separate, independent thing on GitHub - will other people pick it up, and if other people pick it up, will they actually have small changes they want to make to it themselves.”
Other components of OpenGamma have previously been broken out into separate project, such as messaging messaging system Fudge. Colebourne is positive about extracting further elements, and hints at a possible standalone time series library (though “it would need quite a lot of work”).
JSR-310: the Date and Time API
ElSql is a mere distraction, however, compared to JSR-310, the
Date & Time API, which Colebourne is leading. With Jigsaw
delayed, it has become one of the headline features of Java 8,
which Colebourne describes as “very weird, given that I don't work
He started on the project as an attempt to bring the ideas of Joda-Time (“the API most sensible people, it would seem, use to do their date and time”) to the JDK.
“Obviously Joda-Time is a separate library,” he says. “It's only so good. It would be nice to get similar ideas into the JDK, and then over time Joda-Time can just fade away. The thing was, that it wasn't really possible to just take Joda-Time as it was, and put it into the JDK.” (Colebourne has written about this in detail on his blog.)
Perhaps to deflate expectations, he’s remarkably pessimistic about the likelihood of JSR-310 being finished in time, or even making it into Java 8.
“JSR-310 aims for JDK 8,” he stresses. “Obviously that's up to a whole variety of people to decide on whether they want to accept it or not... it also requires it to be actually finished to a point at which it is actually suitable for inclusion into the JDK.”
On reforming the JCP
Colebourne has long been an outspoken critic of Java’s standards
body, the JCP (which he describes as “kind of a fake zombie body”),
regularly voicing his opinions on the election process and pushing
for increased transparency on his
“There's lot of people - particularly the London Java Community - who are trying to reinvigorate it, but reinvigorating a zombie is a bit hard,” he says, admitting a lack of interest in the upcoming election.
“The JCP is trying to reform itself, and it's trying to become more transparent, but they only solution which makes any sense is to separate out [into Java EE and SE bodies] - because the JCP does two different roles.
“You need the JCP as it always was - multiple vendors for Java EE specifications, application servers, JMS, all that kind of stuff, and then something else that allows other people to have input into, and general management of, changes to Java SE itself. Where that second body recognises that Oracle is the one who puts in most of the money, and therefore they should have the final decision.
“There's no problem with [Oracle having ultimate control over Java],” he adds. “People read my blogs and assume that I have a problem with that. I have no problem with that at all - Oracle puts in all the money, it should have the final say.
What Colebourne wants to see is “clarity in the organization”, he says. “We need to get the reality of what the situation is back in step with what the legal documents say.”
Photo by Rowan McLaughlin.