Come posso individuare e documentare una violazione di GPL?


15

Come individuare qualcuno che ha copiato il codice open source concesso in licenza con GPL nella sua applicazione commerciale chiusa, quando non si ha accesso al proprio codice sorgente chiuso?

Modifica: grandi risposte! Parte 2. Cosa succede se si tratta di una webapp in cui non si ha nemmeno accesso agli eseguibili?

Scenario: copiano la fonte, apportano alcune piccole modifiche alla GUI in modo che il front-end sia quasi identico; aggiungere una nuova funzionalità al back-end altrimenti identico; e non riescono a rilasciarlo nuovamente all'open source.


1
Sì, è più di una semplice "bella idea". È applicabile attraverso ripercussioni legali (in molte giurisdizioni). Cioè, assumere (o ottenere) un avvocato e un team di analisi.
PST

Dopo la modifica, questo è abbastanza chiaro. Probabilmente non sarebbe stato migrato nella sua forma attuale. Dal momento che non può essere rispedito così facilmente, ho fatto del mio meglio per rispondere. Ho anche rivisto il tuo titolo.
Tim Post

Tieni d'occhio questo ragazzo ;)
MarkJ

Risposte:


6

Sembra che tu stia davvero cercando di individuarlo , il che significa che devi scavare nell'eseguibile compilato (o librerie associate) del programma proprietario per dirlo. Stai cercando stringhe e simboli che ovviamente corrispondano al software libero di cui sospetti.

Su un sistema operativo come UNIX, l' stringsutilità fornisce un ottimo indizio. Un'attenta analisi di solito rivelerà ciò di cui hai bisogno. Se vedi foolib_easy_init, beh .. il programma compilato sta usando foolib.

Questo ovviamente varia con i livelli di ottimizzazione del compilatore, l'offuscamento fatto prima della compilazione e l'eventuale rimozione di simboli non utilizzati / di debug, ma le persone che sono troppo pigre per scrivere il proprio software sono generalmente ugualmente pigre quando si tratta di nasconderlo.


1
Vedo, cosa succede se il programma è una webapp, dove non hai nemmeno accesso ai file binari? Copiano l'intero codice sorgente con licenza GPL, cambiano un paio di elementi della GUI e rilasciano la propria webapp a sorgente chiuso con front-end quasi identico e back-end totalmente identico. Quindi aggiungono una nuova funzionalità all'app senza rilasciarla come open source. È possibile individuare questo tipo di violazione di GPL?
Siamii,

3
@ bizso09: Questa non è una violazione della GPL, supponendo che stiamo parlando del back-end. Vedi la mia risposta per maggiori dettagli.
David Thornley,

2
@ bizso09 - Sarebbe una violazione di GPL se l'applicazione ti fosse trasferita in formato offuscato / compilato senza il codice sorgente. Metterlo semplicemente "in servizio" e consentire alle persone di usarlo non sarebbe una violazione. Tuttavia, violerebbe la GPL di Affero , che copre specificamente il software che interagisce con una rete. Tuttavia, potresti essere in grado di individuarlo attraverso gli strumenti firebug / dev controllando tutti gli elementi (o anche cercando bug noti che esistono nel codice che sospetti sia stato utilizzato in modo improprio).
Tim Post

4

BusyBox ha avuto diversi casi di alto profilo di produttori di hardware citati in giudizio per l'utilizzo di BusyBox senza rilasciare fonti. Queste azioni legali sono state presentate dagli avvocati del Software Freedom Law Center .

Se il tuo progetto è abbastanza maturo per aderire al Software Freedom Conservancy, potresti coinvolgere anche i servizi di SFLC. (Non sono sicuro se i progetti non conservativi potrebbero utilizzare i servizi SFLC --- dovresti controllare.)


Link molto bello. Non sapevo nemmeno che esistessero cose del genere.
PST

1
Fanno le ricerche per te o forniscono solo gli avvocati? Perché penso che l'OP stesse cercando il primo
TheLQ

1
-1 Sebbene interessante, questo non risponde alla domanda posta.
HedgeMage,

1
@HedgeMage - la domanda era un po 'più ambigua prima della modifica.
Detly

3

La GPL ha solo un'applicazione limitata alle webapp lato server. Tutto il lato client viene distribuito, ma normalmente si tratta di Javascript e l'utente ottiene automaticamente la fonte. Tutto ciò che è strettamente lato server viene eseguito, non distribuito e la GPL si applica principalmente alla distribuzione.

Questa è stata la motivazione di Affero GPL, che (IIRC) afferma essenzialmente che se si utilizza il software AGPLed in qualcosa di simile a un'app Web, è necessario offrire la distribuzione di sorgenti.


1
Corretta. L'AGPL copre specificamente "software che interagisce con una rete". Si applicherebbe tanto a ... un server IMAP ... come a un'applicazione web.
Tim Post

2

Se si comporta come e funziona come il tuo programma, puoi iniziare con objdumpstrumenti simili. Questa vecchia voce di Slashdot mostra un altro metodo più formale per rilevare la violazione di GPL.


1

Harald Welte ha avuto successo con gli approcci alle carote e ai bastoncini per far sì che le aziende che hanno usato il suo codice con licenza GPL in modo errato si conformassero ai termini della licenza. Molte aziende dovevano semplicemente essere istruite sulle conseguenze delle loro decisioni e risolvere i loro problemi in via stragiudiziale.


-1 In realtà non affronta la domanda posta, che è come identificare tali abusi, non cosa fare dopo che uno è stato trovato.
HedgeMage,

5
@HedgeMage - la questione è stato modificato abbastanza recente, in realtà è stato confuso che è stato migrato qui, quando in realtà probabilmente non appartengono sul SO.
Tim Post

2
@Tim: ora possiamo andare a rivalutare-sottovalutare @HedgeMage ora? Pleeeez? :-P (Per i guardiani di terze parti: No, questo non è un suggerimento serio. Sia Tim che io siamo moderatori su altri siti SE e non ci impegneremmo mai in una cosa del genere. Sicuramente!)
Chris Jester-Young

1

Se noti una violazione di GPL (qualcuno ha utilizzato il codice sotto il tuo copyright e non ha offerto la fonte durante la distribuzione di file binari), contatta il violatore e chiedi di risolvere la situazione. Documentare le mail, i dati di quando hai contattato chi ecc.

Se non è il tuo copyright ma hai individuato la violazione, contatta il detentore del copyright originale accanto al violatore e informa anche lui della violazione. È consigliabile prima di contattare il trasgressore.

Se il software è un lavoro combinato con molti detentori del copyright, lo stesso vale per te se sei solo uno dei detentori del copyright o solo un gruppo di detentori del copyright (e non tutti). È quindi il tuo copyright e la GPL si applica a qualsiasi tipo di derivato, grande o piccolo.

Se sei a causa di limitazioni tecniche che non sono in grado di acquisire la conoscenza se una probabile violazione è davvero una violazione, devi cercare altri modi per saperne di più. Ad esempio ponendo domande al probabile trasgressore, ottenendo l'accesso a fonti binarie o persino tramite terze parti ecc.

Se il codice in questione si trova sotto GPL v2 e c'è una violazione dei termini della licenza, si applica la risoluzione. Il trasgressore ha perso per sempre tutti i diritti per utilizzare il codice GPL. Deve entrare nuovamente in contatto con tutti i detentori del copyright e chiedere il ripristino dei diritti, altrimenti l'utilizzo del codice viola comunque il copyright.

Se il codice in questione si trova sotto GPL v3 e c'è una violazione dei termini della licenza, anche la risoluzione è in vigore, ma il violatore può recuperarlo interrompendo la violazione da solo - a meno che un detentore del copyright non chieda di più.

Modifica: si tratta semplicemente di informazioni generali. Se vuoi esaminare il lato legale concreto di questo, dovresti essere un proprietario del copyright e devi contattare il tuo team legale in anticipo per scoprire cosa ti serve per una prova e cosa viene suggerito per risolvere una violazione anche senza la legge come questo è molto più pratico.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.