Java SEアセンブリの配布に関するOracleの
ライセンスポリシーの変更が施行されてからすでに2日。 スロッポック開発者の中で(私も彼らの中にいます)、悪夢のような噂が急増し始めました。
どうした
2018年半ばに、Oracleはライセンスポリシーを変更することを発表しました。 2019年4月16日、変更が施行されました。 これで、この日付以降に公開されたすべてのJava SEビルドは、個人的なニーズと開発目的にのみ無料で使用できます。 オラクルは、商用利用(本番を含む)の場合、料金を支払う必要があります。
一体何?
オラクルは足を踏み入れ、Javaを殺しますか? いいえ、殺しません。 いいえ、私はしませんでした。 しかし、
フリーローダーの問題が私たち全員を投げました。 GPL、BCL、WTFを使用せずに、実際の意味でこれが何を意味するかをすぐに理解しましょう...
なぜこれをしたのですか?
ご存知のように、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に挿入するか完全に削除することで
、これらの違いを
体系的に削減します。