この記事は3分程度で読めます。
ふわっとした情報が多いため、調べたことを備忘として残します。
(調べても結局ふわっとした感じはぬぐえていない( ノД`))
※2018/7/3現在の情報です。
何がまずい?
JDK8(java8)の商用サポート期限が2019年1月で終了する(例外はあるが、後述)。以降、致命的な脆弱性があった場合にパッチが提供されないため、2019年1月までにはJDKのバージョンを上げないとセキュリティを担保できない。
OracleJDK(JavaJDK)を8より新しいバージョンにアップデートすればいいか?
OracleJDKは2018年9月リリース予定のJava11をもって、ライセンス契約者のみの配布となるため、有償サポート契約が必要になる。
LTS版(長期サポート版、現在はJDK8がこれにあたる。次が11)のバージョンアップは3年毎のサイクルで行う予定。
短期サポート版(JDK9,10,12,13等)のバージョンアップは半年サイクルで行う。
有償サポートのプランや価格については、月額モデル等の新たなプランが米オラクルでは発表されたため、近いうちに日本オラクルより、何かしらアナウンスがあると思われる。
有償サポートを受けた場合の特典として、JDK8のサポートが最大2025年まで延長されるという特典がある。
無償のJavaは無いの?
存在する。が、OracleJDKから他のJDKへの切り替えは、Javaをバージョンアップする様なイメージになるため
切り替えを行う場合は、動作保証のためのテストフェーズが発生すると思って下さい。
OpenJDK
OSS開発のJDK。内部的な違いはあるが、Oracleと連携をとって開発されており、機能的な差異は無いとされている。
バージョンアップは半年ペースで、最新版のみをサポート対象とする予定。
LTS版をリリースするという話が出ていたが、公式発表は無く、あまり期待できない。
RedHat社はOSに内包するOpenJDK8のサポートを独自に2020年10月まで行うとのこと。
AdoptOpenJDK
OpenJDKのビルドを提供するプロジェクト。IBM、マイクロソフト等がバックアップしており、OpenJDKの提供しているJDKよりも多くのプラットフォームに対応している。(AIX等)
こちらは半年ごとにアップデートする通常のバージョンに加え、4年のサポートを行うLTS版を提供する予定である。
現在考えられる選択肢は…
・Oracle社の有償サポートを受けJDK8を使い続ける。
・Oracle社の有償サポートを受け、LTS版のJDK11へ切り替えを行う。3~4年ごとにバージョンアップを行う
・OpenJDKへの切り替えを行い、半年ごとにバージョンアップを行う
・OpenJDKへの切り替えを行い、2020年10月まで様子を見る。※OSがRedHatの場合のみ
・AdoptOpenJDKへの切り替えを行い、3~4年ごとにバージョンアップを行う
総評
無償で使う場合、AdoptOpenJDKが現実的でしょうか。JDK8の終焉まであと半年と迫っていますがあまり情報がありませんね。
そろそろ何か発表がありそうですが、発表があれば追記したいと思います。