Quando una modifica del codice GPL smette di essere una? [chiuso]

1

Con GPL v2, ogni modifica del programma deve essere autorizzata anche dalla GPL:

"... by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it."

Tuttavia, a un certo punto, una modifica abbastanza grande smette di essere una modifica: se avessi cambiato il codice che ordina i numeri in uno che carica i file nel cloud, presumo che la licenza originale non sia più pertinente.

La domanda diventa, quando una modifica è abbastanza grande da smettere di essere guidata dalla GPL? Questo è particolarmente rilevante per il codice che ha grandi quantità di codice, come il codice GLib - quando si crea un nuovo codice, è molto probabile che si basi il codice su una fonte già scritta, mantenendo lo standard e sostituendo la funzionalità principale. Questo tipo di codice è ancora considerato una modifica sotto GPL? Dove è possibile trovare linee guida o precedenti storici che possano aiutare a guidare una decisione in merito alla necessità o meno di mantenere la licenza originale o no?

    
posta nbubis 21.12.2016 - 09:50
fonte

4 risposte

9

Quando la corte nella causa lo dice. Questo è lo standard ultimo con cui vengono prese decisioni come questa.

Nel tuo esempio di prendere codice boilerplate e di collegare la tua funzionalità, se il boilerplate rimane riconoscibile, è molto probabile che il tribunale lo consideri comunque una modifica. Non sanno o non si preoccupano di quali parti del codice sono e non sono "boilerplate".

Questo è esattamente il motivo per cui le grandi aziende che stanno sviluppando un codice che è noto per essere vulnerabili a cause legali perché c'è un'implementazione esistente per le persone potrebbero accusarti di copiare (specialmente nei casi in cui "Revisiona"). a href="https://en.wikipedia.org/wiki/Clean_room_design"> implementazione di clean room vietando esplicitamente agli sviluppatori di guardare al codice che potrebbero essere accusato di copiare.

    
risposta data 21.12.2016 - 10:03
fonte
1

Confrontalo con la scrittura di un articolo scientifico. Se hai scritto tutto da solo, ma per caso hai usato la stessa formulazione in alcune parti minori, senza averne conoscenza, non puoi essere incolpato. Se tuttavia hai la certezza che è lo stesso, perché stai usando questa frase come fonte, sei obbligato a contrassegnarlo come citazione.

Lo stesso vale per il codice GPL. Appena non è una coincidenza che tu abbia alcune linee in comune (ad esempio for (int i; i <= limit; ++i) è probabilmente una linea abbastanza comune nella maggior parte dei progetti, senza essere copiati da nessuna parte), ma hai davvero copiato le righe consapevolmente, devi onorarlo - quale significa che devi licenziarlo anche in GPL.

In tribunale, dipende, se il codice che hai usato è del tutto autorizzato. Non puoi concedere in licenza qualcosa, dove non puoi rivendicare alcun diritto, come il copyright. Quindi c'è il concetto di soglia di originalità che deve essere deciso per ogni singolo caso. Se le linee copiate sono banali (in somma, non ognuna da sola!) Potrebbe essere considerato, non protetto dal diritto d'autore. Come allora, nessuno potrebbe rivendicare il copyright, questa parte non può essere concessa in licenza, perché non c'è nessuno che detenga i diritti necessari. Ma questo è qualcosa di molto delicato e deve essere determinato individualmente per ogni caso. Potrebbe anche essere diverso da Paese a Paese.

Solo recentemente c'è stata una caso di alto profilo Goodle vs. Oracle, potresti aver sentito parlare di dove si parlava solo dell'API , che potresti considerare il tuo boilerplate?

Per riassumere: stai dalla parte della sicurezza, se lo rilasci sotto una licenza compatibile.

    
risposta data 21.12.2016 - 10:14
fonte
0

Il codice è concesso in licenza GPL se qualcuno lo autorizza sotto licenza GPL.

È possibile modificare una parola e non concederla in licenza e non è concessa in licenza GPL. Poiché il tuo codice è un'opera derivata, non hai alcun diritto di distribuirlo a meno che non segui la licenza del codice che non è tuo, quindi per distribuirlo devi metterlo sotto la licenza GPL, ma ovviamente non lo fai 't avere per distribuirlo. (A differenza del semplice copyright, GPL ti consente di creare opere modificate).

Non vi è alcun obbligo di licenza sotto GPL non appena non è rimasto alcun codice che non è il tuo ma ti è stato dato sotto licenza GPL. 90% del tuo codice = richiede la licenza. 99,99% del tuo codice = richiede la licenza. 100% il tuo codice = non ha bisogno di licenza.

    
risposta data 21.12.2016 - 09:55
fonte
0

La risposta è in realtà molto semplice: non è così. Periodo.

La GPL è stata deliberatamente progettata per diffondersi in ogni parte del codice che tocchi il più possibile; successive revisioni della licenza sono state fatte con l'intento di colmare le lacune e la chiusura di soluzioni alternative a questa "caratteristica". È stata definita una licenza "virale" per questo motivo: perché si diffonde e "infetta" tutto ciò con cui viene in contatto.

È importante capire che la GPL è stata creata per ragioni ideologiche. Richard Stallman è filosoficamente contrario al concetto stesso di software proprietario. Vorrebbe che si estinguesse del tutto, e la GPL è il suo meccanismo per farlo, tentando di estinguerlo e rendere sempre più difficile, con il passare del tempo, scrivere un buon software senza usare il codice GPL in qualche posto nel progetto.

Quindi, a che punto è qualcosa di così modificato dalle sue radici GPL che smette di essere soggetto alla GPL? Mai, perché in ogni punto lungo il percorso, anche le modifiche diventano soggette alla GPL. In realtà, l'unico buon modo per non ottenere le restrizioni della licenza sulla base di codice è evitare che il tuo progetto tocchi la licenza virale in primo luogo.

    
risposta data 21.12.2016 - 10:09
fonte

Leggi altre domande sui tag