ついにOpenJDK 11リリース!今後LTSは実現するか!?
Oracle社が Oracle JDK 11 のLTS有償化を発表してから半年が経ちました。
Oracle JDK 8 の無償サポートは2019年1月で終了します。
9、10のサポートは既に終了しています。
そしていよいよ注目の OpenJDK 11 が正式リリースされました。
残念ながらLTS発表はありませんでしたね。
これからどうすべきなのでしょう?どんな選択肢があるのか、ざっくりとまとめました。
OpenJDK 11のサポート期間はどうなる!?
注目の理由は、OpenJDK 11 のサポート期間がLTSになるのか?の1点に尽きます。
LTS(Long-term support):長期サポートのことです。
OpenJDK の関係者がブログでLTSに言及していますが、リリースされた現時点でも正式発表はされていません。発表されているのは OpenJDK 12 リリースまでの6ヶ月間のサポートだけです。
もしLTSが実現した場合、無償を続けたい利用者としては OpenJDK 一択となるでしょう。
このままLTSが無かったらどうする?
もし OpenJDK 11 にこのままLTSが無かったらどうしたらよいのでしょう?
Java 利用者にはいくつかの選択肢があります。
Oracle JDK 8 を有償で使い続けつつ、アプリケーションを改修
Oracle は「Java SE Subscription」というモデルを発表しており、Oracle JDK 8 のサポートを2025年3月まで受けることができます。
サポートを受けつつ、それが切れるまでに最新の JDK で動くようにアプリケーションを改修するという手があります。
頑張ってOpenJDKのリリースサイクルに追従する
安全に OpenJDK を使い続けるには、6ヶ月間という短期間でアップデートを繰り返さなければなりません。
JDKのアップデートは、ちゃんとアプリケーションが正常に動くかテストしてから行うのが普通ですので、6ヶ月間隔は短すぎますね。
RHELに引っ越す
RHEL(Red Hat Enterprise Linux)に入っている OpenJDK はRedHat社がLTSを提供すると発表されています。
もちろん11もそうです。
RHEL 自体有償ではありますが、選択肢としてはアリです。8も2023年6月までサポートされますしね。
元々 RHEL を使っていたなら、今回の騒動に巻き込まれることはないのでラッキーですね。
AdoptOpenJDKを使う
今回のJava騒動を受け、Java開発者に4年間のサポートを提供するために活動しているコミュニティがあります。そこがメンテナンスをしている JDK です。
11は2022年9月まで無償でサポートされます。
問題は実績ですね・・・。
IBMの有償サポートを購入する
安心して AdoptOpenJDK を使いたいなら、IBM の有償サポートを購入するという手があります。
あきらめて放置する
これが一番ありそうで怖いです。
要は、今までタダだったモノにお金は出したくない(予算も無い)ということです。まぁ、それはそうですよね。
Oracle JDK 7、9、10 のようにサポート切れの JDK を放置
サポートのある JDK に移行するための費用が無い!そもそもサポート費用も出せない!
2019年1月を過ぎても Oracle JDK 8 をそのまま放置
サポートを延長する費用が無い!
頑張って OpenJDK 11 に移行したが、アップデートについて行けなくて、途中で放置
半年ごとにテスト・リリースする費用が無い!
そもそもタダのままでいいの?
我々利用者は、ボランティアや、活動をサポートする企業によって生み出された高品質なモノを、オープンソースの名のもとにタダで使ってきました。
JDK もその一つです。
他人の努力にタダ乗りする人たちのことをフリーライダーと呼びます。
普通に考えるとこれは健全な状態ではないですよね?
最後に
無償にこだわりすぎて、逆にメンテナンス費用がかさんだり、穴だらけのまま放置したり、無用なトラブルを招くのは本末転倒です。
利益を追求する企業が JDK を使うのであれば、それ相応の対価を払うことを検討してもよいのではないでしょうか。