Javaの有料化を正しく理解する。これだけ知っていればOK! 簡単かつ明瞭にまとめてみた。

2019年1月13日テクノロジーJava, OpenJDK, Oracle, オラクル, ロードマップ, 有償

Java が有償化されたと聞かれた方も多くいると思います。ネットでググると多くの方がこの件に書いていますが、一部間違った(英語の)解釈も出回っているのでここで完結にまとめてみたいと思います。

(2019.01.12 PST 更新)

 

Javaの有償化はOracle Java SEのお話。

Javaにはいくつか種類があります。今回の対象はオラクル社が提供するOracle Java SEについてです。

 

変更点は大きく2つ。Javaのサポート体制変更と有償化。

Javaのサポート体制、主に期間について、これまでとはガラッと変わりました。それぞれのバージョンによってLong Term Support(LTS)かそうでないかが決まっています。(https://www.oracle.com/technetwork/java/java-se-support-roadmap.html)

簡単にまとめると以下です。

Java SE 8 -> LTSができる以前からあるバージョン。期間はLTSに近い。(プレミアサポート2022年9月まで。いつまでWebサイトからダウンロードできるかわからない。)
Java SE 9 -> non-LTS (サポート既に終了。一般ユーザはWebサイトからもダウンロードできない。)
Java SE 10 -> non-LTS (サポート既に終了。一般ユーザはWebサイトからもダウンロードできない。)
Java SE 11 -> LTS (プレミアサポート2023年9月まで)

このため、Java 8の次は皆さんにJava 11に移行せざるを得ないのです。

 

Oracle Java を使う限り、有償化は避けられない。

オラクルはJava SE 11から有償と既に発表しています。
https://www.oracle.com/assets/e-pl101005-101005a-n-176288-ja.pdf

※現在2019.01.10の情報ではJava SE 8 も2019年1月から有償になると言われています。

Java Standard Editionのサポート及び価格については、以下のサイトに発表されています。
https://www.oracle.com/technetwork/java/javaseproducts/overview/javasesubscriptionfaq-4891443.html

<2018.12.17現在>

ユーザ課金の場合 $2.5 / 月
CPU課金の場合 1CPU = $25 / 月

またいくつかのサイトで希望的な噂が流れています。それは「Oracle Java Runtime Environment は無料。」というものですが、残念ながらJava SEにはSDK 及びJREが含まれます。よってこの解釈には無理があります。

*Oracle Java SE 11からはそもそも JREだけの配布というものがありません。すべてJDKに含まれています。JREにあたる部分のみが欲しい場合はその部分だけをJDKから切り出す必要があります。そもそもJREという形がないので、JREだけが無料といこともないのです。

 

逃げの王道はOpenJDK

サポートの有無以外でもデメリットはいくつかあるが、商用で使用する場合、やはり一番気になる点はセキュリティでしょうか。

他にもLinuxベンダーが提供しているOpenJDKベースのJavaもあります。ITエンジニアの方々は今後はそのシステムの用途別に真剣にどのJavaを使用するか検討していく必要があります。

 

更に詳しく知りたい人に。こちらのサイトが今後の代替案について詳しくまとめてあります。