AGPL - o que você pode fazer e o que não pode

188

AGPL é uma licença relativamente nova que foi criada para passar por GPL através de redes. No entanto, como não sou advogado e, na verdade, não li toda a licença, não consigo entender o que exatamente você pode fazer livremente e o que não faz com a AGPL.

Minha incerteza é alimentada por este post sobre o MongoDB (que é AGPL) e ainda mais pelos comentários abaixo.

Se seguirmos os comentários, você poderá usar as bibliotecas AGPL com seu software comercial e de servidor fechado, desde que não modifique a biblioteca. É esse o caso? Ou você precisa distribuir todo o seu aplicativo ao usar uma biblioteca licenciada AGPL?

O caso do MongoDB é que ele usa a licença Apache para o código do cliente, o que coloca outra questão. O que acontece se você usar o software AGPL, mas implementá-lo como um aplicativo diferente do seu comercial de código fechado? Por exemplo, considere o iText - é uma biblioteca AGPL:

  • se você usá-lo e modificá-lo, você precisa abrir o aplicativo inteiro com código-fonte ou redistribuir apenas as alterações no iText?
  • se você usá-lo e não modificá-lo, precisa abrir o aplicativo inteiro com código-fonte?
  • Se você agrupar o iText em outro aplicativo e iniciar como um processo separado, mas usá-lo no seu aplicativo principal, deverá abrir tudo de código-fonte ou apenas o aplicativo wrapper? (O aplicativo wrapper será uma API baseada em HTTP que utilizará arquivos pdf e retornará os resultados do uso do iText como JSON). Isso pode ser usado para burlar a licença AGPL?

Nota: A pergunta é sobre AGPLv3

Bozho
fonte
11
Consulte também esta resposta relacionada: opensource.stackexchange.com/questions/5003/…
Philippe Ombredanne

Respostas:

40

A AGPL é baseada na GPL, não na LGPL. Ele não contém nenhuma exceção de vinculação, e qualquer trabalho que utilize o código AGPL (vinculado ou não, modificado ou não) também deve ser licenciado e distribuído pela AGPL.

O uso de processos separados pode contornar a (A) GPL, mas esse é um terreno escuro. Se o seu aplicativo final depender do processo externo, para que não funcione corretamente sem ele, isso será considerado um trabalho derivado do software AGPL.

Na maioria dos casos, quando as pessoas usam aplicativos GPL separados em programas de código fechado, eles fornecem o trabalho GPL como uma extensão opcional ou um back-end alternativo para algum outro pedaço de código etc.

O trabalho (A) GPL não pode ser distribuído juntamente com o aplicativo final, mesmo como um aplicativo separado (por exemplo, colocando-os no mesmo arquivo ou repositório), embora seja bom fornecer instruções sobre onde encontrar o trabalho GPL e como usá-lo com seu aplicativo.

Mark H
fonte
9
Embora o que você diz seja verdade, a única diferença entre a GPL e a AGPL é o requisito para fornecer código se ele for usado interativamente em uma rede. No entanto, a cláusula que cobre isso afirma que se aplica apenas a "Versões modificadas" da obra, e "versões modificadas" é definida como qualquer uso que exija direitos autorais. A simples execução da versão não modificada não cria uma "versão modificada", porque os direitos autorais abrangem apenas a distribuição.
Erik Funkenbusch 27/09/11
8
1. "vinculado ou não" está errado. 2. "seria considerado um trabalho derivado" está errado 3. Acho que "na maioria dos casos" está errado. 4. "O trabalho (A) da GPL não pode ser distribuído juntamente com o aplicativo final, mesmo que um aplicativo separado" esteja totalmente errado, por exemplo, o Debian distribui coisas com todo o tipo de licenças diferentes juntas, nem todas compatíveis com a GPL. Sistemas proprietários também podem fazer isso. Dê uma olhada na seção 3 desta página, começando com "Perguntas surgiram": ghostscript.com/doc/current/Commprod.htm Não leia o resto, ele está tentando enganá-lo a comprá-lo.
Sam Watkins
O Debian realmente possui 3 repositórios separados devido ao licenciamento. mainconsiste em pacotes compatíveis com DFSG , que não dependem de software fora desta área para operar. Estes são os únicos pacotes considerados parte da distribuição Debian . contribOs pacotes contêm software compatível com DFSG , mas possuem dependências não principais (possivelmente empacotadas para o Debian de forma não gratuita). non-freecontém software que não está em conformidade com o DFSG .
precisa
Re: "não pode ser distribuído ao lado" - você pode apontar para a provisão de licença específica que apóia isso? Entendo perfeitamente por que você não gostaria de enviar o código licenciado pela AGPL em um produto de consumo, mas essa é uma circunstância bastante estreita.
Charles Duffy
11
Como ... wat ... então agora todos os telefones Android com seus kernels Linux são ilegais ...
Antti Haapala
10

AGPL é o mesmo que GPL; portanto, se seu aplicativo estiver usando o código AGPL, ele deverá ser licenciado.

O que a AGPL faz em cima da GPL é a redefinição do usuário. Para programas GPL em execução no seu servidor, você é o usuário; para AGPL, os usuários reais do aplicativo são os usuários do seu site ou serviço. Portanto, você está distribuindo o aplicativo se alguém que não seja você o está usando. E isso implica, obviamente, todos os requisitos padrão da GPL.

Quanto ao Mongo, estou assumindo que os aplicativos que o utilizam não usam seu código, apenas alguma API, que não é licenciada pela AGPL.

Deixe me ser
fonte
de um modo geral, também não estou usando o código do iText - estou usando sua API, que é uma API Java binária em vez de uma API JSON no caso do Mongo.
Bozho 13/09/11
@Bozho E sob que licença é essa API?
Let_Me_Be 13/09/11
2
Os drivers do @Bozho Mongo DB são todos licenciados sob uma licença Apache (estou citando o site que você vinculou).
Let_Me_Be 13/09
2
bem, isso é desonesto - o que chamamos de uma API e o que é um cliente de API. Btw, você pode responder às três perguntas acima?
Bozho 13/09/11
2
Não há dúvida de que um trabalho que usa o código AGPL é licenciado sob o AGPL (exceto o código GPLv3, que tem permissão específica para se misturar sem os termos AGPL aplicáveis ​​ao código GPLv3). O problema está na definição de uso da rede, que se refere apenas a "versões modificadas", e a definição de "versões modificadas" nas definições significa que ela se aplica apenas a algo que requer direitos autorais (isto é, distribuição). Portanto, ainda é bastante sombrio.
Erik Funkenbusch 27/09/11