Java 9のその先へ~JavaOne Conference 2017レポート

第2回 JDKの新しいリリースモデルに要注目 OpenJDKとOracle JDKの違いにも注意が必要[JavaOne 2017]

この記事を読むのに必要な時間:およそ 2 分

Javaの開発環境であるJDKのリリースモデルについて,Oracleは2017年9月に,これまでの2年ごとのメジャーアップデートという方針を改め,6ヵ月ごとにアップデートを繰り返す時間ドリブンのモデルに切り替えることを発表しました。

同10月1日から5日に米サンフランシスコで開催された「JavaOne 2017」において,この新しいリリースモデルの関する詳細が明らかにされたので,本記事でレポートします。

Oracle, Director Product Management Java Platform, Aurelio Garcia-Ribeyro氏

Oracle, Director Product Management Java Platform, Aurelio Garcia-Ribeyro氏

新しいJDKのリリースモデル

OracleがJDKのリリースモデルを変更する計画を明らかにしたのは,公式ブログ「Java Platform Group, Product Management Blog」の9月6日のエントリでのことでした。この提案の概要は以下のとおりです。

  • Java SEのリリースについて,これまでの機能ドリブンモデルではなく,時間ドリブンのリリースモデルを採用する
  • Java SEのリリースサイクルは6ヵ月ごととする
  • OracleはGPLライセンスの下でOpen JDKのビルドを出荷する
  • 従来Oracle JDK向けに有償で提供されていた機能はオープンソース化してOpenJDKに寄贈し,将来的には両者のビルドの違いをなくす
  • OracleはOracle JDKの長期サポート(LTS:Long Term Support)を有償提供する
  • 新しいモデルはJava 9以降に適用される(Java 8以前のサポートは従来どおり)

前者2項目はJava SEプラットフォームならびにその開発ツールであるJDK全般に関わることです。従来はJCP(Java Community Process)で承認された新機能すべての開発が完了した段階でメジャーリリースとする方針を取っていましたが,Java 9以降は6ヵ月サイクルで期間を区切って,その時点で完成している新機能をリリースしていくことになります。

後者3項目はOracleによるリリースとサポートの話になっています。OracleはOpenJDKをベースにしたOracle版ビルドとしてOracle JDKを提供しています。Oracle JDKについては,商用サポート契約を結んでいる顧客に対して長期サポートを提供するとのことです。

OpenJDKのリリースラインは1本

今回JavaOne 2017のセッションでは,この新しいリリースモデルに関してもう少し詳しい内容が発表されました。新しいリリースサイクルを表した図が以下のものになります。なお,リリース予定日を含めて,この発表内容自体が今後変更になる可能性もあるので注意してください。

2017年10月,JavaOne 2017で発表されたリリースサイクル

2017年10月,JavaOne 2017で発表されたリリースサイクル

OpenJDKについては,当初の発表どおり6ヵ月ごとに機能リリースが行われます。今までのように「JDK 8」「JDK 9」のような複数のリリースラインは無くなり,リリースラインはメインの1本ということになります。バージョン番号は,2018年3月リリース版が「18.3」⁠2019年9月リリース版が「19.9」のように,リリース年月を元にしたものになります。メジャーバージョンという概念はJava 9で最後となり,Java 10といいバージョンはリリースされないそうです。

なお,新しく導入される機能についてはOpenJDKプロジェクトの「JEPプロセス」にもとづいて提案・議論が行われます。これは従来のJava 9のなどと同様です。JEPで提案されている新機能には,言語仕様やJava VMの仕様に変更を加えるような修正も含まれています。

著者プロフィール

杉山貴章(すぎやまたかあき)

有限会社オングス所属。Javaやシェルスクリプトによるソフトウェア開発を手がけるかたわら,プログラミング関連書籍やIT系雑誌記事,ニュース記事などの執筆などを行っている。著書に『正規表現書き方ドリル』(2010年,技術評論社),『図解クラウド 仕事で使える基本の知識』(2011年,技術評論社)などがある。

コメント

コメントの記入