ブロックチェーン・AI・システム開発の株式会社INDETAIL

Java開発者必見!Javaのリリースモデル変更について押さえておきたいポイントを紹介

2018.06.01
suzy

Java9以降、Javaのリリースモデルやサポートポリシーが変更されています。
昨年(2017年)9月のOracleの公式ブログでは、以下のような発表がありました。

Oracle is proposing to increase the release cadence of Java SE to every six months

Java SEのリリースサイクルを6カ月単位とする.

Oracle has proposed a time-driven release model for Java SE instead of the historical feature-driven model

Java SEのリリースモデルを、従来の機能ドリブン形式から、時間ドリブン形式に変更する.

The Oracle JDK will continue as a commercial long term support offering

Oracle JDKの長期サポート(LTS)を有償提供する.

今回のリリースモデルの変更は、Javaを利用したプロダクトを開発・運用している場合、少なからず(場合によっては大きな)影響を受ける可能性がありますので、ぜひ概要だけでも押さえておきたいところです。

前述した3点について、もう少し掘り下げてみます。

リリースサイクルを6カ月単位とする

Java9以降、毎年3月と9月の年2回、メジャーバージョンアップが行なわれます。
また、バグフィックスなど機能に影響のない修正については、年4回のマイナーバージョンアップが予定されています。

なぜこのような変更が採用されたのか、という点は次に記載します。

リリースモデルを機能ドリブン形式から、時間ドリブン形式へ

「◯◯ドリブン」という言葉は、最近ビジネス用語としても耳にする機会が増えましたが、「◯◯をきっかけに、◯◯を原動力として」という意味を持ちます。

従来、Javaは「この機能が実装できたらリリースする」という機能ドリブン形式のリリースモデルを採用していたため、数年間隔でのリリースが当たり前でした。他の言語と比較して、Javaの進化は非常にゆっくりしたスピードだったのです。

このような背景から、開発者からより頻繁なリリースが要求されるようになり、「6カ月経ったらリリースする」という時間ドリブン形式へと転換することになりました。

Oracle JDKの長期サポート(LTS)を有償提供する

今まで無償配布されていたOracle JDKは、Java11より有償化され、サポート契約を結んだユーザーに対してLTS版が提供されるようになります。そのため、無償でJavaを使い続けたい場合には、オープンソース版である「OpenJDK」に切り替える必要が出てきます。

実際、Oracle JDKとOpenJDKに機能や性能面で大きな差異はないため、OpenJDKは商用利用にも十分対応できます。

ここで注意したいのが「無償利用でサポートを受け続けるには、半年のリリースごとに必ずバージョンアップしなければならない」という点です。

以下にOracle JDK、OpenJDKそれぞれのサポート期限をまとめてみました。
※2018年5月時点

Oracle JDK OpenJDK 備考
Java8 2019年1月(商用の場合) 2018年3月
Java9 2018年3月 2018年3月 以降、リリースモデル変更
Java10 2018年9月 2018年9月 Oracle JDK無償配布の終了
Java11 2026年9月(LTS) 2019年3月

OpenJDKは新しいバージョンがリリースされた時点で、古いバージョンのサポートが終了します。

実際のところ、安定したシステム運用を目指すのであれば、半年おきの言語バージョンアップは現実的ではありません。OpenJDKでもLTS版を提供しようとする動きもあるそうですが、残念ながら、まだどうなるか分からないというのが現状です。

まとめ

今回は、Javaのリリースモデル変更の概要についてまとめてみました。

Javaを採用しているシステムは、今後「OpenJDKに移行する」「Oracleと有償サポート契約を結ぶ」「Java以外の言語に切り替える」などの選択肢を迫られることになります。

官公庁システム等でもJavaが採用されているケースは多いと思いますが、以下のようなレポート(PDF)が公開されていましたので、興味のある方は読んでみてください。
Java のサポートポリシー変更等に関する技術レポート - 内閣官房情報通信技術(IT)総合戦略室

ぜひ、早めの対策検討をお勧めいたします!

参考

Oracle Java SEサポート・ロードマップ
http://www.oracle.com/technetwork/jp/java/eol-135779-ja.html

suzy Kawasuji Marie

INDETAIL には珍しい文系出身。初心者向け Raspberry Pi ネタと、色々な開発 tips を書いています。最近のおすすめマンガは「恋は雨上がりのように」。心が洗われます。