Oracle’s chief Java architect has criticised Red Hat and IBM for the companies opposition to make Java 9 modular.
The Java Platform Module System (JPMS) a core component of Project Jigsaw, the most likely candidate for modularity in Java 9, has received opposition from both IBM and Red Hat.
IBM have hinted that they may vote against the changes whilst Red Hat initially agreed to the coming changes. Since then Oracle Chief Java Architect Mike Reinhold has come out and said that Red Hat worked consistently to undermine any coming changes.
In an open letter to the Java community, Reinhold said: “Red Hat Middleware initially agreed to the goals and requirements of the JSR, but then worked consistently to undermine them. They attempted to turn this JSR into something other than it was intended to be. Rather than design one module system that is both approachable and scalable they instead wanted to design a “meta” module system via which multiple different module systems could interoperate on an intimate basis.
“I can only assume that they pursued this alternate goal in order to preserve and protect their home-grown, non-standard module system, which is little used outside of the JBoss/Wildfly ecosystem.”
This opposition could delay the upcoming release of the Java Development Kit 9, which is expected to release in late July. Modularity is being touted as one of the main features of the new development kit, and is expected to make the platform much more scalable.
One of the main concerns is that the modularity is untried for wider applications and could actually split the development base by creating two separate spheres, those with modularity and those without.
Last month Red Hat’s EC member Scott Stark, said: “The Jigsaw implementation is a new module system which is has worked successfully for modularising Java itself, 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.”
In his Java community call to action Reinhold also took aim at IBM, stating that the company was putting its own interests first .
Reinhold said of IBM: “IBM has declared publicly that they will cast an explicit vote against this JSR. That is disappointing also—and surprising.”
“IBM has said very little during the course of this JSR. After they announced that they would vote against it they later sent a list of specific issues to the EG, but only in response to a request from another EG member. None of those issues is new, many of them were discussed long ago, and IBM was silent during most of the discussions.”
Earlier this month IBM’s JPMS member Tim Ellison said: “While I understand the desire to keep the process moving along, I believe there is value in listening to the collective wisdom of the EG and respecting their opinion. It should not come as a shock that executive committee representatives talk to the EG members and support their
position as to whether the specification is ready to proceed.”
Modularity has been a problem for Java in the past, so much so that the feature was originally abandoned in Java 8 and has caused the delay of Java 9.