仕事では、多くの外部依存関係があるJavaアプリケーション(私たちが作成した)のソフトウェアバンドルをデプロイしています。そのほとんどはLGPLであり、BSDライセンスのサードパーティライブラリはJARアーカイブとして配布されています。
現在、Mavenアセンブリプラグインによって作成された単一のJava Fat jarアーカイブとして配布されるソフトウェアのテストクライアントをデプロイしています。
- すべての依存関係を抽出する
- それらを単一のjar-archiveとして再バンドルします
すべてのクラスファイルが抽出され、独自のアプリケーションで単一のJARファイルにバンドルされます。同じ名前を持っているため、一部のファイル、主にLICENSE.txtファイルが上書きされることにも気付きました。
これが正しく、LGPLライセンスに準拠しているかどうか疑問に思っています。ソフトウェアを配布するより良い方法は何でしょうか?この特定のパッケージはどのように最適に編成されますか?
ソースコードをソースファイルに直接組み込んだり、バイナリファイルを変更したりすることはありませんでした。ライブラリのソースコードは製品全体に付属しています。(これは、内部で使用されるソフトウェアであり、顧客やその他には展開されていませんが、問題ではないと思います。)
PS:Stack Overflowで同じ質問をしたところ、ここで質問するよう提案されました。