'No' Vote on Jigsaw Doesn't Mean It Won't Be in Java 9

The final vote count was 10 for, 13 against, but the decision of the Executive Committee of the Java Community Process (JCP) to reject JSR 376 doesn't mean we won't be seeing the long awaited, much delayed modularization of Java in the next release.

The results of the Public Review of the Java Platform Module System (JPMS) specification, better known as Jigsaw, published on Monday, reflect concerns among EC members about the current state of the project. Red Hat and IBM announced their intention to vote "no" on Jigsaw in its current form. They were among the first to question publicly the readiness of the JPMS for Java SE 9, but they weren't alone. The OSGi, Maven, Gradle, and Ant communities all expressed concerns about the specification before the vote. So did the JSR 376 Expert Group (EG).

"Most of these issues are related to Jigsaw's core architecture and the possibility that it will generate a huge compatibility mess, plus break existing tools," said Gartner analyst Anne Thomas in an e-mail.

Thomas pointed to a detailed list of concerns about Jigsaw posted in April by Scott Stark, vice president of architecture for Red Hat's JBoss group, on his blog.

"The Jigsaw implementation is a new module system which is has worked successfully for modularizing Java itself," Stark wrote, "but is largely untried in wider production deployments of any real applications on top of the JVM. Many application deployment use cases which are widely implemented today are not possible under Jigsaw, or would require a significant re-architecture."

IBM's Tim Ellison posted a note on an OpenJDK mailing list, arguing that the community should listen to "multiple EG members" who have said the spec isn't ready. "While I understand the desire to keep the process moving along," he wrote, "I believe there is a value in listening to the collective wisdom of the EG and respecting their opinion."

Mark Reinhold, chief architect of Oracle's Java Platform Group, warned EC members a few days before the vote in an open letter that rejecting the spec could delay the JSR "possibly for years," and could result in "a design so bloated and complex that no working developer would ever use it."

But the key words to keep in mind here are "current state." Many of the comments accompanying the ballot noted specific concerns about the current draft of the specification, a lack of consensus among members of the EG, but not a rejection of the JPMS. And because a "no" vote doesn't terminate the JSR, those concerns could be addressed before another Public Review Ballot, which could be held in 30 days.

Thomas pointed to a comment by EC member Tomitribe in the comments section of the JCP ballot page: "Though a No vote feels like rejection, we ultimately believe it is the most supportive vote for gaining a greater level of consensus we believe is necessary from a JSR, while still keeping time pressure."

The London Java Community explained its "no" vote to its members on the LJC Web site: "We voted 'No' because we want to see final consensus on the last few outstanding issues as well as some bedding in time of recent, far-reaching consensus decisions. [W]e don't think this should or will delay Java 9 significantly, we expect a re-submission and eventual "Yes" vote to this specification within 30 days

The final release date for the latest incarnation of the Java SE Platform has been pushed back twice. Reinhold proposed those delays, both times citing the challenges posed by Project Jigsaw.

The modularization of the Java SE Platform and JDK is the biggest change ever for Java. Brian Goetz, Oracle's rock star Java Language Architect, has said that support for lambdas in Java SE 8 would "change the way we program in Java every day." But JSR 376, the Java Specification Request that aims to define "an approachable yet scalable module system for the Java Platform" will bring a fundamentally new kind of programming component to Java.

About the Author

John K. Waters is the editor in chief of a number of sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS.  He can be reached at [email protected].