orangeitems’s diary

40代ITエンジニアが毎日何か書くブログ

Oracle JDK 17(LTS)から、本番環境での無償利用が認められた件

f:id:orangeitems:20210915171920j:plain

 

Java 17のリリースおめでとうございます。

 

japan.zdnet.com

 Oracleが長期にわたって開発を続けていた「Java 17」「JDK(Java Development Kit)17」がついにリリースされた。長期サポート(LTS)版がリリースされるのは、3年前の「Java 11」「JDK 11」以来となる。Javaの新バージョンは半年に1度、3月と9月にリリースされているが、これらのバージョンは次のバージョンがリリースされるまでしかサポートされない。しかしJava 17は、8年間サポートされることになっている。

 

8年間もサポートしてくれるLTS版、ということのほかに、大事な情報がありますよね。ここ最近のOracle JDKは契約についてひと悶着ありましたが、それを払拭するような話が。

 

無料のJavaライセンスの紹介(Oracle, 2021/9/15)

・オラクルは、四半期ごとのすべてのセキュリティ更新を含め、業界をリードするOracleJDKを無料で利用できるようにしています。これには、商用および実稼働での使用が含まれます。

・新しいライセンスは「Oracle No-Fee Terms and Conditions」(NFTC)ライセンスです。Oracle JDKのこのライセンスでは、商用および実稼働での使用を含め、すべてのユーザーが無料で使用できます。有料でない限り、再配布は許可されます。

開発者と組織は、クリックスルーを必要とせずに、Oracle JDKを簡単にダウンロード、使用、共有、および再配布できるようになりました。

・オラクルは、これらの無料リリースとアップデートをOracle JDK 17から提供し、次のLTSリリースから1年間継続します。以前のバージョンはこの変更の影響を受けません。

・オラクルは、Java 9以降と同じリリースとスケジュールで、GPLの下でOracle Open JDKリリースを提供し続けます。

 

これは大転換ですね。経緯は省略しますが大転換です。

で、このNFTCライセンス、まだ英語版しかないのですが、一生懸命がんばって読むと「え?これってほんとに本番で無料で使っていいの?」となると思います。

でも、公式ブログでは本番利用していいと断言しているので、これをどう解釈するかはコツが必要です。

 

こう読めばいいのです。

・Oracle JDKを、顧客に配布したり、顧客へのサービスを動かすために利用することを認めます。

・Oracke JDKを改変することは認めません。

・再配布にあたって、顧客よりOracle JDKそのものでお金を徴収してはいけません。

 

下記の部分が最も重要です。この記載によってOracle JDKの扱いが180度変わったと言えます。

 

(b) redistribute the unmodified Program and Program Documentation, under the terms of this License, provided that You do not charge Your licensees any fees associated with such distribution or use of the Program, including, without limitation, fees for products that include or are bundled with a copy of the Program or for services that involve the use of the distributed Program.

このライセンスの条件に基づいて、プログラムをおよびプログラムドキュメントを無変更で再配布することを認めます。ただし、プログラムのコピー、または配布されたプログラムの使用を伴うサービスのために用いるにあたり、プログラムの配布または使用に関連する料金を利用者に請求しないことを条件とします。

 

なかなか契約周りは法律も絡んで難しいのですが、とりあえずOracle JDK 17からは何の縛りもなく使って良さそうです。

Twitterを見ていると、ここ最近の混乱で、他社ベンダーのJDKに乗り換えてしまった技術者も多そうですが、さて、昔のOracle JDK一強に戻るのか、様子を見てみたいと思います。