2018年9月にJava 11がリリースされ、それに伴いサポート内容が変更されました。中にはJavaが有償化という言葉を聞くようになり戸惑っているユーザーも多いのではないでしょうか?
ここではそんなJavaの有償化について詳しく知りたい方にむけて、以下の内容で解説していきます。
- そもそもJavaとは?
- Javaの有償化の詳細とは?
- 代わりの手段は?
今回はJavaの今後の有償化含めたサポート内容の詳細などについて、わかりやすく解説します!
なお、Javaの記事については、こちらにまとめています。
そもそもJavaとは?
Javaの有償化の説明に入る前に、まずはJavaについて簡単におさらいしておきましょう。
Javaは1990年代にSun Microsystemsが開発・発表したオブジェクト指向という考え方を取り入れた言語です。2010年にOracleが買収し、Oracle製品の1つになりました。
Javaは家電やモバイル機器を始めとして、多くのデバイスに搭載されています。国内でもスマートフォンなどに搭載されていて、アプリ開発を行うにはJava言語を使って開発することになります。
Javaの有償化の詳細
ここではJavaの有償化の詳細についてわかりやすく解説していきます。
何が有償化されたのか
Javaが有償化になると一時期話題になっていたたため、Java自体が今後無料で使えなくなるのでは?と思われているユーザーもいるのではないでしょうか?
結論から言えばOracleが提供しているOracle JDKの長期商用サポートであるLTS(Long Term Support)が有償となります。
※Oracle Java SE サポート・ロードマップによると、Oracle JDKは今後3年ごとにリリース予定の長期商用サポートのLTS版(Java 11、17 …)と半年ごとの短期サポートである無償のnon-LTS版(Java 12~16)をリリースしていく予定です。Javaを商用利用するためには長期サポートを受けられるLTS版になると思われます。
そもそもJavaはオープンソースとして無料で利用できるOpenJDK(Open Java Development Kit)が存在し、今後も変わらず無償で使えます。(JDKとはJavaで開発するためのソフトウェアの総称です。)
そしてJDKはOracleが提供しているOracle JDK以外にもIBMやRedHatなどが提供しているJDKも存在します。それぞれサポート契約を結ぶことでJDKを利用することができますし、無償で提供しているJDKも存在します。
そのため、Oracle JDKを利用していた場合、今後以下のような選択肢を検討する必要があると考えます。※詳細は後述
- 有償のLTS版の契約を結ぶことで継続して利用する
- 無償のnon-LTS版を半年ごとに利用する
- Oracle以外で提供しているJDKに移行する
- OpenJDKに移行する
OpenJDKについて重要な点がサポートポリシーについてです。メジャーバージョンごとのメンテナンス期間が、次のメジャーバージョンが出るまでの間となっています。
Oracle JDKとOpenJDKのそれぞれの詳細については、以下の記事でも詳しく解説しています。
https://www.ossnews.jp/compare/Oracle_JDK/OpenJDK
- 詳細をまとめると、
Java自体が有償化したのではなく、Oracleが提供しているOracle JDKのLTS版が有償化。
Oracle JDKは今後3年おきに有償のLTS版、半年おきにnon-LTS版をリリース予定。
OpenJDKを利用することで今後もJavaは無償で利用できる。ただし、サポートが次のバージョンがリリースされるまで。
Oracle以外にもさまざまな有償無償のJDKが存在する。
金額はいくら?
Oracleの公式サイトによると、有償のサポートサービスであるJava SE Subscriptionの価格体系は以下のようになります。
Java SE Subscriptionについてはこちらに概要が掲載されています。
http://www.oracle.com/technetwork/jp/java/javaseproducts/overview/index.html
またJava SE Subscriptionでは2025年3月までJava8のサポートが宣言されました。
Oracle Java SEサポート・ロードマップ
http://www.oracle.com/technetwork/jp/java/eol-135779-ja.html
代替え手段について
ここでは前述したOracle JDKのLTS版の有償化に伴い考えられる代替え手段について、詳細を解説していきます。
- 無償版のOpenJDKに移行する
Oracle JDKの有償化に伴い、無償のOpenJDKを利用することも考慮しなければなりません。
ただし、OpenJDKはメンテナンス期間が次のメジャーバージョンが出るまでの間(6ヶ月ごと)となっているため、古いバージョンはサポート対象外となります。
- Oracle JDKを利用する
これまで無償でしたから、今後商用利用するには当然コストが発生します。コストは開発や運用、利用者の規模によって変わってきます。
Oracle Java SEサポート・ロードマップでは、
「企業や個人での利用に対して最善の判断をしていただきたいと考えています」
というコメントを掲載しています。
http://www.oracle.com/technetwork/jp/java/eol-135779-ja.html
また、無償のnon-LTS版はOpenJDK同様短期サポートとなるため、商用で利用する際は長期の商用サポートであるLTS版を利用することになると思われます。
- オラクル以外のJDKを利用する
先述したとおり、オラクル以外でも有償無償関わらずさまざまなJDKが存在しますので、検討してみても良いでしょう。
たとえば、Red HatのOpenJDKライフサイクルおよびサポートポリシーでは、OpenJDK 8で2023年6月、OpenJDK 11で2024年10月までサポートされる予定です。
まとめ
今回はJavaのJDK有償化について解説しました。2018年の9月以降にJavaのJDKは有償化されましたし、バージョンアップも6ヶ月ごとに行われます。
この記事がこれからJavaを使って開発、運用、利用する際の判断の材料になれば幸いです。