Existem três projetos de software: A, B e C.
A é publicado para qualquer pessoa e está licenciado sob a GPL.
B estende A, também é publicado, mas não possui informações de licença ou é licenciado por engano sob LGPL. Basicamente, viola a licença de A por não ser GPL. O código fonte de B ainda está disponível.
C estende B. C pode ser publicado sob a GPL? A motivação seria "A é GPL, qualquer derivado também deve ser GPL, então B é GPL e C também pode ser".
licensing
open-source
gpl
Andrej
fonte
fonte
Respostas:
Primeiro, B viola a GPL em A. Mas isso não é exatamente sua preocupação e é irrelevante para a pergunta aqui (quem sabe, talvez B tenha uma licença LGPL de A em seu código para que ela possa ser liberada sob LGPL? )
A pergunta é "Você pode criar um software GPL com base no código LGPL?" A resposta para isso é simplesmente "sim".
A LGPL é menos restritiva que a GPL (por isso, B viola a licença de A, a menos que outras disposições tenham sido tomadas), mas também permite que ela seja trazida de volta para um projeto GPL com bastante facilidade.
A partir da licença LGPL:
É parte da licença. Você pode criar facilmente um software GPL com base no código LGPL.
Há algumas diferenças de versão que você precisará prestar atenção para garantir que o código seja licenciado da maneira correta, na versão correta da GPL.
No caso de não haver informações de licença apresentadas, você não tem o direito de estendê-las. B não deveria ter sido distribuído, mas suas contribuições não são licenciadas sob uma licença de código aberto. Pode ter sido um projeto interno que foi publicado ou algum outro evento.
Não é apresentado sob uma licença compatível com a extensão com a GPL. Considere a situação em que uma empresa, usando o software GPL internamente (aceitável - não uma violação), tornou seu repositório público por engano.
Nesse caso, é bem possível que o projeto C esteja violando a própria violação de direitos autorais (o material que B adicionou que não está licenciado sob a GPL, pois não deveria ter sido distribuído em primeiro lugar).
Um não pode forçar uma licença na fonte de outra pessoa. Está em conformidade com a licença ou em violação da mesma. Se isso estiver violando, então, como especificado na licença:
Uma violação da GPL não significa que o material esteja sob GPL, mas que não pode ser distribuído.
fonte
Existem detentores de direitos autorais: existem direitos autorais sobre as obras criadas por A, existem direitos autorais sobre as adições de B e existem direitos autorais sobre quaisquer alterações feitas por C. C deve verificar se ele tem permissão para usar o software no qual A e B possuem direitos autorais.
A foi licenciado sob a GPL. Tenho certeza de que a GPL lhe dá permissão para usar o trabalho de A nos termos da GPL, mesmo se você os recebeu de B que os licenciou incorretamente. Pode haver problemas práticos: Por exemplo, você deve poder fornecer o código-fonte. Se você recebeu o software sem o código-fonte, não tem como publicá-lo nos termos da GPL.
B foi licenciado sob outra licença. B deveria ter sido licenciado sob a GPL, mas não era. Se a licença de B lhe conceder mais direitos que a GPL, você na verdade não possui nenhum desses direitos para o código de A - B não pode conceder direitos adicionais ao código de A. Você pode usar o código de A nos termos da GPL porque A permitiu, e o código adicional de B sob a licença de B.
Se B lançou seu código sob uma licença mais rigorosa que a GPL, é provável que B cometa violação de direitos autorais. Você não pode usar o código de B sob a licença GPL. Isso geralmente é confuso: a GPL não pode forçar B a fazer nada. Ele só oferece a B a opção: publique dessa maneira, e é legalmente legal, ou publique de outra forma, e é ilegal. B tem o direito de fazer algo ilegal e sofrer as consequências (sendo processado por violação de direitos autorais). Você não tem nenhum direito ao código de B que B não lhe deu.
fonte
Tecnicamente, é possível estender uma biblioteca GPL com código que não é coberto pela licença GPL. O problema é que, ao distribuir o trabalho derivado que você criou, você deve observar todos os requisitos que a GPL coloca sobre você.
Na sua situação, isso significa que é possível ter a biblioteca A na GPL e o novo código na biblioteca B na LGPL. O trabalho combinado (biblioteca B) é efetivamente distribuído sob a licença GPL e pode ser distribuído como tal porque a licença LGPL é compatível com a licença GPL (você pode usar o código de licenças LGPL em um projeto licenciado GPL).
Nessa situação, é perfeitamente bom ter o novo código na biblioteca C sob a GPL, com o trabalho resultante também na GPL.
fonte