JSR 310 arrives at OpenJDK on time for Java 8 debut
After a lot of JCP wrangling, the Date Time API looks set for Java 8
JSR 310 has an interesting backstory. The Date and Time
API, co-led by Joda-Time
creator Stephen Colebourne, has been eagerly awaited since
2008 as the answer to the maligned Date and Calendar effort,
but was pushed back due to
JCP issues .
With Java 8 on the horizon, there’s finally an OpenJDK project (ThreeTen) aiming to integrate the API into JDK8 - hopefully suggesting that the mistakes of old will soon be corrected.
The modernisation is already well underway. JSR 310 is currently hosted on SourceForge while the development of the specification, RI and tests all take place at Github. With the appearance of an OpenJDK project, all this will be periodically merged as the big date comes ever closer.
Colebourne’s feelings towards what he called the “zombie Java Corporate Partnership” had threatened to derail the project at the end of 2010, when he considered stepping down. At the time, he admitted feeling conflicted and that he thought Java needed a renovated Date and Time API outside of the JCP terms. He wrote in the 2010 blog post.
I’ve been highly critical of Oracle’s stewardship of Java, particularly on the topic of the JCP. Choosing to U-turn on their previous public statements and force through the Java SE 7 and 8 JSRs was bad for Java and bad for Oracle. By accepting Oracle’s actions, the remaining JCP executive committee members ended the notion of the JCP as an open standards body.
So, while my heart might tell me to walk away from the zombie JCP, my head tells me that I really don’t need to. This is just an open source project which the community badly needs. And the JCP is just a tool I can use to access Java SE 8. I dislike maven as a tool, yet I still use it – I can dislike the JCP and still use it in exactly the same way.
Colebourne is still very much opposed to the JCP,
this month that there’s “still no transparancy
[sic]”. With so many features falling by the
wayside, the addition of a new Date and Time API in
Java 8 just became ever more important, so the fact he’s put aside
his differences for the good of Java is commendable.
Considerable work, including a redesign of core API parts and a separation into two modules, has already gone into ThreeTen in an attempt to simplify the API ahead of its Java 8 curtain call. Now the real grafting begins to ensure it arrives on time.
Flickr Courtesy of Karen_O’D on Flickr