Proposed schedule change for JDK 9

Eighty-five JEPs are targeted to JDK 9 [1]. Most of those are done, or very nearly so. We are not, unfortunately, where we need to be relative to the current schedule. We've made a lot of progress on Project Jigsaw [2], the key feature of the release, over the last eight months. In March 2016 we published a major update to the proposed design of the module system [3] and merged it into the JDK 9 master forest [4]. Since then many developers have downloaded the EA builds and sent in feedback (thanks!), both on the module system itself and on its impact upon the rest of the JDK. Despite this progress, at this point it's clear that Jigsaw needs more time. We recently received critical feedback that motivated a redesign of the module system's package-export feature [5], without which we'd have failed to achieve one of our main goals. There are, beyond that, still many open design issues [6], which will take time to work through. Looking at the release as a whole, the number of open bugs that are new in JDK 9 is quite a bit larger than it was at this point in JDK 8. The maintainers of many popular projects are now actively testing against the JDK 9 EA builds [7], but we'd like to see even more in order to be confident that potential issues have been found and reported. For these reasons I hereby propose a four-month extension of the JDK 9 schedule, moving the General Availability (GA) milestone to July 2017. I'll make a more detailed proposal for that date and other milestones in the next few weeks, but for now I suggest we defer the start of the Rampdown process [8] and continue to operate with the previously-adopted Feature Complete extension-request process [9]. Minor enhancements and even strongly-justified proposals to target new JEPs to JDK 9 will be considered, so long as they do not add undue risk to the overall release. As before, however, our main focus should be to use this additional time to stabilize, polish, and fine-tune the features that we already have rather than add a bunch of new ones. Comments on this proposal from JDK 9 Committers are welcome, as are reasoned objections. If no such objections are raised by 16:00 UTC next Tuesday, 20 September, or if they're raised and satisfactorily answered, then per the JEP 2.0 process proposal [a] this will be adopted as the new schedule for JDK 9. - Mark [1] http://openjdk.java.net/projects/jdk9/ [2] http://openjdk.java.net/projects/jigsaw/ [3] http://openjdk.java.net/projects/jigsaw/spec/sotms/ [4] http://mail.openjdk.java.net/pipermail/jdk9-dev/2016-March/003877.html [5] http://mail.openjdk.java.net/pipermail/jigsaw-dev/2016-September/009365.html [6] http://openjdk.java.net/projects/jigsaw/spec/issues/ [7] https://wiki.openjdk.java.net/display/quality/Quality+Outreach [8] http://mail.openjdk.java.net/pipermail/jdk9-dev/2016-August/004777.html [9] http://openjdk.java.net/projects/jdk9/fc-extension-process [a] http://cr.openjdk.java.net/~mr/jep/jep-2.0-02.html