Digamos que um desenvolvedor tenha desenvolvido uma biblioteca para seu aplicativo comercial de código fechado. Como eles querem retribuir à comunidade de código aberto, eles publicam essa biblioteca sob, digamos, a GPL, mas continuam a usá-la em seu próprio aplicativo. Desde que eles detêm os direitos autorais, tudo bem.
Agora, um usuário da versão GPL encontra um bug, o corrige e envia um patch ao desenvolvedor original. Pelo que entendi, para usar esse bugfix no aplicativo de código-fonte fechado, o desenvolvedor precisa ter permissão do remetente. Se o remetente recusar, o desenvolvedor precisará encontrar outra maneira de corrigir o bug na versão de código fechado.
Mas e se a correção de bugs em si for realmente trivial? Como inicializar corretamente uma variável ou procurar um ponteiro nulo? Algo que qualquer programador meio competente pode encontrar e corrigir em questão de minutos, dada uma descrição do erro? O patch para isso ainda está protegido por direitos autorais? Ou o desenvolvedor original pode implementar a correção idêntica em seu aplicativo de código-fonte fechado sem o consentimento do remetente?
Nota: Este é realmente um cenário hipotético, e nenhuma dessas perguntas "meu 'amigo' está com esse problema"
fonte
Respostas:
Advertência: Eu não sou advogado!
Atualizado: correções de erros triviais provavelmente não estão sujeitas a direitos autorais. Veja a resposta de Michael Shaw, que acredito ser mais precisa do que o que disse originalmente, para obter mais informações.
No entanto, mesmo considerando isso, essa situação é inferior ao ideal:
Conclusão: A Licença Pública do Gnu restringe especificamente o uso do código em programas de código fechado. Portanto, liberar seu código sob a GPL significa criar deliberadamente um fork do seu código que não pode ser incorporado novamente no programa original. Isso não faz muito sentido.
Você se sentiria melhor ao liberar seu código sob uma licença mais permissiva, como uma das licenças BSD ou a Artistic License . Essas licenças permitem que o código seja incluído no software de código fechado sem permissão adicional. Normalmente, qualquer desenvolvimento adicional da comunidade ocorrerá sob a mesma licença que você usou, portanto você poderá incorporar quaisquer alterações feitas (pequenas ou significativas) em seu software.
Tecnicamente, alguém poderia decidir atualizar seu código e liberá-lo sob a GPL, mas eles teriam que fazer essa escolha ativamente. Não seria a posição padrão. E, ao fazer isso, eles cortariam o lançamento de todas as atualizações que você fizer, portanto, provavelmente não seria benéfico para elas (dado que é o seu software, você provavelmente estará desenvolvendo mais do que qualquer outra pessoa).
fonte
Se a correção de bug for realmente trivial, provavelmente não terá direitos autorais, especialmente se não houver outra maneira de escrever o código. Existem centenas de milhões de maneiras de escrever um poema de amor ou um videogame, na verdade não há mais de uma ou duas maneiras de escrever
if (*p == NULL)
. Os direitos autorais estão relacionados à expressão de uma ideia; portanto, se não há realmente nenhuma escolha de como uma ideia é expressa, não pode haver um direito autoral.No entanto, se o bugfix ainda for bastante trivial, pode haver algumas dúzias de maneiras de expressá-lo, portanto poderá ser protegido por direitos autorais. E pode não ser fácil dizer se algo que é bastante trivial não tem direitos de autor nem é de direito de autor.
Também é possível que possa ser protegido por direitos autorais, mas que o uso seja justo. O uso justo é um pouco complicado, pois depende da ponderação de vários fatores e pode não ser útil, uma vez que a aplicação justa do uso seria decidida por um tribunal - idealmente, você não deseja que exista um processo judicial , por mais forte que seja o seu caso. Um dos fatores de uso justo é a fração do trabalho que foi usado (isso é contra você, porque você levou a coisa toda) e outro é o potencial comercial do trabalho (isso é para você, uma vez que o valor comercial de uma correção trivial por si só é zero); portanto, adivinhar para que lado um tribunal pode governar é suscetível a erros.
Provavelmente, a melhor maneira de lidar com isso é entregar uma descrição exata do bug e sua localização exata para um desenvolvedor que não tenha visto o patch. Eles podem então corrigir o bug independentemente (o que levará muito pouco tempo, já que esse bug é trivial) e todos os possíveis problemas de direitos autorais desaparecem, pois, se for possível, você é o proprietário dos direitos autorais. Seu desenvolvedor pode ter quase exatamente o mesmo código que o patch, porque existe basicamente apenas uma maneira de escrevê-lo, mas, nesse caso, não é protegido por direitos autorais.
fonte
Minha opinião inexperiente, depois de ler http://www.ifosslr.org/ifosslr/article/view/30/64 , é esta:
A obra original tem uma autoria exclusiva e essa pessoa possui os direitos autorais e pode optar por licenciar a obra como deseja e de fato possui.
Agora, um desenvolvedor encontra um erro e contribui com uma correção. Isso pode ser considerado como não protegido por direitos autorais (contribuição muito pequena), mas dizer que foi uma contribuição substancial. O autor original aceita a contribuição, tornando o trabalho um trabalho coletivo, pois os dois indivíduos concordaram com a fusão.
Em uma obra coletiva, cada autor possui suas respectivas partes, mas cada um também possui um interesse indiviso em toda a obra e, como tal, cada um pode liberar toda a obra sob os termos que desejar.
Se essa é uma interpretação razoável, a controvérsia não é se o autor original pode ou não usar a correção de bug em sua versão comercial, que IMO eles podem. O conflito em potencial é se o consertador de erros acredita que possui sua própria propriedade no trabalho como um todo. Nesse caso, pode ser aconselhável que o autor original obtenha uma liberação do consertador de erros que indique claramente que ele não aceita a propriedade do trabalho.
fonte