Javaをモジュール化する「Project Jigsaw」、コミュニティ再投票でついに可決! ほぼ全会一致で賛成
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月へ延期。今回の再投票で可決へこぎつけたことになります。
参考リンク
- The Java Community Process(SM) Program - JSRs: Java Specification Requests - results
- 最近のProject Jigsaw の流れ:コミュニティ投票でNo (Public Review Ballot) - sugarlife's blog
- IBMとRed HatがJavaモジュール(Jigsaw)に反対を投票 - InfoQ
- Building Consensus on JSR 376: Java Platform Module System - Java SDK
- Twitter’s Vote on JSR 376 Public Review Reconsideration Ballot
- Twitter’s Vote on JSR 376 (Java Platform Module System)
関連記事
あわせて読みたい
Docker 17.06 Community Editionが登場。マルチステージビルド機能が安定版に。コンテナプラットフォームを組み立て可能にする「Moby Project」で開発された初のバージョン
≪前の記事
[速報]Nutanix、マルチクラウド対応のアプリケーション運用管理ツール「Calm」発表。Nutanixの管理画面からパブリッククラウドへもアプリケーションを導入可能