Oracle Java SEのロードマップとサポートの変更について

Oracle Java SEの機能リリース方式とサポートに対する考え方が大きく変わり、商用での利用が基本的に有償化される。広く使用されているプログラミング言語および実行環境のリリース方式とサポートの変更であるため、影響について整理したい。

リリース方式の変更

Java SEのリリース方式は数年に年に1回、仕様変更を伴うバージョンをリリースしていくモデルであったが、今後は、期間ベースのリリースとなり、6ヶ月に1回を目標に仕様変更を伴うリリースを行う方式に変わる。基本的に新バージョンが提供されると前バージョンのサポートはなくなってしまう。長期サポート(LTS)版が設定されれるので、商用ではLTS版が使用されることになるのではと思われる。

<各バージョンのサポート期間(予定)>

バージョン 利用開始日 公式アップデートの終了 備考
Java 8 2014年3月 2019年1月 サポート契約による延長可能
Java 9 2017年9月 2018年3月
Java 10 2018年3月 2018年9月
Java 11 2018年9月 未発表 LTS版

※詳細は本ページ末尾の「参考」のOracle社のリンクを参照

Oracle JDK 8の公式アップデートの終了

2019年1月でOracle JDK 8の無償での公式アップデートが終了になる。パッチダウンロードなどのサポートが必要な場合は、この期日までにサポート契約を結ぶか、OpenJDKに移行する必要がある。

無償での使用とOpenJDKについて

Javaをサポートありで無償で使用したい場合は、OpenJDKを利用することになるが、LTS版が提供されるか現時点では不明のため、短いサイクルでバージョンアップをしなければならなくなる可能性がある。

Oracle Java SEではないJDKを使用している場合

アプリケーションサーバなど、Oracle以外の製品を使用している場合は、製品に同梱されている各ベンダー独自で実装したJDKを使用している場合も多い。このケースでは、今回の変更の影響を直接は受けないため、各ベンダーにサポートについて変更がないか確認する必要がある。

個人での利用

Java 8については、個人での利用については、2020年12月末まで引き続きアップデートを受け取ることができるとされているが、JDKではなくJREについて言及されているように思われる。個人での利用もOpenJDKに移行していくことになりそうである。

総括

期間を決めて新バージョンをリリースし、LTS版を提供する方式は、Ubuntuなど他のソフトウェアでも行われていることなので、特に問題視する必要はないと思われる。インパクトは、サポートの有償化で、商用の利用がOpenJDKで耐えうるものであるかという点にかかっている。現時点でリスクを回避するには、安定稼働が求められる商用の利用では基本的には有償版が必要になると考えて対応せざるを得ない。

補足

Javaは、Sun Microsystem社で開発され、その理念は「Write once, Run anywhere」とされた。Javaの利用環境が無償で提供され続けてきたことで、最適であるかは別にしてもJavaは様々な用途で使用可能な言語として認識されていると思う。今回の有償化でその流れに変化が来ないことを望みたい。今回のリリース方式とサポートの変更で、Javaが時代の流れに即応可能な言語環境として使用され続けるのか、特に小規模なアプリケーションで、別な無償で利用できる言語環境(PHP、Ruby、Python、JavaScript等)に移行していくことになるのか気になるところである。

参考