来年の1月にJavaのOracleによるサポートが有償化されることに関連して、今更ながらに内容の確認。
OpenJDKとOracleJavaによる双方のアップデートスケジュールに対して、開発側としてどう考えて行くのか、スタンスを決める必要がある
結局のところ、Javaのサポートが必要になった自体は今の所ないんだけれど、もしものことがあった場合にどうすんの?ってこと。
特にEnterpriseの文脈ではサポート切れに対して契約で縛っているケースもあるので、注意が必要となる。
JDK: 新しいリリースモデル解説(ver.2.1)
https://www.slideshare.net/oracle4engineer/jdk-ver21
10月度のOracleからの資料が上記になる。
OpenJDKは6ヶ月毎のリリースで、無償サポート期間に重複はない。OpenJDKを選択した場合でサポートが必要となる場合は、常に更新をし続ける必要がありそうだ。
アプリケーション次第だが、6ヶ月毎に更新し続けるというモデルは結構手間がかかるので、実際のところ問題があった際にのみ更新を行う形なのだろうか。先に書いたように、サポート切れのものを利用することが禁じられているケースでは正直厳しい。
その場合はやはりOracleJDKになる。
当初は価格的に厳しい見通しだったが、6月に発表されたサブスクリプションモデルの価格(スライド22)では、サーバー利用の場合にはCPUあたり¥3,000/月というところ。
これらを顧客に利用料や保守費という形で転嫁することが可能であればこちらの選択肢が有力。
サーバーが1CPUってことはないと思うので、2〜4CPUとすると¥72,000〜¥144,000くらいか・・・。
アプリケーション次第ではあるけれど、一悶着起きてしまうアプリケーションもありそうだ。
というか、Oracleのライセンス料って年々上昇する傾向にあるのが何よりの不安材料だ。
そういう意味では、アップデート検証が可能な状態にして起きつつOpenJDKを使うという選択肢か。
OpenJDKを検討する場合、AdoptOpenJDKも考慮に入れて見る。
コミュニティによるOpenJDKバイナリの提供だが、調べているとOpenJDKよりもこちらを推奨する声が散見される。
コードベースはOpenJDKだが、コミュニティによるテストも実施。
サポートもLTSという形で4年見てくれそう(https://adoptopenjdk.net/support.html)
ただ、こういうコミュニティによるサポートがどこまで効力を持った形で受け入れられるか。
※2018/11/21追記
AWSからもLTS付きのOpenJDKビルド提供のアナウンスが出たようだ
https://dev.classmethod.jp/cloud/aws/amazon-corretto/
コミュニティやAWSクラウド上だけのサポートという位置づけではなく、幅広くサポートしてくれたりAmazonという位置づけだったりと、期待が持てる。
AdoptOpenJDKは知っている人には知っているという位置づけだろうけれど、Amazonであれば知名度は高い。
クラウド環境でのサービス提供であれば十分ではないだろうか。
客先オンプレミス環境に関しては、選択肢としても十分だろう。
何れにしても、各社で自社としてのスタンスを明らかにして置く必要がある話ですね。