米OracleのJavaチーフアーキテクト、Java SEのリリース時期の固定を提案

 米OracleのJavaプラットフォームグループでチーフアーキテクトを務めるMark Reinhold氏は9月6日、Java SEのリリースの変更として、2年おきに新バージョンをリリースする「train」モデルから、リリース時期を厳格に守るモデルに変えることを提案している。

 新しい機能を主導させてスケジュールを遅らせるなど、「Java SE PlatformとJDKはこれまで、長く不規則で、幾分予測できないステップで進化してきた」とReihold氏は記している。この手法は高い品質を維持したものの、API、言語、JVMの小規模な機能は大型機能の完成を待ってリリースするという負の面をもたらしたとする。Javaはより高速なペースで進化する多数のプラットフォームと競争しており、「Javaが競争優位性を保つためには、もっと速く動く必要がある」と変化の原因を説明している。

 Reihold氏はJava 9リリース後のリリースモデルとして、「厳格な時間ベースのモデル」を提案している。6ヶ月おき(3月と9月)にフィーチャーリリースを行い、四半期(1月、4月、7月、10月)ごとにアップデートし、3年ごとに長期サポート版をリリースすることを提案している。フィーチャーリリースはAPIの改善、言語やJVMに関連する機能などあらゆる新機能を対象とし、完成が近づいたもののみをマージする。バージョン番号は年.月(2018年3月のフィーチャーリリースは”18.3”)とする。提案では、長期サポート版は2018年9月からスタートするとなっている。

 なおReinhold氏は高速なリリースを好む開発者と機能主導型を好むエンタープライズとの衝突以前からあり、5年前に「train(トレイン)」モデルとして2年おきに機能主導リリースを行うことに変更したこと、このtrainモデルは実際には予想したようには機能しなかったこと(Java 8のリリースはProject Lambdaの完成を待ったことなどから8ヶ月遅れた)などと振り返っている。

 Java 9については、Project Jigsaw導入のために当初2年半でリリースを予定していたが、3年半後となる今月にリリースする予定となっている。

 この変更が採用されると、OpenJDK Communityにおける開発や貢献に大きな影響を与えることしている(Reinhold氏はJDK 9よりライセンスをGPLv2にすることも提案している)。Java SE Platformのガバナンスを行うJava Community Processの負荷も削減することについても触れている。

Java EE
https://github.com/javaee