Reescreva o código GNU GPL v2 em outro idioma: posso alterar uma licença?

11

Reescrevi algumas partes do Mercurial (licenciado sob a GNU GPL v2) em C #. Naturalmente, observei bastante o código original do Python e algumas partes são traduções diretas do Python para o C #.

É possível ter "meu código" licenciado sob termos diferentes ou até fazer parte de um aplicativo comercial de código fechado? Caso contrário, posso licenciar novamente "meu código" na LGPL, de código aberto e depois usar esta biblioteca C # de código aberto no meu aplicativo comercial de código fechado?

Anton Gogolev
fonte
3
Se você trabalhou com o código original (em vez de reimplementar os protocolos e documentos), ele pode se enquadrar no domínio "trabalho derivado"; nesse caso, ele ainda pode se enquadrar na licença original. Converse com um advogado.
@MichaelT O uso de documentos e protocolos de engenharia reversa também não seria um "trabalho derivado"?
Anton Gogolev
3
não necessariamente. O trabalho derivado pega o original e o transforma em outra forma. Com mídias mais tradicionais, uma pintura é protegida por direitos autorais, uma fotografia da pintura é um trabalho derivado. Quando feita corretamente, uma engenharia reversa de sala limpa evita isso. Consulte também Quais são os problemas de direitos autorais e de licença do código de portabilidade? de SO.
INAL, mas apenas a tradução automática de código do AFAIK é coberta por direitos autorais.
Vartec 8/10
11
@vartec Alguma prova disso?
Anton Gogolev 8/10/12

Respostas:

17

O texto da licença cobre especificamente as traduções; portanto, você não poderá relicê-lo.

O "Programa", abaixo, refere-se a qualquer programa ou trabalho, e um "trabalho baseado no Programa" significa o Programa ou qualquer trabalho derivado sob a lei de direitos autorais: ou seja, um trabalho que contenha o Programa ou uma parte do literalmente ou com modificações e / ou traduzido para outro idioma.

Mason Wheeler
fonte
11
IANAL, mas eu acho que "Traduzido para outro idioma" neste contexto não está se referindo a uma linguagem de programação diferente. A lei de direitos autorais protege apenas a expressão exata de uma ideia - não a própria idéia.
Onorio Catenacci
2
@Onorio: GPL não é um copyright, é uma licença.
Mason Wheeler
5
@OnorioCatenacci, esse é um daqueles casos em que a "linguagem" fica um pouco complicada. A frase-chave é "trabalho derivado", que o OP certamente criou. A GPL permite expressamente a criação de trabalho derivado (também conhecido como "gratuito ..."), mas as restrições de licenciamento originais ainda se aplicam ao derivado. A GPL permite algum re-licenciamento (plug descarado, veja minha resposta). Essa é mais uma pergunta sobre licenciamento, e não sobre direitos autorais.
@MasonWheeler "significa o Programa ou qualquer trabalho derivado sob a lei de direitos autorais" - novamente, não um advogado, mas que parece dizer que os direitos autorais estariam envolvidos de alguma forma.
Onorio Catenacci
11
@MasonWheeler "A GPL não é um copyright, é uma licença." Você gostaria de explicar isso? Tudo o que uma licença pode fazer é conceder a você certos direitos para uma obra protegida por direitos autorais. Se (grande se) os direitos autorais do novo trabalho não puderem ser reivindicados pelos detentores originais, a licença não se aplicará.
Jaydee
3

Baseado em:
http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility

Você deve ficar bem com o segundo cenário que você retratou.

As partes que você copiou permanecem na GPLv2, mas toda a sua biblioteca pode ser lançada como LGPL v2.1 ou posterior. Em seguida, você pode vincular seu código-fonte fechado a essa biblioteca sob os termos da LGPL.

Como sempre, faça uma escavação e certifique-se de entender quais são as restrições.


fonte
3
Definitivamente não. Pense nisso: a GPL não faria nenhum sentido se fosse assim. Você pode pegar qualquer código GPL v2 e alterá-lo para LGPL. Isso tornaria a GPL supérflua. Dê uma olhada na cópia fina: "LGPLv2.1 lhe dá permissão para relicenciar o código em qualquer versão da GPL (não LGPL) desde a GPLv2. Se você puder mudar o código LGPL nesse caso, use uma versão apropriada da GPL (conforme observado na tabela), você pode fazer essa combinação ". Isso significa apenas que é legal mudar sua biblioteca LGPL para GPL, mas não vice-versa. O que faz sentido novamente.
Quandary