原文はこちら。
https://blogs.oracle.com/java-platform-group/oracle-jdk-releases-for-java-11-and-later
https://blogs.oracle.com/java-platform-group/oracle-jdk-releases-for-java-11-and-later
Exec Summary
Starting with Java 11から、Oracleはクラスパス例外付きGNU General Public License v2(GPLv2+CPE)と、Oracle製品やサービスの一部としてのOracle JDKで使用したり、オープンソースソフトウェアの利用したくなかったりする方向けに商用ライセンス、その両方でJDKを提供します。GNU General Public License, version 2, with the Classpath Exceptionオープンソースライセンスと商用ライセンスを組み合わせることで、フリーのライセンスと有料の商用ライセンスを組み合わせたこれまでの"BCL"ライセンスを置き換えます。
http://openjdk.java.net/legal/gplv2+ce.html
Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX各ライセンスごとに異なるビルドが用意されていますが、これらのビルドは、表装とパッケージが異なるとはいえ、機能的に同じです。詳細は後述します。
https://java.com/license
From the BCL to the GPL
Binary Code License for Oracle Java SE technologies(BCL)は、10年以上も前からOracle Java SEテクノロジの主要なライセンスとなっています。Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFXBCLは、特定の条件下でライセンス料なしでの使用を許可します。今後の作業を簡素化するために、OracleはLinuxプラットフォームと同じライセンス・モデルを使用し、Java 9のオープンソースのOpenJDKビルドの提供を開始しました。
https://java.com/license
Java Development Kit builds, from OracleOracle Java SEバイナリを無料で入手することに慣れている場合は、 jdk.java.net で入手可能なOracleのOpenJDKビルドをそのまま使用してください。Oracle Java SEバイナリをOracleの製品またはサービスの一部として使用している場合は、My Oracle Support(MOS)およびその他の場所からOracle JDKリリースを引き続き入手できます。
http://jdk.java.net/
My Oracle Support
https://support.oracle.com
Functionally identical and interchangeable...
OracleのBCLライセンスJDKには、これまでOpenJDKビルドでは利用できなかった「商用機能」が含まれていました。しかし昨年、約束通りOracleはOpenJDKコミュニティに次のような機能を寄贈しました。Accelerating the JDK release cadence
http://mail.openjdk.java.net/pipermail/discuss/2017-September/004281.html
- Java Flight Recorder
http://openjdk.java.net/jeps/328 - Java Mission Control
http://openjdk.java.net/projects/jmc/ - Application Class-Data Sharing
http://openjdk.java.net/jeps/310 - JEP 333: ZGC: A Scalable Low-Latency Garbage Collector
http://openjdk.java.net/jeps/333
OpenJDK
http://jdk.java.net/
...yet with some cosmetic and packaging differences
OpenJDKコントリビュータと議論する時間が必要ゆえに、意図的で表装的な違いが残っています。- Oracle JDK 11では、-XX:+UnlockCommercialFeaturesオプションを使用すると警告が発行されますが、OpenJDKビルドではこのオプションでエラーが発生します。このオプションはOpenJDKの一部ではないためです。OpenJDKには商用機能がないため、このオプションを追加することは意味がありません。Oracle JDK 10およびそれ以前のリリースのユーザーがOracle JDK 11以降に移行しやすくするためにこの違いが残ります。
- Oracle JDK 11を構成し、Oracleの別の商用製品であるAdvanced Management Consoleに使用状況のログ・データを提供することができます。
Advanced Management Console
可能性があれば、他のOpenJDKコントリビュータ協力して、将来のリリースでOpenJDKでこのような使用データがどのように役立つかについて議論する予定です。主として、上記を決定するまで、Oracleのお客様に一貫した経験を提供するために、この違いが残っています。
https://www.oracle.com/technetwork/java/javaseproducts/advanced-mgmt/advancedmanagementconsole-2254207.html javac --release
コマンドは、Java 9とJava 10では動作が異なります。これらのリリースでは、Oracle JDKには対応するOpenJDKリリースにはない追加のモジュールが含まれていたためです。- javafx.base
- javafx.controls
- javafx.fxml
- javafx.graphics
- javafx.media
- javafx.web
- java.jnlp
- jdk.jfr
- jdk.management.cmm
- jdk.management.jfr
- jdk.management.resource
- jdk.packager.services
- jdk.snmp
OpenJFX Project
http://openjdk.java.net/projects/openjfx/- サポートチームは存在する可能性のある問題を診断できるよう、
java --version
とjava -fullversion
コマンドの出力結果は、OpenJDKビルドとOracle JDKで異なります。具体的には、Oracle JDK 11ビルドでjava --version
を実行すると以下のような出力が得られます。 - Oracle JDKでは、サード・パーティの暗号化プロバイダを既知の証明書で常に署名する必要があります。OpenJDKの暗号化フレームワークにはオープンな暗号化インタフェースがあります。つまり、利用可能なプロバイダを制限しません。Oracle JDK 11は引き続き有効な署名を必要とし、Oracle OpenJDKビルドは引き続き有効な署名または署名されていない第三者の暗号化プロバイダの使用を許可します。
Java Platform, Standard Edition Security Developer’s Guide
Sign Your JAR File, If Necessary
https://docs.oracle.com/javase/10/security/howtoimplaprovider.htm#JSSEC-GUID-2D4432F9-1C3C-4A91-8612-2B2840188B36 - 過去のデスクトップユースと調和する体験のため、Oracle JDK 11には引き続きインストーラ、ブランディング、およびJREパッケージが含まれる予定です。Oracle OpenJDKのビルドは現在、zipおよびtar.gzファイルで提供していますが、代替の配布フォーマットは現在検討中です。
OpenJDK 11ビルドの場合は以下の通りです。java 11 2018-09-25
Java(TM) SE Runtime Environment 18.9 (build 11+28)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11+28, mixed mode)
openjdk version "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)