Java Fat-Jar ArchiveとしてLGPLライブラリを含むソフトウェアバンドル


8

仕事では、多くの外部依存関係があるJavaアプリケーション(私たちが作成した)のソフトウェアバンドルをデプロイしています。そのほとんどはLGPLであり、BSDライセンスのサードパーティライブラリはJARアーカイブとして配布されています。

現在、Mavenアセンブリプラグインによって作成された単一のJava Fat jarアーカイブとして配布されるソフトウェアのテストクライアントをデプロイしています。

  • すべての依存関係を抽出する
  • それらを単一のjar-archiveとして再バンドルします

すべてのクラスファイルが抽出され、独自のアプリケーションで単一のJARファイルにバンドルされます。同じ名前を持っているため、一部のファイル、主にLICENSE.txtファイルが上書きされることにも気付きました。

これが正しく、LGPLライセンスに準拠しているかどうか疑問に思っています。ソフトウェアを配布するより良い方法は何でしょうか?この特定のパッケージはどのように最適に編成されますか?

ソースコードをソースファイルに直接組み込んだり、バイナリファイルを変更したりすることはありませんでした。ライブラリのソースコードは製品全体に付属しています。(これは、内部で使用されるソフトウェアであり、顧客やその他には展開されていませんが、問題ではないと思います。)

PS:Stack Overflowで同じ質問をしたところ、ここで質問するよう提案されました。

回答:


2

Mavenを使用しているため、JARをビルドするためにシェードプラグインに切り替えることをお勧めします。複数の「標準」ライセンスファイルを自動的に処理するように構成でき(リソーストランスフォーマーのセクションを参照)、依存関係に重複するクラスがある場合は警告が表示されます。


1

これは本当に弁護士と話し合うべき難しい問題です。とにかく、LICENSE.txtファイル(1つを除いてすべてを効果的に削除する)を上書きすることは間違いなく禁止です。それらの名前をFoo-LICENSE.txtに変更すると、Bar-License.txtはすぐに実行する必要がある最初のステップです。LGPLに関しては、libをfatjarで置き換える方法を提供することで、LGPLのセクション4eに準拠するのに十分な場合があります(弁護士に尋ねてください)。弁護士に尋ねることが現実的でない場合は、著者に許可を直接求めることは、そのようにすることの代わりになるかもしれません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.