どうした
2018年半ばに、Oracleはライセンスポリシーを変更することを発表しました。 2019年4月16日、変更が施行されました。 これで、この日付以降に公開されたすべてのJava SEビルドは、個人的なニーズと開発目的にのみ無料で使用できます。 オラクルは、商用利用(本番を含む)の場合、料金を支払う必要があります。
一体何?
オラクルは足を踏み入れ、Javaを殺しますか? いいえ、殺しません。 いいえ、私はしませんでした。 しかし、
なぜこれをしたのですか?
ご存知のように、Oracleは実際に2つのバージョンのJDKを収集し、公開しています。OracleJDK (別名Java SE、 java.comにあります )とOpen JDK( openjdk.java.netにあります )。
アイデア全体の意味を理解するには、 プレゼンテーションのこのスライドをご覧ください。
商用アセンブリの場合、サポートは長くなります。 無料-短い。 つまり 6か月以内に無料のOpenJDKにパッチを適用するには、バージョンをアップグレードする必要があります。 Oracle JDKでは、リリースからさらに5年後にパッチがリリースされます。 したがって、支払われます。
Java 8、9、10、11はどうですか?
これはすべてのバージョンに適用されます。
JREについてですか?
別のJREライセンスは示されていません。 JREはJDKのサブセットであるため、ライセンスの制限は同じであると考えられています。 つまり -はい、これはJREに適用されます。
今、私はそれをすべて本番に分解する必要がありますか?!?!
いや 変更は、新しいリリースのみに関係します(4月16日以降)。 Java 8 SEでは、制限付きの最初のリリースはUpdate 211でした。以前にリリースされたものはすべて、制限なしでさらに使用できます。
今何をしますか?
OpenJDKをインストールします。 ただし、OracleのOpenJDK自体には公式のWindowsインストーラー(および自動更新)がないため、手動で解凍する必要があります。
インストーラーが重要な場合は、Oracleの初期リリース (Update 202)のみを使用できます。 そして、更新はまだ無効にする必要があります。
UPD:コメントでは、 コミュニティによってサポートされているAdoptOpenJDKインストーラーの無料のバイナリがあることを示唆しました。
JetBrainsでサポートされているLiberica JDKにも注意を払うことができます。
OpenJDKに支障はありませんか?
するべきではありません。 機能の違いは最小限であり、影響を受ける人はほとんどいません。 同時に、Oracle はこれらの違いをOpenJDKに挿入するか完全に削除することで、これらの違いを体系的に削減します。