Estou escrevendo um código que usa uma biblioteca com licença GPL (não LGPL) e outra com a licença BSD de 3 cláusulas . Como eu vinculo à biblioteca licenciada pela GPL, meu código também precisa ser da GPL. Como, na prática, devo lidar com o LICENSE.txt original da biblioteca BSD?
(A) Posso distribuir um projeto para que o código-fonte principal seja licenciado pela GPL e, em seguida, algum subdiretório seja licenciado pelo BSD?
(B) Se eu não fosse apenas o link para as bibliotecas, mas para usar e combinar o código BSD e GPL de uma maneira mais envolvida, o que fazer com o LICENSE.txt?
O texto BSD de 3 cláusulas diz: "As redistribuições do código-fonte devem manter o aviso de direitos autorais acima, esta lista de condições e o aviso de isenção de responsabilidade a seguir". aparentemente, devo manter o aviso de direitos autorais e essa lista de condições em algum lugar. Mas também vou precisar colocar o arquivo txt-license da GPL em algum lugar.
Além disso, aparentemente eu não preciso reter a "Redistribuição e uso nas formas de origem e binária, com ou sem modificação, são permitidas, desde que as seguintes condições sejam atendidas:" parte do texto da licença do BSD, pois ele apenas me diz para guarde as outras peças.
Então, como e em quais arquivos de texto, na prática, devo organizar o texto da licença GPL e as partes da licença e direitos autorais do BSD que retenho?
EDIT: Então, no caso B, eu pegaria o código licenciado BSD de 3 cláusulas e o redistribuiria sob a GPL, o que é permitido, pois a licença BSD de 3 cláusulas é (unidirecional) compatível com a GPL . Estou apenas perguntando como lidar com os textos de licença e arquivos de texto na prática.
fonte
Respostas:
Por uma questão de simplicidade, provavelmente é melhor liberar a coisa toda sob a GPL. A licença BSD de 3 cláusulas não tem forma de cópia deixada; portanto, você tem o direito de renomeá-la, desde que mantenha seu aviso.
Você terminará com dois tipos de arquivos:
E, é claro, para qualquer versão binária, você precisará incluir um link para a fonte e os dois cabeçalhos de alguma forma. Eu recomendaria a GPL padrão, seguida por "Partes deste programa foram originalmente lançadas sob a seguinte licença" ou algo parecido, é provável que você possa encontrar exemplos disso acontecendo na natureza, se a procurar.
Observe que não sou advogado, nem me especializo em licenciamento de código aberto ou em geral. Estou simplesmente retransmitindo como seria a minha interpretação do licenciamento fornecido.
fonte
Ok, lendo a seção 7 da GPLv3 , é permitido "permissões adicionais [que] se aplicam apenas a parte do Programa" [1]. Portanto, manter alguns dos arquivos ou diretórios sob a licença BSD parece bom, pois acho que o "faça o que quiser" da licença BSD é uma "permissão adicional".
Além disso, a seção 7 permite "complementar os termos desta Licença com os termos:" (a seguir, lista de 6 pontos do tipo permitido de termos) e todas as 3 cláusulas (+ o aviso) da licença BSD são cobertas, portanto, no caso de misturar código BSD e GPL em um único arquivo, talvez eu apenas precise colocar um ADDITIONAL_TERMS.txt em algum lugar, contendo as 3 cláusulas + isenção de responsabilidade da licença BSD.
(Para ser mais preciso, o tempo todo em que falei sobre a licença BSD, eu quis dizer a licença de três cláusulas AKA "New BSD License" AKA "Modified BSD License", à qual vinculei minha pergunta.)
[1] Contanto que um destinatário do programa possa remover as permissões adicionais se ele redistribuir ainda mais. E a licença BSD permite isso.
fonte
Isso simplesmente não é possível de acordo com várias interpretações dos termos da licença.
O gnu.org diz para a versão 2:
e para a GPL v3 :
Outros advogados / juízes, é claro, podem ter opiniões diferentes.
fonte