No trabalho, estamos implantando um pacote de software de um aplicativo Java (escrito por nós) que possui muitas dependências externas, a maioria delas sendo bibliotecas de terceiros licenciadas por LGPL e BSD, distribuídas como arquivos JAR.
Atualmente, estamos implantando um cliente de teste do software que é distribuído como um único arquivo java fat jar, criado pelo plug-in Maven assembly, que faz aproximadamente o seguinte:
- extrair todas as dependências
- reorganizá-los como um único arquivo jar
Todos os arquivos de classe são extraídos e agrupados novamente em um único arquivo JAR com nosso próprio aplicativo. Percebi que também alguns arquivos são substituídos, principalmente arquivos LICENSE.txt, devido ao mesmo nome.
Gostaria de saber se isso está correto e está em conformidade com a licença LGPL. Qual seria a melhor maneira de distribuir o software? Como esse pacote específico seria melhor organizado?
Não incorporamos nenhum código-fonte diretamente em nossos arquivos de origem, nem tocamos nos arquivos binários. O código fonte das bibliotecas acompanha todo o produto. (É um software usado internamente, não implantado nos clientes nem nada, mas acho que isso não importa.)
PS: Fiz a mesma pergunta no Stack Overflow, e me sugeriram fazer aqui.
fonte