I traduzidas um GPLv2 C
programa para Python
, mas descobriu que era difícil estender como concebido e reescreveu porções significativas do mesmo. O programa agora é estruturalmente completamente diferente, mas existem várias funções traduzidas literalmente em uso.
O navio do paradoxo de Teseu (como declarado na Wikipedia) "levanta a questão de saber se um objeto que teve todos os seus componentes substituídos permanece fundamentalmente o mesmo objeto".
Se eu conseguisse escrever substituições para as funções literalmente, seria capaz de relicenciar para uma licença que preferir?
Relacionado, eu seria capaz de extrair a arquitetura evoluída e reutilizá-la com uma licença diferente? Eu acho que seria muito útil por si só, mas não gosto da idéia de que agora está "contaminado" com a licença GPL.
Acompanhamento : decidi entrar em contato com o detentor dos direitos autorais e recebi permissão para relicenciar . Às vezes, a melhor maneira é interagir socialmente, e não programaticamente!
Respostas:
Primeiro, a resposta é não (para uma tradução), você não pode autorizá-la novamente ou fazer nada fora das legalidades da licença original. Você pode muito bem ter feito 10 vezes o trabalho do autor original, mas isso não importa, é viral. Não apenas porque é GPL, mas porque não é um design limpo ou reescrito.
Lutei brevemente com isso em 1992, quando havia reescrito em massa uma antiga base de código do MUD. Tivemos um jogo bem-sucedido, mas queríamos fazer nossas próprias coisas, e as pessoas estavam dispostas a pagar por isso, mas a licença do DikuMUD nos proíbe estritamente de ganhar dinheiro. Um concorrente, na época, também baseava o deles na mesma base de código, e eles optaram por ignorar descaradamente os direitos autorais, rasgar todos os vestígios e basicamente mentir para todos, inclusive eles mesmos. A lógica deles era "não existe nenhum código original" e "fizemos reescrições e aprimoramentos maciços" e geralmente ignoram o fato de que eles começaram com 20.000 linhas de código. Eles estavam cobrando pelos itens do jogo e ganhando muito dinheiro para parar.
Eu reconhecidamente estava com inveja. Mas pesquisei a lei de direitos autorais, consultei minha consciência e decidi que não podia usar o código que havia escrito porque honestamente não arquitetei o servidor do jogo do zero.
Então, decidi colocar meu dinheiro onde estava minha boca e escrever do zero, com uma cópia do UNIX Network Programming de W. Richard Steven comigo o tempo todo, comecei. Escrever do zero, do meu jeito, me ensinou muito mais do que quando eu reescrevi o DikuMUD, e também me ensinou que eu realmente não entendia o que significava estar nos ombros de outra pessoa. Em seis meses, eu tinha 50.000 linhas de código operacional que eu poderia chamar de meu. Eu o nomeei MUD ++ e o liberei sob BSD. Mal escrito no estilo C ++, ainda era o primeiro MUD C ++ de código aberto e gratuito que eu conhecia. Até hoje ninguém pode tirar isso de mim. Eu tinha o melhor servidor TCP da época, ninguém mais poderia fazer uma "reinicialização a quente" sem derrubar jogadores e logo todos estavam roubando o recurso (e notei que muitos MUDs da GPL têm trechos do meu código BSD - sempre interessante como a GPL pode seqüestrar o BSD-ware, mas não vice-versa ). Eventualmente, eu segui em frente, então não foi como se a decisão fosse uma farsa ou uma fortuna para minha fortuna, mas enquanto os outros caras ganhavam muito dinheiro por um tempo, pela última vez, parecia que eles haviam diminuído, em um mundo de jogos gráficos não há mais muita demanda por texto.
A história não acaba ... alguns anos depois, eu estava trabalhando para a IBM e a Disney nos contratou para escrever um jogo multiplayer 3D em tempo real para o Epcot center, e pude usar o núcleo TCP do MUD ++ como base para isso. servidor de jogo! Se eu não possuísse meu próprio código, não teria permissão para usá-lo, e isso me salvou honestamente semanas de tempo de codificação. No final, tenho orgulho das escolhas que fiz e tenho uma história para contar aos meus filhos.
As pessoas subestimam e subestimam o benefício de começar com a estrutura de outra pessoa para construir.
Se você acha que é o "dono", teste a si mesmo. Comece de novo, com um livro Python ao seu lado. Veja como é. Não trapaceie e não olhe para a antiga base de código. Olhe para a saída. Force-se a pensar em todos os aspectos por conta própria, fazendo uma pesquisa honesta. Você será melhor e provavelmente terá um produto melhor.
Antes de fazer isso, tente entrar em contato com o autor original. Pergunte se eles estariam dispostos a relicenciar. Se você planeja vender binários, ofereça royalties. Muitos autores que lançaram GPL nos anos 90 e 2000, agora estão nos 30, 40 e 50 anos e entendem o que significa ganhar a vida com software. Eu já vi mais de um relicense do GPL para o MIT, Apache, Boost ou BSD.
Por fim, uma licença não substitui os direitos anteriores ao código que você possa ter. Ou se você escreveu um complemento limpo de forma independente, por exemplo, se você escreveu um mecanismo TCP como um complemento para um jogo Tetris para um jogador e ele pode ficar sozinho (especialmente se você já lançou com outra licença), então você pode reutilizar seu código em outros projetos. Você também tem direitos de autor.
Minha crença é livre é GRÁTIS. Se você precisar anexar strings, não o chame de graça. Alguém me enviou anos depois e disse que havia usado meu jogo em um mecanismo comercial, principalmente o TCP e possivelmente o intérprete de bytecode. Eles estavam ganhando dinheiro. Eu não me importei nem um pouco. Fiquei feliz como ainda sou agora, como um pai orgulhoso.
fonte
Este cenário é coberto nas perguntas frequentes da GPL :
fonte
É duvidoso, mesmo se você reescreveu toda a biblioteca do zero, ela passaria por um exame legal. O código seria considerado "contaminado" porque você viu o código na biblioteca licenciada da GPL.
A abordagem padrão para esse problema é chamada "implementação de sala limpa". Você escreve um documento de requisitos e outra pessoa o implementa (que não viu o código GPL).
Consulte também esta pergunta: Reescrevendo o código GPL para alterar a licença
Como alguém colocou apropriadamente lá, uma tradução chinesa de Harry Potter ainda é um trabalho derivado, embora toda a informação tenha sido substituída.
Obviamente, a probabilidade de você ser processado por reescrever uma biblioteca licenciada pela GPL (e a moralidade de depender dessa baixa probabilidade) são discussões totalmente diferentes.
No que diz respeito à adição de funcionalidade ao código original, essa é (parte da) própria definição de trabalhos derivados: adição ao trabalho original. Não importa quanto você adicionou ou quão pequeno foi o trabalho inicial - ainda é derivado.
fonte
Observação: a GPL é relevante apenas se você divulgar seu trabalho. Você já lançou?
Observação: este não é um site de aconselhamento jurídico; portanto, jogue fora todo esse FUD legal e aplique o bom senso.
Opinião: A GPL, ou qualquer licença, não possui ideias de direitos autorais , reivindica o código fonte, por menor que seja sua parte. Portanto, se, e somente se, seu trabalho "derivado" não puder ser identificado como sendo derivado do original, porque você alterou a estrutura do código e reimplementou toda a funcionalidade, é para todos os efeitos práticos, não é mais derivado, porque, bem, seria ser indistinguível de uma implementação de sala limpa.
Isso é muito difícil (impossível?) De se obter quando você tem uma base de código existente que modifica, em vez de começar do zero.
fonte
Você possui os direitos autorais de qualquer código que escreve. O que a GPL exige: qualquer código que você contribua ou libere juntamente com o código GPL, você também deve liberar sob uma licença semelhante. No entanto, os direitos autorais ainda são seus.
Portanto, se você liberar seu software parcialmente durante a reescrita (para que haja uma mistura de seu código e código antigo), será necessário liberar essa parte do seu código como GPL, e isso não poderá ser revogado. No entanto, quem detém os direitos autorais é quem decide os termos de licenciamento, portanto você ainda tem o direito de essencialmente "licenciar duas vezes" essa parte do código, incluindo combiná-lo com outro código que você escreveu e vender / relicenciar, etc.
Ressalvas:
(fonte: uma sessão de "direitos autorais e código aberto" organizada pela minha empresa há algumas semanas)
fonte
Sim.
As outras respostas usam muito texto explicando opiniões sobre se você deve ou não, mas essas opiniões não são tão relevantes para a pergunta.
O fato é que você terá um novo trabalho depois de substituir as últimas peças, que reconhecidamente foram construídas observando uma obra da GPL. Essa não é uma grande preocupação na lei de direitos autorais (as patentes seriam outra questão). Tudo o que você distribuir será sua criação.
Há muito material apoiando a teoria de que os direitos autorais de um programa de software são a soma de direitos autorais parciais. Por exemplo, o MPL reconhece explicitamente esse modelo. O processo do Google / Oracle chegou aos direitos autorais no nível da linha.
fonte
A resposta curta é que você não pode saber.
Quando você fala com Richard, descobre que ele é "louco como uma raposa" em muitas de suas implementações. A GPL foi escrita especificamente para ter ambiguidades e frases pouco claras. Geralmente, eles são expressos contra o benefício do autor da licença, mas também preocupam o advogado de propriedade intelectual. Inteligentemente, isso dá ao seu advogado de PI preocupações crescentes à medida que a empresa cresce. Uma pequena empresa comercial que faz a "interpretação razoável" da GPL pode ser um risco aceitável, mas uma grande empresa de software pode achar mais prudente queimar uma equipe inteira que conseguiu obter uma mancha na GPL.
Não há resposta. Não haverá resposta. Essa é a resposta.
fonte