※注 当初「2018年にJavaを利用している人は全員理解すべきことを説明してみる」として公開した記事ですが、2019年になっても有用性が変わりませんのでタイトルを改変して公開します。
最新ニュース(2019/4/16)
新元号対応のJava SE Development Kit 8u211から、ライセンスが変わり、無償利用は「開発・個人のみ」に変わっています!
>>
Javaのこの記事が衝撃的
新野淳一さんのとても分かりやすいJavaの将来についての記事を読みました。
これは、大変なことになります。断定します。
劇的に変更されるJavaのサポートポリシー
世の中にはサーバーサイドがOracle Java SE 8で動いているたくさんのWEBアプリケーションが存在しています。Oracle Java 7が2015年4月に無償サポートが終了しOracle Java SE 8へ乗せ換えたり新規開発したりしたアプリケーションがたくさんあります。
Oracle Java 8は2019年1月までしか無償サポートがありません。したがって、せっかく今動いているアプリケーションは来年末までに、それ以降のバージョンに乗せ換える必要があります。そうしないと、脆弱性が発見されても、アップデートは出ません。
Oracle Java 9や10はすでにサポート切れとなっています。
それならOracle Java 11はどうでしょう。2018年9月26日にリリースされました。
※以前の噂では11からは有償サポート契約のある顧客のみ、Oracleサイトからダウンロードできると思われていましたがダウンロードできます。このからくりに気が付きました。11から契約内容が変更されているのです。実質、開発用にしか利用できません。
(重要)Oracle Java 11から、ライセンス契約の内容がガラリと変わっています | 無償利用は非商用・開発用途のみ - orangeitems’s diary
Oracle Java 11は長期サポート(LTS)を実施します。ホームページを見ると2023年9月までPremier Supportとあります。こちらがエンタープライズ向けの本丸でしょう。
勘のいい方はお判りでしょう。今からJavaをセキュアにビジネスで使いたいなら、予算を確保して、Oracleにお金を払えばいいですね・・。
しかも、予算を立てやすい「Java SE Subscription」というモデルがOracleより発表されています。 こちらの記事をご確認ください。こちらを使えば、2025年までJava SE 8をサポートするというのがポイントです。
Oracleは本気だ
ヤバさが伝わりましたでしょうか。OracleはJavaを有償ビジネスに、つまりマネタイズを本気でやろうとしているわけです。セキュリティパッチの出ない言語での提案が、今後新規開発案件で採用されることがあるでしょうか。バージョンアップすればいい、というのは昔の話です。お金を出さなければいけなくなるのです。これは、JavaでのWEBビジネスの大きな転換点と言えると思います。
Oracle JDKを本番環境で使うならこれからは費用が掛かると頭を切り替えましょう。もちろん開発環境利用であればこれまで通りです。
OpenJDKはあるけれど
で、「いやいやOpenJDKってのがあるんでしょう?」という反論があろうと思います。オープンソースだからタダでしょ、と。
残念、サポート期間は半年です。Oracle JDKとOpenJDKのバージョンは同じなのですが、LTSのないOracle JDKと同じ扱いになります。半年しかセキュリティパッチの出ないOpenJDK、こんなの商談中にサポート切れちゃいます、よね?
かろうじて、RedHat Linuxを利用している場合は、それに含まれるOpen Java 8は、2023年6月までサポートすると言っています。
OpenJDK ライフサイクルおよびサポートポリシー - Red Hat Customer Portal
Red Hatは、「Java SE 11リリースがリリースされた後、RHEL7.6用のOpenJDK 11の配布を予定している。つまり、11を使うためにはRHEL7.6以上を利用する必要がある。」と表明しています。
Red Hat OpenJDK 11 Advice - Red Hat Customer Portal
上記はすでにリリース済みであることを確認しています。
Red Hat系であれば、Red HatがリリースするOpenJDKに乗り換えるのは有効な選択肢だと思います。
価格は?
Javaのサポートには4つあります。
・Java SE Advanced Desktop
・Java SE Advanced
・Java SE Suite
・Java SE Subscription
通常のサポート体系であればJava SE Advancedが当てはまります。こちらの価格は以下の通りです。
・ライセンス費用=1物理プロセッサーあたり、年間60万円。
・保守費用=1物理プロセッサーあたり、年間13万2000円。
クラウドでの利用などが踏まえられていないためこれだけでは試算が難しいですが、その意味するところはお分かりかと思います。下記が価格表です。
http://www.oracle.com/jp/corporate/pricing/e-pl101005-101005a-n-176288-ja.pdf
また、金額が払いやすい「Java SE Subscription」について価格は下記の表の通りです。
空気や水と同じだったJavaが、有償になるということ
世の中、「オープンソースはタダ」という前提でかなり突っ走っています。LAMPと呼ばれるLinux/Apache/MySQL/PHPという環境でどれだけのWEBサイトが乱立し、ビジネスを形成しているでしょうか。
おそらく、MySQLだって、ORACLEは有償になると思います。オープンソースの幻想はJavaから打ち砕かれた、という日も遠くないと思いました。今、オープンソースにどっぷりつかっている企業は、一度、棚卸を始めたほうがいいと思います。
どれだけオープンソースに、自社の技術が依存しているのかということを。
まとめ
Oracle Java 8を利用している企業が、今後の選択を迫られていることは確かです。
時間は限られています。
お客様に費用を転嫁するか、サポートが目まぐるしく切れるOpenJDKを許容するか。
別の言語に切り替えるか。
経営者の判断が必要です。発表当初は時間はなかったのですがOpenJDKの分野で様々な動きが出ていて選択肢も増えてきました。
なお、金額が払いやすい「Java SE Subscription」は、2025年までJava SE 8をサポートするというのがポイントです。こちらを購入すれば明らかにお金で時間稼ぎができます。
追記
いろいろな記事を書いています。
①
波紋呼ぶJavaサポート打ち切りの横で、IBMがちゃっかりバージョン8のサポートを2022年までサポートを伸ばしているという話 - orangeitems’s diary
※下記追加 (2019/1/21)
IBMがJava 8を「少なくとも2025年までは確実にサポートする」とアピール - orangeitems’s diary
②
2019年1月現在のJavaサポート状況をまとめる - orangeitems’s diary
③
OracleとGoogleのJava著作権侵犯裁判の現状を知る(2018年版) - orangeitems’s diary
④
Oracle JDK、OpenJDKのライセンス体系を知ろう - orangeitems’s diary
⑤
Oracle Code Oneの開催、GraalVMの公開から見るORACLEのビジョン - orangeitems’s diary
⑥
OpenJDK11のLTS(長期サポート)実現をOracleが支援する方向で調整 - orangeitems’s diary
⑦
Java SE Subscription : Oracleから発表された情報まとめ - orangeitems’s diary
⑧
Javaの歴史的転換点となる2018年9月となりました | わかりやすくまとめる - orangeitems’s diary
⑨
(重要)Oracle Java 11から、ライセンス契約の内容がガラリと変わっています | 無償利用は非商用・開発用途のみ - orangeitems’s diary
⑩
OpenJDK完全互換、Amazon Correttoは信用できるのか - orangeitems’s diary
⑪
(重要)Red Hat社のOpenJDK8サポートポリシーが変更。2023年6月に。 - orangeitems’s diary
⑫
Oracle Javaのライセンス違反、企業は確認すべし - orangeitems’s diary