オラクル、Oracle JDKを再び無料提供へ、本番環境でも利用可。昨日リリースのJava 17から
オラクルは、同社が提供している企業向けのJavaディストリビューションであるOracle JDKのライセンスを変更し、無料で本番環境などでの利用を可能にしました。
同社が9月14日付で公開したブログ「Introducing the Free Java License 」で、次のように説明しています(関連するプレスリリース「Oracle Releases Java 17」)。
- Oracle JDKを無料で提供し、四半期ごとのセキュリティアップデートも提供する。
- 新ライセンス「Oracle No-Fee Terms and Conditions (NFTC)」は、商用利用や本番環境での利用を含むすべてのユーザーに対して無料での利用を許可する。
- Oracle JDK 17から、この無料のリリースとアップデートの提供を開始する。これは次の長期サポート(LTS:Long Term Support)がリリースされてから1年が経過するまで続く。
最新版のOracle JDK 17が無料で利用可能に
Javaは半年ごとにフィーチャーリリースと呼ばれるメジャーアップデートが行われますが、このフィーチャーリリースのうち、3年に一度のリリースが長期サポート版(LTS版)として提供されます。
このLTS版は、少なくとも3年以上にわたりアップデートやセキュリティパッチが提供されます。Javaのバージョンを一定期間以上固定して開発や運用を行いたい企業ユーザー向けのリリースです。
前回のLTS版は2018年9月に登場したJava 11であり、昨日リリースされたJava 17が最新のLTS版となります。
今回の発表により、このJava 17に対応したOracle JDK 17が無料で提供されることになります。
そして少なくとも次のLTS版が登場して1年が経過するまで、Oracle JDK 17に対して本番環境などでの利用許可とオラクルからのセキュリティパッチ提供などが無料で受けられることになります。
次のLTS版は、当初の予定では3年後の2024年9月に登場となっていますが、オラクルは現在、この3年ごとのLTSのサイクルを2年ごとにする提案を行っています(もしこれが実現すると、Oracle JDKの無料期間も1年短くなると見られます。これについては後日、別記事で紹介する予定です)。
Oracle JDKはなぜ再び無料化されたのか?
企業がJavaを利用する場合、Oracle JDKが事実上の標準とされてきました。
しかし2018年にOracle JDKの商用利用の有償化が発表されます。
当時は「Javaが有償化された」との誤解を含む多くの反発があった一方で、これを機会に、オープンソースであるOpenJDKを基にさまざまなベンダがビルドした独自のJavaディストリビューションが登場し、注目されるようになりました。
特に、AWSがAmazon Correttoを、マイクロソフトがMicrosoft Build of OpenJDKをそれぞれ無料でリリースし、自社のクラウドではそれを標準のJava環境にします。
- AWSが独自のOpenJDK「Amazon Corretto」発表。AWS内部で使っていたJavaを外部提供へ。Java 8は2023年まで、Java 11は2024年まで無償でLTSを提供
- マイクロソフトが無償でJavaの長期サポートを提供へ、「Microsoft Build of OpenJDK」をリリース
このことが、いまクラウド市場でこの2社を懸命に追いかけているオラクルの判断に影響したのではないかと推察されます。
Javaの実行環境として大きな影響力を持つAWSとMicrosoft AzureのJava環境がそれぞれ両社自身のJava環境になり、ユーザーが次々に「Oracle JDKでなくても全く問題ない」と考えるようになれば、JavaにおけるOracle JDKの影響力が削がれていく可能性が高くなります。
これを長期的に見れば、Javaの実行環境として事実上の標準であるOracle JDKの本家が運営しているOracle Cloudこそ、企業のJava環境にとって最善の選択肢である、というJavaにおけるOracle Cloudの地位までおびやかされてしまう可能性があるのです。
そのためにはJavaの事実上の標準がOracle JDKであることを維持しなければなりません。
あくまでも推測ですが、オラクルはクラウドの競争力を維持するために、Oracle JDKも企業にとって魅力的な選択肢として維持しなければならなかった。そのためにOracle JDKのライセンスを変更したのではないか、と考えられるのです。
関連記事
あわせて読みたい
Dockerコンテナをサーバレス化する「Google Cloud Run」で、非同期処理やバックグラウンドタスクなどが実行可能に
≪前の記事
3年ぶりの長期サポート版となる「Java 17」正式版がリリース。M1 Macのサポート、Sealed Classの追加など