Può collegare codice GPL v2 a una libreria LGPL v3

1

Se scrivo una libreria rilasciata sotto i termini della GPL v2 (o superiore, all'opzione); può quella libreria dipendere da un'altra libreria rilasciata sotto LGPL v3 (o superiore), senza imporre implicitamente GPL v3. Cioè, sto semplicemente collegando a quella libreria.

Leggendo questo e questo , ho capito che LGPL v3 e GPL v2 non sono "compatibili". Ma non è chiaro per me, se la compatibilità significhi solo il mix di codice, o se si estenda al collegamento (senza modificare la libreria LGPL).

    
posta 0__ 11.05.2014 - 22:01
fonte

2 risposte

3

In base alla matrice di compatibilità delle licenze di GNU, se colleghi la tua GPLv2 (o versioni successive) ) con una libreria LGPLv3, l'effettiva licenza per il prodotto diventa GPLv3.

La natura del permesso d'autore delle licenze GPL significa che tutto dipende dal tuo software deve essere disponibile con gli stessi termini della parte che porta effettivamente la licenza GPL. Ciò include le librerie a cui ci si collega (con un'eccezione esplicita per i principali componenti del sistema operativo e le librerie standard).
Il codice non deve essere tutto concesso sotto licenza GPL, ma la GPL richiede che tu abbia la possibilità di modificare tutte le parti di un'applicazione che contiene codice GPL e di avere la libertà di distribuire l'applicazione con o senza modifiche.

Ciò che significa per una licenza X essere compatibile con la GPL è che la licenza X offre all'utente, almeno la stessa libertà di GPL, così che in un prodotto che contiene sia codice GPL che codice che usa la licenza X, la distribuzione di quel prodotto non viola alcun termine e condizione di nessuna licenza.

GPLv3 e GPLv2 non sono compatibili tra loro, perché GPLv3 ha messo requisiti aggiuntivi in luogo, che non è consentito in GPLv2. Questo è anche il motivo per cui una combinazione di GPLv2 (o versioni successive) e LGPLv3 "aggiorna" in modo efficace il codice GPLv2 a GPLv3, che è possibile con l'autorizzazione "o successiva".

    
risposta data 12.05.2014 - 09:14
fonte
0

Non ho un rappresentante sufficiente per commentare l'eccellente risposta di Bart , ma ho pensato che valesse la pena menzionare che alcune librerie open source degna di nota doppia licenza sotto GPL e LGPL in particolare per evitare tali problemi.

Ad esempio, Qt è disponibile in GPLv2, GPLv3 o LGPLv3 (o sotto una licenza commerciale se si paga per questo). Ciò significa che è possibile collegare un programma GPLv2 a Qt, anche se il programma GPLv2 non concede l'autorizzazione "o successiva". In questo modo, si opta per l'utilizzo di Qt in base ai termini di licenza GPLv2. (Devi fare attenzione però, come non tutti i moduli Qt sono disponibili con tutte le licenze .)

Se si scrive una libreria, è necessario riflettere attentamente prima di rilasciarla sotto licenze multiple perché gli utenti devono solo conformarsi ad una di esse. Ciò significa che, se la tua libreria è GPLv2 + / LGPLv3 +, e qualcuno crea una versione modificata e la rilascia sotto una sola di queste licenze, non puoi unire le loro modifiche alla tua libreria senza modificare la licenza della tua biblioteca. (E non puoi cambiare la licenza della tua biblioteca se non ottieni l'autorizzazione da tutti i suoi contributori.)

    
risposta data 12.12.2017 - 07:38
fonte

Leggi altre domande sui tag