web-dev-qa-db-ja.com

プロプライエタリ製品のライブラリライセンス

私たちのクローズドソースのプロプライエタリWebアプリケーションは、さまざまなライセンス(つまり、Apache 2.0、MIT、BSDライク、LGPL 2.1など)を持つ非常に多くのライブラリを使用しています。これらのライブラリのjarファイルと一緒にバイナリ(特にearファイル)を配布したいと思います。

私が正しく理解していれば、ほとんどのライセンスは、ライブラリライセンスを配布パッケージに入れることをディストリビューターに要求しています。

この問題は常に発生する必要があります。これを行うための標準的/標準的な方法はありますか?他のプロジェクト(PostgreSQLなど)で見たように、ライセンスのリストを指定する標準的な方法はありません。すべてのライセンスとライブラリのリスト、および各ライセンスの下で発行されるライブラリをどこかに置くだけで十分ですか?

PDATE:コメントに同様の質問へのリンクが投稿されており、正しく取得できた場合は、ライブラリライセンスファイルと「通知」ファイルを配置する必要があります。それを行う標準的な方法はありますか?たとえば、PostgreSQLには、すべてのライセンスに対して1つの大きなファイルがあります。また、「NOTICE」ファイルには何を入れる必要がありますか?

1
crew4ok

使用しているサードパーティライブラリがどのライセンスを使用しているかを示す標準的な方法はありません。これは、ライセンスがこれに課すさまざまな要件と関係があります。

一部のライセンス(BSDなど)では、ライセンステキストがソースコードのコメントとしてのみ存在する可能性がありますが、他のライセンス(GPLやApacheなど)は非常に長いため、ライセンステキスト全体が別のファイルで配布されます。

これに対処するための良い戦略は次のとおりです

  • 使用するライブラリごとに、ライセンス情報のみを含むファイルがあるかどうか、およびライセンスに含める必要のある他のファイル(ApacheライセンスのNOTICESファイルなど)があるかどうかを確認します。これらのファイルを「licenses」フォルダにまとめます。必要に応じて、ファイルの名前を変更して、ファイルに含まれているライセンスを明確にします。
  • どのライブラリを使用し、どのライセンスで配布されているかをドキュメントに記載してください
  • 'licenses'フォルダーのコンテンツをアプリケーションと一緒に配布します。