|
Java 11 は有料ソフトウェアになりますが、それでも学習する必要がありますか? 災害原因の発表 Oracleは、Java 11以降、クラスパス例外(GPLv2+CPE)を採用したGPLv2ライセンスのJDKバージョンを提供すると発表しました。これは、Oracle JDKを商用ライセンスのOracle製品またはサービスの一部として利用したいユーザー、あるいはオープンソースソフトウェアを利用したくないユーザーのニーズに対応します。オープンソースライセンスと商用ライセンスの組み合わせは、無料と有料の商用ライセンスが混在していた従来の「BCL」ライセンスに代わるものです。 BCL vs GPL BCLは、Java SEプラットフォーム製品およびJavaFX向けのOracleバイナリコードライセンス契約です。ユーザーはJDKを改変できず、JDKに基づいて作成されたコンテンツはすべて保護されることが規定されています。また、商用利用は個人版か商用版かによって決まります。それ以外の場合、有効期限が切れてもアップグレードは提供されません。 GPLはGNU General Public License(GNU一般公衆利用許諾書)の略称であり、GNU General Public Licenseの非公式な中国語訳です。フリーソフトウェア財団によって発行されたものではなく、GNU General Public Licenseを使用するソフトウェアの法的拘束力のある配布契約でもありません。法的拘束力を持つのは、GNU General Public Licenseのオリジナルの英語版のみです。 Oracle JDKはBCLライセンスをサポートしています。開発者は無料で使用できますが、本番環境では使用できません。全額支払いをした場合、2026年9月までサポートされます。 OpenJDKの場合、GPLサポートは通常リリース後6ヶ月間のみ提供され、企業での利用に適しています。したがって、JDK 11の場合、JDK 11.0.0と、それに続く2つのセキュリティパッチ(11.0.1と11.0.2)がリリースされるはずです。OracleのOpenJDKビルドとセキュリティパッチを引き続き使用したい場合は、JDK 12のリリース後1ヶ月以内に移行する必要があります。 ——————— Oracleの公式ウェブサイトの発表: Oracle JDK 11ライセンスの大幅な変更 JDK 11では、OracleがOracle JDKのライセンス条項を更新しました。Oracle Java SEの新しいOracle Technology Network Developer Licenseは、以前のバージョンのJDKで使用されていたライセンスとは大きく異なります。本製品をダウンロードして使用する前に、新しい条項をよくお読みください。Oracleはjdk.java.net/11で本製品をGPLに基づいてライセンスしています。 公式発表によると、OracleはJava 11以降、クラスパス例外(GPLv2+CPE)を用いたGPLv2ライセンスのJDKバージョンを提供する予定です。これは、Oracle JDKを商用ライセンスのOracle製品またはサービスの一部として利用したい人、あるいはオープンソースソフトウェアを利用したくない人のニーズに応えるものです。このオープンソースライセンスと商用ライセンスの組み合わせは、無料と有料の商用ライセンスの組み合わせであった従来の「BCL」ライセンスに代わるものです。 料金はどのように徴収されますか? Java 8/Oracle JDK BCLプロトコルの使用を許可 具体的には、個人版と商用版の2つに分かれます。 商用版は2019年1月をもって無料アップデートの提供を終了いたしました。それ以前のアップデートは引き続き無料でご利用いただけますが、それ以降のアップデートは料金をお支払いいただくことで引き続きご利用いただけます。 個人版は2020年12月をもって無料アップデートの提供を終了いたしました。それ以前のアップデートは引き続き無料でご利用いただけますが、それ以降のアップデートは有料でご利用いただけます。 オープンJDK GPL または BCL ライセンスに基づいてライセンスされます。 ニーズに応じてプロトコルを選択できます。BCLプロトコルを選択した場合、Oracleバージョンとの違いはありませんが、無料です。 サポート期間は明記されていません。 Java 11/Oracle JDK BCLプロトコルの使用を許可 個人版や商用版というものは存在しません。 有償で購入しない限り、商用利用は固く禁じられており、コードの作成とデバッグ、およびオフラインでのデータ処理にのみ使用できます。 オープンJDK GPLライセンス Oracle は現在、6 か月ごとのアップデートを提供する予定ですが、より長期間のアップデートが提供されるかどうかはまだわかりません。 Java 9 と 10 についてはなぜ言及しないのですか? どちらも長期サポートバージョンではないため、この議論の範囲外となります。 企業の対応戦略 広州京凱オープンソースは以前Java SEアプリケーションを実行していたため、来年度の予算を増額する可能性のある措置を講じる予定です。言い換えれば(繰り返しますが、私たちはソフトウェアライセンスの専門家ではありません)、当社の顧客はOracleが発表したJavaの料金による一時的な影響を受けていません。 Jingkai Open SourceチームはOpenJDKへの移行を開始しています。そのため、Oracle Java SEライセンスやLMSチームへの懸念がある場合は、OpenJDKの使用もご検討ください。MySQLの代わりにMariaDBを使用する場合と同様に、他に次のような解決策があります。 OpenJDKを採用 公式サイト: adoptopenjdk.net GPLライセンスをサポートし、無料です。Oracle OpenJDKとは異なり、JDK 11などのメジャーバージョンではより長期間存続します。私が初めてこのことを知ったのは、Redditのスレッドでした(下の画像を参照)。 最近、AdoptOpenJDK開発チームは、JDKバージョン11を次期メジャーバージョンのリリースから1年後の4年間は継続使用し、OpenJDKを継続的にビルドするソースリポジトリで作成・リリースされるセキュリティパッチを提供していくと発表しました。 ここで注目すべきは、AdoptOpenJDKは標準のOpenJDKビルドに加えてOpenJ9を使用してビルドできることです。OpenJ9は元々IBMのJVMでしたが、現在はEclipse向けのオープンソースとなっています。 レッドハット OpenJDK Red Hatは、有料商用製品であるLinux「RHEL」を通じてOpenJDKビルドを提供しています。Red HatはOpenJDK向けに多数のセキュリティパッチを提供しており、Java 6および7向けのセキュリティアップデートプロジェクトも運営しています。Red Hatのビルドはオペレーティングシステムとの統合性が高いため、純粋なOpenJDKビルドではありません。 IBM IBMはJava 8以前のバージョンのJDKを提供・サポートしています。また、OpenJ9を使用したAdoptOpenJDKビルドに対しても、商用の有償サポートを提供しています。 アズール・ズールー 公式サイト:zulu.org この製品についてはRを通じて知りました。そのコアはオリジナルのOpenJDKであり、追加の変更は一切ありません。AzulはOpenJDKのバグ修正を時々行いますが、これはOpenJDKにバグを戻してZulu Java SE製品に組み込むという形で行われます。 Zulu の商用テクニカル サポートは、Azul のテクニカル サポートを購入する場合にのみ課金されます。それ以外の場合、Azul は Zulu のコミュニティ テクニカル サポートも無料で提供します。 SAP SAPはJDK 10以降のバージョンをGPL+CEライセンスで提供しています。また、商用のクローズドソースJVMも提供していますが、現時点ではサポートに関する情報は見つかりませんでした。 このセクションでは、参考までにいくつかの構築ソリューションを紹介します。有料のものも無料のものも含まれています。つまり、利用可能なオプションは数多くあり、JavaはOracleによってのみ決定されるわけではないということです。 |