Javaをモジュール化して必要な部分だけを使えるようにすることで、Javaライブラリの複雑な依存関係の解消やJavaのスリムダウンを実現する「Project Jigsaw」は、9月に登場予定のJavaの新バージョン「Java 9」最大の目玉機能です。

そのProject Jigsawの仕様であるJSR 376（JPMS：Java Platform Module System）のコミュニティ再投票が6月26日に締め切られ、Red Hatが棄権した以外はすべて賛成票となり、ほぼ全会一致で可決されたことが明らかになりました。

Project Jigsawは、5月8日に締め切られた前回の投票では、賛成10、反対13と否決されていました。

その後、Project Jigsawの仕様を検討するエキスパートグループによって修正案が提出され、今回その修正案をもとに行われた投票で可決されたことになります。

IBM、Twitter、Red Hatらのコメントは？

前回反対票を投じていたIBMとTWitter、そしてRed Hatらの、今回の投票におけるコメントを見てみましょう。

IBMのコメント。

IBM values the new compatibility and migration enhancements for enterprise applications added to the specification, and the disposition of outstanding issues as agreed amongst the Expert Group. IBMは仕様に追加された新しい互換機能とエンタープライズアプリケーション向けの拡張の緩和、そしてエキスパートグループ内で合意された未解決の課題の処理について評価をした。

IBMは詳しいコメントを同社のブログ記事「Building Consensus on JSR 376: Java Platform Module System」で公開しています。

Twitterのコメントは、同社のブログ「Twitter’s Vote on JSR 376 Public Review Reconsideration Ballot」から引用します。

Relaxing strong encapsulation by default should help adoption of JDK 9, at least in the short-term, by removing an important barrier. 強力なカプセル化機能をデフォルトで緩和したことは、少なくとも短期的にJDKの採用にとって大きな障壁を取り除き、助けとなるはずだ

Twitterは前回、反対票を投じた理由もブログに投稿した記事「Twitter’s Vote on JSR 376 (Java Platform Module System)」で説明していますが、その内容はProject Jigsawを導入したことによる互換性への懸念とその影響の大きさでした。

唯一投票を棄権したRed Hatは、エキスパートグループによる前回投票に対する修正案を評価しつつも、まだ課題が残っていると指摘。しかしながらさらにリリースに時間を掛けるよりは、リリースして実際に使ってもらったうえでフィードバックをもらったほうがよいと考えたからだとコメントしています。

Project Jigsawの長い道のり

Project Jigsawはここまで長い道のりを歩んできました。

当初、Project Jigsawは2011年にリリースされたJava 7に組み込まれる予定でしたが開発の遅れで入らず、2014年にリリースされたJava 8にも議論の末に見送ることが決まり、今年2017年にリリースされるJava 9で組み込まれることが昨年ついに発表されました。

しかし前述したように今年5月の投票でProject Jigsawが否決されたことなどを受けてJava 9のリリーススケジュールが7月から9月へ延期。今回の再投票で可決へこぎつけたことになります。

参考リンク

関連記事