'No' Vote on Jigsaw Doesn't Mean It Won't Be in Java 9
- By John K. Waters
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.
John has been covering the high-tech beat from Silicon Valley and the San Francisco Bay Area for nearly two decades. He serves as Editor-at-Large for Application Development Trends (www.ADTMag.com) and contributes regularly to Redmond Magazine, The Technology Horizons in Education Journal, and Campus Technology. He is the author of more than a dozen books, including The Everything Guide to Social Media; The Everything Computer Book; Blobitecture: Waveform Architecture and Digital Design; John Chambers and the Cisco Way; and Diablo: The Official Strategy Guide.