番外編 使用ライブラリーのライセンス表示について
最初に、以降に書かれている情報は誤っている可能性が有りますので、すみませんが、参考や利用は自己責任で御願いいたします。
OracleJDKは、オープン ソース ライセンスではない、プロプライエタリ ライセンスです。
OpenJDKは、クラスパス例外付きGPLバージョン2というオープン ソース ライセンスのはずです。
OpenJDKの標準ライブラリーだけを使用しているJavaアプリケーションをOpenJDKでコンパイルして公開して配布する場合は、OpenJDKのGPLバージョン2のライセンス表示が必要ですが、「クラスパス例外付きGPLバージョン2」の「クラスパス例外」によって、自分のJavaアプリケーション自体のライセンスは自由に設定できますし、ソース ファイルの公開は不要なはずです。
例えばOpenJDKのJRE自体やJDK自体を同梱したり改変したりしたら、GPLバージョン2に則る必要が有るはずです。
ライセンスによっては、ライセンス表示などをする事によって、他の人のライブラリーを同梱して利用して再配布して自分のアプリを公開して配布する事ができます。
ライセンスによって異なりますが、バイナリー ファイルを公開する場合は、画面でライセンスを表示する必要が有ります。
ライセンスによって異なりますが、ソース ファイルを公開する場合は、例えば「NOTICEファイル」と呼ばれている、例えば「NOTICE.txt」などの名前のテキストファイルにライセンス表示を書いて一緒に公開する必要が有るみたいです。
2025年時点では、Apacheライセンス バージョン2.0とMITライセンスの2つがオープン ソースでは人気のライセンスのようです。
Javaのオープン ソースのライブラリーはApacheライセンス バージョン2.0の場合が多いらしいです。
Apacheライセンス バージョン2.0のライセンス表示は、「当アプリは次のライブラリーを使用しています。」などの説明文と、ライブラリー名とライセンスの一覧と、Apacheライセンス バージョン2.0のライセンス文などを記述します。
直接使用ライブラリーだけではなく、間接使用ライブラリーも書いた方が良いのですが、膨大で複雑で重複もしたりするので、人力では困難なため、ライブラリーの依存関係を調べるツールが有るのであれば、それの使用をおすすめします。
ライブラリーの開発者名なども記述した方が良いそうです。
Apacheライセンス バージョン2.0のライセンス文ではなく、ライセンス文のウェブ ページのURLやリンクを記述する人もいるようです。
ライセンス表示を書く場合は、半角二重引用符(")などをエスケープする必要が有る場合が有ります。
MITライセンスのライセンス表示は、「当アプリは次のライブラリーを使用しています。」などの説明文と、ライブラリー名とライセンスと「Copyright 年 著作権者の名前」の一覧と、MITライセンスのライセンス文のウェブ ページのURLかリンクまたはライセンス文を記述します。
MITライセンスは、ライセンス文のウェブ ページのURLかリンクを書く方が楽なので、ライセンス文のウェブ ページのURLかリンクを書いている人が多いようです。