Como localizo e documento uma violação da GPL?


15

Como identificar que alguém copiou o código-fonte aberto licenciado com a GPL para seu aplicativo comercial de código fechado, quando você não tem acesso ao código-fonte fechado?

Edit: Ótimas respostas! Parte 2. E se for um aplicativo da web em que você nem tenha acesso aos executáveis?

Cenário: Eles copiam a fonte, fazem algumas pequenas alterações na GUI para que o front end seja quase idêntico; adicione um novo recurso ao back-end totalmente idêntico; e falha ao liberá-lo de volta ao código aberto.


1
Sim, é mais do que apenas uma "boa idéia". É aplicável através de repercussões legais (em muitas jurisdições). Ou seja, contrate (ou obtenha) um advogado e uma equipe de análise.
pst 31/05

Após a edição, isso fica bem claro. Provavelmente não teria sido migrado em sua forma atual. Como não pode ser enviado de volta com tanta facilidade, fiz o possível para responder. Eu também revi seu título.
Tim Post

Manter um olho sobre esse cara ;)
MarkJ

Respostas:


6

Parece que você está realmente tentando identificá- lo, o que significa que você precisa procurar no executável compilado (ou bibliotecas associadas) do programa proprietário para saber. Você está procurando seqüências de caracteres e símbolos que obviamente correspondem ao software livre que você suspeita.

Em um sistema operacional semelhante ao UNIX, o stringsutilitário fornece uma ótima pista. Uma análise cuidadosa geralmente revela o que você precisa. Se você vê foolib_easy_init, bem .. o programa compilado está usando o foolib.

É claro que isso varia de acordo com os níveis de otimização do compilador, a ofuscação feita antes da compilação e, possivelmente, os símbolos não utilizados / de depuração serem removidos, mas as pessoas com preguiça de escrever seu próprio software geralmente são igualmente preguiçosas quando se trata de ocultar isso.


1
Entendo, e se o programa for um aplicativo da Web, onde você nem tem acesso aos binários? Eles copiam todo o código fonte licenciado pela GPL, alteram alguns elementos da GUI e lançam seu próprio webapp de código fechado com front-end quase idêntico e back-end totalmente idêntico. Em seguida, eles adicionam um novo recurso ao aplicativo sem liberá-lo como código aberto. É possível identificar esse tipo de violação da GPL?
precisa saber é o seguinte

3
@ bizso09: Isso não é uma violação da GPL, supondo que estamos falando sobre o back-end. Veja minha resposta para mais detalhes.
David Thornley

2
@ bizso09 - Seria apenas uma violação da GPL se o aplicativo fosse transferido para você no formato ofuscado / compilado sem o código-fonte. Simplesmente colocá-lo em serviço e permitir que as pessoas o usem não seria uma violação. No entanto, violaria a Affero GPL, que cobre especificamente software que interage com uma rede. Ainda assim, você poderá identificá-lo através das ferramentas firebug / dev, inspecionando todos os elementos (ou mesmo procurando por erros conhecidos que existem no código que você suspeita ter sido usado de maneira incorreta).
Tim Post

4

O BusyBox teve vários casos de alto perfil de processar fabricantes de hardware por usar o BusyBox sem liberar fontes. Esses processos foram movidos pelos advogados do Software Freedom Law Center .

Se o seu projeto estiver maduro o suficiente para ingressar na Software Freedom Conservancy, você também poderá contratar os serviços da SFLC. (Não tenho certeza se projetos que não sejam da Conservancy poderiam usar os serviços da SFLC - você deve verificar.)


Link muito legal. Nem sabia que coisas assim existiam.
pst 31/05

1
Eles fazem a pesquisa para você ou apenas fornecem os advogados? Porque eu acho que o OP estava procurando o primeiro
TheLQ

1
-1 Embora interessante, isso não responde à pergunta.
precisa saber é o seguinte

1
@EdgeMage - a questão era um pouco mais ambígua antes da edição.
detly

3

A GPL possui apenas um aplicativo limitado aos aplicativos da web do lado do servidor. Qualquer coisa do lado do cliente está sendo distribuída, mas normalmente é Javascript, e o usuário obtém a fonte automaticamente. Qualquer coisa estritamente do lado do servidor está sendo executada, não distribuída, e a GPL se aplica principalmente à distribuição.

Essa foi a motivação para o Affero GPL, que (IIRC) diz essencialmente que se você usar o software AGPL em algo como um aplicativo da web, é necessário oferecer a distribuição de código-fonte.


1
Corrigir. A AGPL cobre especificamente 'software que interage com uma rede'. Isso se aplicaria tanto a ... um servidor IMAP ... quanto a um aplicativo da web.
Tim Post

2

Se ele se comporta como e é executado como seu programa, você pode começar com objdumpferramentas semelhantes. Essa entrada antiga do Slashdot mostra outro método mais formal para detectar a violação da GPL.


1

Harald Welte teve sucesso com as abordagens de cenoura e pau para conseguir que as empresas que usaram seu código licenciado pela GPL indevidamente se ajustassem aos termos da licença. Muitas empresas simplesmente precisavam ser informadas sobre as conseqüências de suas decisões e resolver seus problemas fora dos tribunais.


-1 Na ​​verdade, não trata da pergunta, que é como identificar esses abusos, e não o que fazer depois que um é encontrado.
precisa saber é o seguinte

5
@HedgeMage - a questão foi editado o suficiente recentemente, foi realmente confuso que foi migrado para cá, quando na verdade ele provavelmente não pertencem no SO.
Tim Post

2
@ Tim: Podemos agora retaliar e rebaixar o @ HedgeMage agora? Pleeeez? :-P (. Para lurkers de terceiros:.! Não, isso não é uma sugestão séria Ambos Tim e eu estamos moderadores em outros sites SE e nunca se envolver em qualquer coisa assim Certamente)
Chris Jester-Young

1

Se você detectar uma violação da GPL (alguém usou o código sob seus direitos autorais e não ofereceu fonte durante a distribuição de binários), entre em contato com o violador e peça para resolver a situação. Documente os e-mails, dados de quando você entrou em contato com quem etc.

Se não for o seu direito autoral, mas você detectou a violação, entre em contato com o detentor do direito original ao lado do violador e informe-o sobre a violação. É aconselhável antes de entrar em contato com o violador.

Se o software for um trabalho combinado com muitos detentores de direitos autorais, o mesmo se aplica a você se você for apenas um dos detentores de direitos autorais ou apenas um grupo de detentores de direitos autorais (e não todos). Os direitos autorais são seus e a GPL se aplica a qualquer tipo de derivado - grande ou pequeno.

Se você tiver limitações técnicas incapazes de obter conhecimento se uma provável violação realmente for uma violação, será necessário procurar outras maneiras de descobrir mais. Por exemplo, fazendo uma pergunta ao provavelmente violador, obtendo acesso a fontes binárias ou mesmo através de terceiros etc.

Se o código em questão estiver sob a GPL v2 e houver uma violação dos termos de licença, a rescisão será aplicada. O infrator perdeu todos os direitos para sempre para usar o código da GPL. Ele deve entrar em contato com todos os detentores de direitos autorais novamente e solicitar a reposição dos direitos; caso contrário, o uso do código ainda viola os direitos autorais.

Se o código em questão estiver sob a GPL v3 e houver uma violação dos termos da licença, a rescisão também estará em vigor, mas o infrator poderá se recuperar disso interrompendo a violação por si só - a menos que um detentor dos direitos autorais solicite mais.

Edit: Esta é apenas uma informação geral. Se você quiser examinar o lado jurídico concreto disso, deve ser o proprietário dos direitos autorais e deve entrar em contato com sua equipe jurídica para descobrir o que precisa para uma prova e o que é sugerido para resolver uma violação, mesmo sem a lei, conforme isso é muito mais prático.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.