Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Reactions to Mark Reinhold's Recent Announcement of Project Jigsaw's Delay

Reactions to Mark Reinhold's Recent Announcement of Project Jigsaw's Delay

Leia em Português

This item in japanese

Java developers across the ecosystem have been swift to react to Mark Reinhold's announcement last week that project Jigsaw, Oracle's planned modularity framework for Java, will now be delayed until Java 9, as previously reported on InfoQ. Jigsaw was originally scheduled to ship with Java 7 in 2011, then was deferred to Java 8, and is now delayed again until 2015.

The reactions to Mark Reinhold's blog are broadly divided into three camps:

  1. Good agile development: Release early, release often; if Jigsaw is late defer it to the next release and deliver Java 8 on time.
  2. Java 8 without Jigsaw is not worth the disk it's written to. Just wait for Jigsaw.
  3. Jigsaw has already been delayed twice and who knows if it will ever be delivered. Give up, Oracle and put your weight behind an existing technology.

Project Jigsaw is intended to deliver on two distinct sets of requirements:

  1. Separate the Java platform into distinct, independent modules that can be excluded until needed.
  2. Provide a platform for building and delivering modular applications.

Reactions to the news seem to depend on where people fall between those two poles:

OSGi supporters feel that OSGi is already well established as a modularity framework for Java applications, so there's some frustration about the direction Oracle has taken.

Former Technical Director at OSGi Peter Kriens told InfoQ it is time for projects to stop waiting for modularity and jump on OSGi:

If Sun/Oracle had not wasted the last seven years playing out their "Not Invented Here" syndrome we would have had a much more productive industry; it is clear that adoption of OSGi has suffered because of the resulting Fear, Uncertainty, and Doubt. If this new "planning" holds then we'll have (limited) modularity in the VM around 2015. A full lost decade after JSR 277 and an astounding 17 years after OSGi was founded. If you were holding your breath for Jigsaw it is now time to adopt OSGi to gain the advantages of modularity. Not only is there no alternative, tooling has really improved with bndtools.

Eric Newcomer, former chair of the OSGi Enterprise Expert Group told InfoQ how things might have been:

Four years ago we invited the Jigsaw folks to join forces. They declined, and I am afraid now everyone is paying the price for that unfortunate decision.

Modularity is by definition a complex problem (as the Jigsaw folks have just acknowledged), and I don't believe there was a serious effort to evaluate the potential for OSGi to be used as a general solution.

Neil Bartlett, OSGi Expert at Paremus Ltd, sees it as a missed opportunity:

It looks like we will not get the benefits of a modular JRE until at least 2015. This is a great shame for developers using OSGi just as it is for everyone else developing on the Java platform. For starters, who wouldn't like to have the ability to strip down the JRE to just the core functionality that we need? Also the way OSGi interacts with the JRE today leaves a lot to be desired. A modular JRE could have allowed OSGi bundles to require a JRE containing a specified set of versioned modules. We could then perform compile-time validation that only the required APIs were actually used within the bundle, and we could even use the OSGi R5 Resolver to work out which set of JRE modules to install when provisioning that bundle. I do still hope we can get to this point in the future.

Eclipse Foundation Executive Director Mike Milinkovitch provided InfoQ with a more somber response:

It is clear that the Java platform would greatly benefit from both a modularity model, and from being modularized itself. It is unfortunate that delivery of this important work has been pushed off until 2015. I am particularly concerned about the impact this may have on the road map for Java in embedded and mobile. An additional two year delay in those segments, which are by far the fastest growing, throws the currency and relevancy of the entire Java platform into question. Any development platform that doesn't have compelling business and technology stories for embedded and mobile developers is at risk of sliding into irrelevancy.

In the meantime, this delay provides an opportunity for the "other" Java modularity technology to flourish. OSGi needs to improve if it wants to survive in the long term, and this two year reprieve is an opportunity for its supporters. In particular, the OSGi community needs to step up its efforts around tools and usability if it is going to attract more Java developers.

Eclipse is significantly impacted by all of this, as 65% to 70% of all Java developers use Eclipse. Furthermore, our community is committed to OSGi as it underpins the Eclipse plug-in model. The continued health of both technologies is clearly important to the future of the Eclipse community.

On the other hand, Cameron Purdy, Oracle VP of Development is from the agile camp:

While it is disappointing that the Jigsaw release is delayed, it is important to get it right, and if that means a delay, then so be it. It would be far worse to rush something half-baked into Java. Look, doing it right will always take longer than anticipated.

A common theme is how much more of this should be expected? Markus Karg expressed it nicely in his comment to Reinhold's blog:

It is a bit ridiculous that Jigsaw is stripped from JDK 8 as it was already stripped from JDK 7. What will be next? Moving it to 10 after 9, 11 after 10? Just give up the idea and use Maven. It's here already and serves well.

Guillaume Laforge, Head of Groovy Development at Spring Source said:

We didn't go too far with modularity in Groovy 2... because we didn't want to duplicate what was supposed to be coming in Java 8. But now, it means it won't be in the hands of developers before two years, and in production before three years :-( It means that Jigsaw, if it ever ships, will have been 5+ years in the making. That sounds a lot, even for such a big feature and task.

Kirk Knoernschild tweeted some practical advice for Oracle to consider:

Joking aside, why not release a module system in Java 8 and modularize the JDK in Java 9. Why do both in a single release?

It is apparent that people are disappointed. But until Oracle delivers on Project Jigsaw, development teams will need to choose between waiting or adopting practical alternatives.


Rate this Article