Um projeto de código aberto licenciado sob BSD, MIT ou outra licença permissiva aceita contribuições de código da comunidade.
Como posso impedir que alguém pegue o código licenciado pela GPL que não é seu e o envie ao meu projeto licenciado pelo BSD? Não sei se a contribuição foi roubada de um projeto licenciado pela GPL e a aceito.
Não desejo aceitar tais contribuições, para não tornar o projeto inteiro GPL. Mas não tenho como saber se o contribuidor realmente possui os direitos autorais do código que está contribuindo. Portanto, se alguém contribuir ilegalmente com o código licenciado pela GPL para o meu projeto, não conheço nenhuma maneira de detê-lo (exceto por não aceitar nenhuma contribuição).
Certamente, há muitos projetos licenciados para BSD e MIT por aí, portanto, deve haver uma solução.
Obrigado!
Respostas:
Não se "guarda contra" simplesmente contribuições ilegais.
Você nunca aceita cegamente uma contribuição e deve ter um processo para verificar as contribuições (incluindo a sua) para vários tipos de problemas:
"Tudo" que você precisa fazer é adicionar uma verificação de plágio . Isso pode ser feito, até certo ponto, com ferramentas automáticas, pesquisando apenas as linhas de código relevantes.
Eu tentei agora levantando alguns exemplos de código de projetos, e ele funciona. Simplesmente extraí strings, formatos, comentários e nomes de funções e protótipos do código, depois pesquisei em todos eles e observei onde um único site apareceu em várias correspondências. Em 17 testes em 19, o site de origem foi o primeiro dos cinco candidatos; em todos os casos, o site apareceu entre os cinco primeiros. Por outro lado, trechos do meu próprio código só acionavam falsos positivos em três (quatro) casos em vinte, com metas de qualidade muito baixa; portanto, examinando rapidamente meia dúzia de sites, pude ignorar o alerta. Além disso, com o código GPL, o snippet da Pesquisa Google era visivelmente o mesmo que o código que eu havia testado.
Neste ponto, estou confiante de que você poderia fazer isso manualmente . Dê uma olhada no código, veja os comentários (eles fazem sentido? Se não, isso é outro tipo de luz vermelha. Se sim, eles foram todos reformulados (!) Ou você os encontrará), tente um algumas seqüências de texto, conecte-as ao Google e / ou a outros mecanismos de pesquisa.
E você só precisa disso para contribuições consideráveis .
Do ponto de vista jurídico - estou me afastando rapidamente -, imagino que você precise que seus colaboradores aceitem alguma forma de renúncia ou acordo no qual eles afirmam que vão contribuir honestamente.
Quando não o fazem, e você perdeu isso (por exemplo, eles transformaram / ocultaram algum código GPL para que não seja encontrado no Google), as chances de IMHO são que ele nunca será descoberto, a menos que tenha sido feito para fins de armadilha, e eles mesmos apitam. Nesse ponto, seu projeto estará violando a GPL e você poderá:
Para que todo o cenário tenha qualquer tipo de problema realista, o "colaborador" deve:
Todo o cenário, especialmente o último ponto, parece-me realmente absurdo. Uma vez que a verificação do plágio esteja em vigor, eu deixaria de me preocupar.
fonte