本記事は、日経 xTECHの「Javaを無償で使い続ける、3つの選択肢」(2018年8月28日掲載)を再編集したものです。

 Javaユーザーに決断の時が迫っている。これまで米オラクル(Oracle)はJava開発実行環境「Java SE」をOracle JDKとして無償で提供してきた。しかし、2018年9月にリリースされたJava SE 11からはOracle JDKは有償になった。オラクルに料金を支払わないユーザー企業は、無償でオープンソースのJava SE「OpenJDK」を利用することになる。

 これだけを聞くと、Oracle JDKからOpenJDKに乗り換えればよいのではないかと思える。ところが、同じJava SEのバージョンを使い続けたいユーザー企業にとっては、そう簡単な話ではない。Java SE 11からリリースサイクルが変更され、サポート期間も変更されるからだ。

 Oracle JDKでは、同じバージョンを使い続けたいユーザーに向けて、Java SE 8まではサポート期間の長いLTS(Long Term Support)があった。このバージョンのユーザーも、サポートは2019年1月までだ。

オラクルから提供されるJava SEのリリースサイクル
[画像のクリックで拡大表示]

 OpenJDKは、6カ月ごとにバージョンアップが予定されている。バージョンアップ後は、旧バージョンのセキュリティパッチなどは基本的にリリースされない。つまり、Java SE 10を使っているならば、2018年9月にJava SE 11がリリースされたことで、Java SE 10向けのセキュリティパッチはもはや配信されない。

 有償のOracle JDKでは、今後も3年ごとにLTSバージョンをリリースする。LTSに該当するバージョンは、Java SE 11やJava SE 17だ。しかし、OpenJDKにLTSバージョンはない。オラクルが2017年にリリースサイクルの変更を発表した当時は、OpenJDKもLTSバージョンが提供されるという噂があった。しかし今のところ、「具体的な話は出ていない」(OpenJDKコミッターの吉田真也氏)という。

 これまで通り、Javaを無償で利用したいユーザーはどうすればよいのだろうか。日本Javaユーザーグループ(JJUG)の幹事会メンバーである谷本心氏は「主に3つの対策が考えられる」と話す。それが、(1)バージョンアップに追従できる開発体制を整える、(2)OpenJDK以外のJDKを使う、(3)セキュリティを担保した上でバージョンアップを保留する、の3つだ。

この先は有料会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら