Riscrivere il codice GPL per modificare la licenza

18

Ho trovato una libreria GPL (senza doppia licenza), che fa esattamente ciò di cui ho bisogno. Sfortunatamente, la licenza GPL sulla libreria è incompatibile con la licenza di una libreria diversa che utilizzo. Ho quindi deciso di riscrivere la libreria GPL, quindi la licenza può essere modificata.

La mia domanda è: quanto devono essere estesi i cambiamenti alla libreria per poter cambiare la licenza? In altre parole, qual è il modo più economico per farlo?

    
posta I_like_traffic_lights 05.06.2011 - 18:33
fonte

9 risposte

31

Non sono un avvocato, ma AFAIK se hai visto il codice della libreria GPLed qualsiasi libreria di emulazione che scrivi sarebbe macchiata e potrebbe essere dichiarata un'opera derivata da un giudice se è troppo simile nel suo apprezzamento.

Quindi il processo sarebbe di scrivere una specifica funzionale e avere qualcuno che non ha visto il codice GPLed scrivere la libreria.

Modifica: si noti che nel modo in cui si formula la domanda "Quanto devono essere estesi i cambiamenti alla libreria per poter cambiare la licenza?" la risposta è AFAIK chiaro: qualunque cosa tu faccia, se modifichi semplicemente la libreria devi rispettare il termine della licenza che ti rende in grado di modificarlo in primo luogo.

    
risposta data 05.06.2011 - 18:37
fonte
19

Il solito modo per risolvere questo problema è contattare innanzitutto il proprietario della biblioteca e chiedere se lo rilasceranno con una licenza diversa.

Se stai lavorando a un progetto open source in cui GPL non è compatibile, allora ci sono buone probabilità che lo facciano, alcuni progetti finiscono con una licenza GPL solo perché sembrava la scelta migliore.

Ovviamente questo vale per entrambe le librerie. Ottenere la licenza doppia permissiva con licenze meno permissive non dovrebbe essere un problema.

Se lavori con un prodotto commerciale, molti autori di librerie ti rilasceranno una licenza diversa, se li indennizzi in modo appropriato.

    
risposta data 05.06.2011 - 20:29
fonte
16

La mia comprensione è che se inizi con un lavoro e lo modifichi, non importa quanto estese le modifiche, il risultato finale è un lavoro derivato dell'originale. Avrai bisogno di scrivere la libreria da zero. Se scrivi la libreria da zero, ma hai visto il codice, se è troppo simile puoi nuovamente essere citato per violazione del copyright.

Queste regole non sono specifiche del software, si applicano a cose di qualsiasi genere.

Non sono un avvocato, e questo non è un consiglio legale. Probabilmente non sono nella vostra giurisdizione, e dovreste sempre essere dubbi circa la consulenza legale offerta su Internet. Se desideri avere una consulenza legale affidabile, dovrai pagare un avvocato.

    
risposta data 05.06.2011 - 19:10
fonte
4

IANAL, ma so che negli Stati Uniti nessun tipo di modifica creerà un lavoro non derivato. Se ha un codice copiato dalla vecchia libreria o ha abbastanza somiglianza interna che ti metterebbe nei guai per plagiarisim in una classe universitaria, allora non sei vicino a un nuovo lavoro. Cambiare alcuni nomi di funzioni o variabili non farà nulla, né muterà blocchi di codice nella fonte. Dovresti ricrearlo in modo indipendente per avere anche una possibilità. IOWs, avresti bisogno di guardare solo le interfacce che fornisce, e decidere come fornire quella funzionalità e ricrearla in questo modo per avere una possibilità. Anche allora potresti non essere fuori dai boschi se qualcuno si preoccupa davvero e si arrabbia.

Alla fine, la soluzione migliore è contattare l'autore della biblioteca e sperare di trovare un accordo per una licenza più permissiva della sua biblioteca.

    
risposta data 06.06.2011 - 03:33
fonte
1

Se qualsiasi altra cosa suggerita qui (richiedere una doppia licenza, riscrittura) non è accettabile, ricorda che non è ancora chiaro se il collegamento dinamico con il programma / libreria proprietario sia considerato un lavoro derivato. FSF dice che lo è, ma molti avvocati (incluso Lawrence Rosen) lo hanno messo in dubbio.

Quindi puoi collegare il tuo software con la libreria GPLed, quindi assicurati che il codice sorgente sia distribuito con ogni copia del tuo software. Se qualcuno ti fa causa, deve dimostrare che la loro comprensione di questo aspetto GPL difficile e torbido è corretta. Come sembra (ad esempio Galoob vs Nintendo) non puoi essere assolutamente sicuro di ciò che rende il lavoro derivativo e cosa no.

    
risposta data 06.06.2011 - 09:32
fonte
1

L'unico modo in cui non sarebbe derivato funziona, sarebbe se riscrivi tutto il codice da solo senza utilizzare alcuno del codice originale. Che probabilmente non è possibile.

Ci sono modi molto più semplici per GPL:

  • in chiaro: rendilo disponibile, accedilo tramite un socket. Socket è un limite alla licenza GPL (a meno che non sia infame GPLv3 con la clausola Affero );
  • nella zona grigia: collegalo dinamicamente. C'è molta polemica se il collegamento dinamico è o non è un limite al lavoro derivato. Pochi punti di vista qui . Ciò potrebbe dipendere anche dalla giurisdizione in cui ti trovi.

Si noti inoltre che GPL è una licenza distribution , quindi è necessario concedere la licenza del lavoro solo se si distribuiscono binari a terze parti. E tu sei solo obbligato a rilasciare loro la fonte, senza alcun obbligo di rilasciarlo al pubblico in generale, a meno che non pubblichi binari per il pubblico in generale. Se stai usando il tuo codice, ad esempio solo sui tuoi server, non hai l'obbligo di rilasciare alcun codice. Ad esempio, Google lo fa con i loro kernel Linux ottimizzati.

    
risposta data 06.06.2011 - 11:28
fonte
1

IANAL e, in ogni caso, questo potrebbe significare nulla legalmente, ma, credo che nel libro di Steven Levy "Hacker", descriva come, ad un certo punto, RMS abbia scritto * codice nix per soldi durante il giorno e di notte ha scritto la stessa roba a casa in modo che potesse essere parte di ... GNU? ... questo era prima di Linux ... qualche sistema di tipo Unix gratuito. Credo che abbia dovuto rendere il codice home diverso dal codice del giorno, ma in pratica stava facendo esattamente quello che stai suggerendo.

Questo probabilmente non ha importanza legale, ma ... Non sono sicuro che Apple e / o Microsoft abbiano ottenuto il permesso / licenza o qualcosa del genere, ma i laboratori non hanno inventato l'interfaccia desktop / icona / mouse, che era usato per Mac (o Lisa?) che è stato poi utilizzato da Microsoft.

    
risposta data 19.06.2012 - 22:10
fonte
0

Non c'è una risposta a questo tranne per un processo davanti a un giudice nella tua particolare giurisdizione. Ma vuoi rischiare? Oppure vai allo sforzo di riscrivere la libreria GPL, i test, ecc. Ecc. Sei sicuro che l'altra libreria sia incompatibile con la GPL? Questo è in realtà abbastanza insolito, a meno che non si voglia distribuire entrambe le librerie sotto i termini delle librerie non GPL.

    
risposta data 05.06.2011 - 18:44
fonte
0

How extensive do the changes need to be to the library in order to be able to change the license?

Nella maggior parte delle parti del mondo devi iniziare da zero e non tagliare e superare nulla. Hai bisogno di nuovi nomi per funzioni / classi / variabili ecc ecc, e la struttura dovrebbe essere diversa. Allora sei al sicuro.

D'altra parte, se uno strumento diff non riesce a trovare alcuna somiglianza, allora ...

    
risposta data 06.06.2011 - 13:16
fonte

Leggi altre domande sui tag