Vantagem em ser o primeiro a copyleft de um novo algoritmo? [fechadas]

18

Digamos que eu criei um novo algoritmo (DSP). Terei alguma vantagem se eu abrir o algoritmo sob licença copyleft (GPL etc.)? Pelo que sei sobre o licenciamento, isso deve impedir as pessoas de usar exatamente o mesmo código da fonte fechada, mas elas poderiam "reescrever" o algoritmo como fonte fechada?

Nota: Eu realmente não sei se o algoritmo é novo, mas ainda não foi lançado como código aberto. Como sou da União Européia, preciso procurar patentes de software se quiser copyleft-lo?

Kozuch
fonte
21
Estou votando para encerrar esta questão como fora de tópico, porque ela está solicitando aconselhamento jurídico. Só pode ser respondido corretamente por um advogado de PI para uma jurisdição específica.
1
Eu recomendo pesquisar a história da engenharia reversa de caixa preta. Embora não seja a mesma coisa que você está perguntando, há muitas informações interessantes sobre leis de propriedade intelectual, contratos, engenharia reversa, patentes etc. que são relevantes.
2
@ Snowman: como você pode ver aqui, meta.programmers.stackexchange.com/questions/1655/… , nem todas as questões relacionadas a tópicos legais são geralmente fora de tópico. Eu acho que, pelo menos para partes essenciais dessa questão, nossa comunidade tem algum conhecimento para compartilhar. Embora eu concorde que, para uma resposta aprofundada, provavelmente será necessário um advogado.
Doc Brown
2
Esta pergunta foi feita 8 horas atrás e já tem 1880 visualizações. Parece uma pergunta muito popular e necessária. Que bom que alguém perguntou.
Gabriel Fair
2
Embora essa pergunta possa ser popular e interessante, as respostas "discutíveis" abaixo ilustram exatamente por que esses tipos de questões de legalidade são pouco adequadas para a PSE e por que estão fora de tópico aqui.
Eric King

Respostas:

27

As restrições nas licenças copyleft como a GPL aplicam-se a versões modificadas do seu código, bem como ao seu código original. Portanto, eles não podem simplesmente ajustar o estilo de espaço em branco ou entre chaves e excluir sua declaração de licença.

No entanto, você não pode patentear / copyright / copyleft / qualquer que seja um "algoritmo" em seu sentido mais abstrato. Você pode colocar uma licença em sua implementação favorita do quicksort, mas não pode licenciar o quicksort em si. Se alguém ler o seu código apenas para aprender o algoritmo e depois reescrevê-lo do seu jeito, tudo bem.

Até onde eu sei, não há "vantagem" em ser o primeiro a publicar um algoritmo além de possivelmente alguma fama e reputação (no mundo real), se for particularmente digno de nota. Ser o primeiro a copyleft definitivamente não ganha nada, mas o fato de alguém copyleft ser visto como um benefício para a comunidade de software livre.

Ixrec
fonte
27
Esta resposta contém algumas informações corretas e discutíveis, portanto, tenha cuidado. AFAIK, tentamos aplicar patentes a partes de software muito menos substanciais e tentaram idéias abstratas, não apenas implementações. Isso depende muito da lei local e é muito diferente, mesmo em diferentes estados da Europa. A publicação de um novo algoritmo como o primeiro pode criar um caso para "arte anterior" ( en.wikipedia.org/wiki/Prior_art ) quando alguém mais tarde tentar patentear a mesma idéia em uma implementação diferente.
Doc Brown
10
Oracle v Google não era sobre a implementação de Java; pelo contrário, era sobre a API. Eu ficaria muito relutante em dizer que os algoritmos não são patenteáveis ​​em geral, especialmente nos EUA.
sapi
9
Não é possível patentear algoritmos? Já esquecemos as patentes GIF e MP3?
Andrew Medico
2
@ Bakuriu: você perdeu o ponto. Os detentores de patentes GIF e MP3 processaram outras empresas por usar algoritmos (ou pelo menos ameaçaram processá-los), não porque essas outras empresas copiaram uma implementação específica.
Doc Brown
4
@AbhinavGauniyal: Patentear uma maneira de fazer algo é perfeitamente normal. Chama-se patente de processo / método. Por exemplo, se você tem uma nova maneira de fabricar pára-choques de carros, pode patentear. Não pára-choques de carros, o processo de fabricação de pára-choques de carros. Processar patentes é um dos pilares das patentes de software. Mas a idéia de patentes de software colide com outro aspecto da lei de patentes: você não pode patentear fórmulas matemáticas (pelo menos nos EUA). E pode-se argumentar que os algoritmos fazem parte da matemática pura que chamamos de "ciência da computação".
slebetman
12

Se você deseja impedir que uma coisa patenteável seja patenteada e depois "fechada" da comunidade maior, você pode fazer uma divulgação defensiva. O Cuis Smalltalk, por exemplo, fez isso com algumas novas técnicas de anti-aliasing:

Frank Shearar
fonte
3
Se você liberar algo, de jure, ele não poderá mais ser patenteado porque existe uma técnica anterior. De fato, os escritórios de patentes em todo o mundo geralmente não se importam o suficiente em pesquisar isso (porque não recebem dinheiro por isso) e permitem praticamente todas as patentes que não parecem muito suspeitas. Se o titular da patente, em seguida, processa alguém, a patente não irá realizar no tribunal (se há um processo judicial que custam muito dinheiro ....)
Josef
2
@ Josef Não é inteiramente verdade, a maioria dos escritórios de patentes (certamente nos EUA e na UE) são os primeiros a serem arquivados agora, mas isso só importa para invenções que ocorrem próximas. Se alguém publicar (mas não patentear) um algoritmo, alguém poderá patentear no dia seguinte e possivelmente se safar. As questões jurídicas específicas em torno disso são complexas, e deve-se consultar definitivamente um advogado de propriedade intelectual se tentar fazer isso.
@Snowman, para evitar o patenteamento no dia seguinte, ajudaria a publicar na forma criptografada e depois publicar a chave alguns meses depois?
Trichoplax
1
Trichoplax @ Eu não sei para ser honesto. Tento manter-me atualizado sobre essas leis, mas essa é uma mudança recente nos EUA onde moro. Se eu tentasse fazer isso, consultaria um advogado de PI que sabe mais. Pelo que entendi, existe uma grande área cinzenta e alguém especializado em direito precisaria me orientar.
Apenas para esclarecer, pretendi que minha resposta falasse especificamente sobre idéias, algoritmos etc., porque muitas pessoas começaram a falar sobre código-fonte enquanto o OP estava perguntando sobre algoritmos . Em caso de dúvida (e você deve estar), consulte um advogado de propriedade intelectual.
precisa saber é o seguinte
9

Vejo algumas informações valiosas nas outras respostas e comentários, mas também algumas informações erradas, por isso tento dar um resumo e adicionar algumas coisas adicionais.

Terei alguma vantagem se eu abrir o algoritmo sob licença copyleft (GPL etc.)?

Ao publicar o código-fonte de uma implementação de seu algoritmo na GPL (presumo que seja isso que você quis dizer), você obtém a vantagem de demonstrar que seu algoritmo funciona conforme o esperado e todos podem inspecionar seu código-fonte para garantir que ele não contenha nada "incomum", como erros graves ou malware. Talvez você obtenha alguns colaboradores para melhorias adicionais. E como você é o detentor dos direitos autorais, você ainda pode publicar ou vender sua implementação para outras pessoas sob uma licença diferente.

Uma questão diferente é se isso traz alguma vantagem em ser a primeira publicação desse algoritmo. Sendo o primeiro, você pode tentar impedir que outra pessoa obtenha uma patente sobre esse algoritmo, pois sua implementação servirá como algum tipo de prova de que você é o inventor. Mas, como o @Snowman apontou corretamente em um comentário, devido à política de primeiro a arquivo (em oposição ao primeiro a inventar) de muitos regulamentos de patentes europeus, isso pode realmente não funcionar.

Pelo que sei sobre o licenciamento, isso deve impedir as pessoas de usar exatamente o mesmo código da fonte fechada, mas elas poderiam "reescrever" o algoritmo como fonte fechada?

Você impede que as pessoas publiquem seu código-fonte ou modificações no código-fonte fechado, e não o utilizem em uma organização comercial. Você impede que as pessoas publiquem como fonte aberta ou fechada sob uma licença diferente da GPL. No entanto, você não impede que as pessoas publiquem uma nova implementação de "sala limpa" do seu algoritmo sob uma licença arbitrária, que é uma implementação feita apenas a partir da sua descrição do algoritmo, sem realmente examinar o código-fonte.

Como sou da União Européia, preciso procurar patentes de software se quiser copyleft-lo?

Embora as leis de muitos países europeus proíbam formalmente patentes em algoritmos puros, muitas empresas contornaram essas leis no passado, declarando algoritmos específicos como "invenções implementadas por computador". AFAIK, os escritórios de patentes europeus não aceitaram tantas patentes algorítmicas quanto os escritórios de patentes dos EUA no passado; no entanto, eles aceitaram milhares de patentes ao longo dos anos que podem ser interpretadas como patentes em algoritmos. Se essas patentes realmente são mantidas em juízo, é uma questão diferente, mas alguém que deseja descobrir normalmente precisará colocá-lo em julgamento, com todos os riscos relacionados. Dois dos grupos mais populares de exemplos foram mencionados nos comentários, as patentes referentes à compactação de imagem GIF e as patentes relacionadas à compactação / descompressão de MP3, veja aqui para mais exemplos.

Portanto, se você deseja reduzir o risco de ser processado, antes de publicar um software que contém um algoritmo específico, você deve procurar se há alguém que tenha uma patente sobre ele, mesmo na UE.

Doc Brown
fonte
Realmente boa resposta abrangente. Só tenho alguns problemas com o último parágrafo: como suponho que procure patentes que possam estar violando? Eu, por exemplo, não posso deduzir do título deles se eles se aplicarem ao meu código. Também não conheço um índice temático abrangente para eles. A busca por palavras-chave não ajuda, portanto, mesmo o Google é inútil, o texto pode ser completamente inimaginável para mim. E, considerando as milhares de patentes, não consigo verificar todas elas. Afaik está claro impossível realmente procurar uma patente que eu poderia estar infringindo, só posso esperar e ver se alguém me processa :-(
cmaster - Reintegrar monica
1
@cmaster: sua melhor chance na Europa é provavelmente o mecanismo de pesquisa do Instituto Europeu de Patentes, consulte epo.org/searching.html
Doc Brown
1
@ master: você deveria gastar milhões em advogados fazendo uma revisão de patentes, lendo realmente as patentes. Entendo que isso até funciona em grandes projetos fora do software (imagine um carro novo), porque eles são desenvolvidos de uma maneira mais "cascata" e têm menos idéias. Mas, é claro, isso não é prático para software, então as grandes empresas geralmente apenas licenciam patentes cruzadas e as pequenas não podem se proteger.
Blaisorblade
5

Você não pode "copyleft" um algoritmo. O "Copyleft" depende da proteção de direitos autorais para sua aplicabilidade, mas os algoritmos não são protegidos por direitos autorais; portanto, você não pode "copyleft" um algoritmo. Em outras palavras, sua pergunta pode ser baseada em uma premissa defeituosa.

Os direitos autorais podem ser usados ​​apenas para proteger uma implementação específica, não a idéia do algoritmo. Portanto, você pode proteger uma implementação específica de um algoritmo usando licenças baseadas em direitos autorais (como uma licença no estilo "copyleft"), mas isso não impediria que mais ninguém criasse uma implementação diferente do mesmo algoritmo. Conseqüentemente, não há como "copyleft um algoritmo".

Em particular, a licença GPL é construída sobre o fundamento da lei de direitos autorais. A lei de direitos autorais diz (aproximadamente): ninguém pode copiar seu conteúdo protegido por direitos autorais sem a sua permissão. A licença da GPL diz: Eu permito copiar o conteúdo protegido por direitos autorais (o código) sob certas condições (as condições da licença "copyleft"). Portanto, para itens protegidos por direitos autorais, isso permite inicializar a licença "copyleft" de acordo com a lei de direitos autorais existente. Mas, para coisas que não são protegidas por direitos autorais, essa abordagem é inútil. A lei de direitos autorais protege apenas a expressão criativa, não as idéias. Em particular, não protege algoritmos.


O direito das patentes é uma questão diferente. Em algumas jurisdições, pode ser possível obter uma patente para um algoritmo. Isso dependerá muito da jurisdição legal e possivelmente das especificidades da sua situação. De um modo geral, a publicação do seu algoritmo pode ajudar a estabelecer técnicas anteriores que impedem que outras pessoas patentem o algoritmo, mas os detalhes são complicados e é melhor consultar um advogado. Em geral, se você quiser conselhos sólidos sobre qualquer coisa relacionada a patentes de algoritmos, sugiro que entre em contato com um advogado de propriedade intelectual, pois isso é amplo demais para responder em geral sem o conhecimento dessas informações.

DW
fonte
IMHO a questão não é baseada em uma "premissa defeituosa", apenas não é formulada com precisão. Tenho certeza de que o OP realmente pretendia abrir código-fonte uma implementação de seu algoritmo.
Doc Brown
1
@DocBrown: O OP também está interessado em impor uma Licença contra qualquer implementação de algoritmo em sala limpa (reescrita). Portanto, a interpretação DW da pergunta está correta.
slebetman
3

O Copyleft não tem nada a ver com proteção de direitos autorais ou patente. Ele não fornece nenhuma proteção a você, detentor dos direitos autorais, que você ainda não teria.

No entanto , tem tudo a ver com distribuição . O Copyleft protege os usuários do seu código exigindo que você e qualquer outra pessoa que use o código distribua todo o código-fonte de seu trabalho coletivo e quaisquer alterações feitas nele. Ele não tem nada a dizer sobre direitos autorais ou proteção de patentes, além de conceder ao usuário certos direitos específicos que eles não teriam, como a liberdade de fazer engenharia reversa de DRM na GPL3.

Robert Harvey
fonte