Java News

The JSR 376 Ballot

Any change of Java (be it the language, the compiler, or the JVM) that goes beyond a mere implementation detail needs to be specified and the mechanism to do that is a Java Specification Requests, JSR. For the module system that’s JSR 376 and last week its public preview ballot opened. If you know as much as I did a few weeks ago you will ask yourself, “What ballot?!”

Every JSR is voted on by the Java Executive Committee, in which 23 companies (e.g. Credit Suisse, Intel, SAP, Twitter), communities (e.g. London Java Community), and individuals (Ivar Grimstad, Werner Keil) are represented. Most JSRs only need a simple majority but anything related to the language, like the module system, needs two thirds of the votes (I didn’t check whether of all votes or just of the cast votes), which might turn out to be too high a hurdle for 376.

I was told the votes are usually cast behind closed doors and only become public once the ballot closes but that’s definitely not the case this time! After the strong criticism by RedHat’s Scott Stark and others, it is no surprise that RedHat voted “no”. This became public when IBM’s Tim Ellison publicly replied to state that IBM would do the same. In a later mail he detailed the rationale behind his vote.

Hazelcast did not cast its vote yet but their representative Chris Engelbert announced (in German) that it is also very likely to be a “no”. The London Java Community seems to be on the fence as well. The most recent member to come out against the proposal was the Eclipse JDT team.

(If you want to read more about the reasons behind the votes without reading all those lengthy mails, have a look at InfoQ’s he-said-she-said summary. If nothing else, read Mark Reinhold’s open letter, which he just published on his blog.)

With somewhere between three and five confirmed “no”s, JSR 376 is already half way to being voted down. Wow. What happens then?

In that case the spec lead, Mark Reinhold, gets 30 days to improve the proposal and initiate another vote. As I see it, though, the perceived deficiencies that are publicly cited as reasons for voting “no” can not really be addressed in that time frame. It is of course possible that some voters want to use the leverage of pending failure to get a few more concessions but if we take them by their word, most second vote’s should be “no” as well.

I’ll speculate further after the first ballot closes on May 8th. Looks like I found a topic to write about next week.

Automatic Modules and Module Names

So much for “a short news item”… I’ll push the commentary about the automatic module name news into the next weekly and leave you with links to Mark Reinhold’s recent mail.