Proposed schedule change for JDK 9

The key feature of Java 9 is Project Jigsaw [1], which will introduce a standard module system and use that system to modularize both the Java SE Platform and the JDK. This large project consists of a JSR for the module system plus five JEPs, for the implementation of the module system and for other changes specific to the JDK. We've made good progress on Jigsaw over the last eighteen months: We reorganized the source code into modules in August 2014 (JEP 201 [2]), restructured run-time images to support modules in December 2014 (JEP 220 [3]), began discussions in the JSR 376 EG last February [4], and published a design overview, draft specification, and EA builds in September [5]. More recently we presented an integrated series of talks on Jigsaw at JavaOne 2015 and Devoxx BE 2015 [6] which were very well-attended and motivated many developers to download the EA builds, try them out, and send feedback and suggestions. In the current JDK 9 schedule [7] the Feature Complete milestone is set for 10 December, less than two weeks from today, but Jigsaw needs more time. The JSR 376 EG has not yet published an Early Draft Review specification, the volume of interest and the high quality of the feedback received over the last two months suggests that there will be much more to come, and we want to ensure that the maintainers of the essential build tools and IDEs have adequate time to design and implement good support for modular development. For these reasons I hereby propose a six-month extension of the JDK 9 schedule, moving the Feature Complete (FC) milestone to 25 May 2016, the General Availability (GA) milestone to 23 March 2017, and adjusting the interim milestones accordingly. As with previous schedule changes, the intent here is not to open the gates to a flood of new features unrelated to Jigsaw, nor to permit the scope of existing features to grow without bound. It would be best to use the additional time to stabilize, polish, and fine-tune the features that we already have rather than add a bunch of new ones. The later FC milestone does apply to all features, however, so reasonable proposals to target additional JEPs to JDK 9 will be considered so long as they do not add undue risk to the overall release. Comments on this proposal from JDK 9 Committers are welcome, as are reasoned objections. If no such objections are raised by 18:00 UTC next Tuesday, 8 December, or if they're raised and satisfactorily answered, then per the JEP 2.0 process proposal [8] this will be adopted as the new schedule for JDK 9. - Mark [1] http://openjdk.java.net/projects/jigsaw/ [2] http://openjdk.java.net/jeps/201 [3] http://openjdk.java.net/jeps/220 [4] http://openjdk.java.net/projects/jigsaw/spec/ [5] http://mail.openjdk.java.net/pipermail/jigsaw-dev/2015-September/004480.html [6] http://openjdk.java.net/projects/jigsaw/talks [7] http://openjdk.java.net/projects/jdk9/ [8] http://cr.openjdk.java.net/~mr/jep/jep-2.0-02.html