La LGPL è una licenza di tipo copyleft ma, a differenza della licenza GNU GPL, non richiede che eventuale software "linkato" al programma sia pubblicato sotto la medesima licenza. È principalmente usata per le librerie software, infatti a volte è chiamata Library GPL, è però utilizzata anche da applicativi, come Mozilla Firefox, OpenOffice.org o LibreOffice.
Versioni GPL
[1]Sono state pubblicate tre versioni della GNU GPL sin dal suo inizio, ciascuna contenente notevoli modifiche ai termini della licenza.
Versione 1 -- GPL v1 (1989)
La GPL iniziale era basata su una combinazione di licenze di software libero simili usate dalle prime versioni di GNU Emacs, GNU Debugger e GNU C Compiler.
Quando queste licenze sono state pubblicate per la prima volta, erano simili alle licenze GPL esistenti, ma sono state adattate a ciascun programma, rendendole non conformi.
L'obiettivo della GNU GPL era sviluppare una licenza che potesse essere utilizzata per qualsiasi progetto, consentendo a numerosi progetti di contribuire con codice.
Versione 2 -- GPL v2 (1991)
La clausola "Liberty or Death" (Sezione 7) della versione numero 2, GPL v2, ha visto i cambiamenti più significativi nella libertà degli utenti.
La sezione 7 include un disclaimer, in cui si afferma che i licenziatari possono distribuire un'opera coperta da GPL solo se possono soddisfare tutti i termini della licenza, indipendentemente da qualsiasi altro vincolo legale a cui potrebbero essere soggetti.
Nel 1990 era chiaro che una nuova versione meno permissiva della licenza sarebbe stata strategicamente utile. Pertanto, quando la GPL v2 è stata introdotta nel 1991, è stata accompagnata da una seconda licenza denominata GNU Lesser General Public License (LGPL) per simboleggiare quella visione.
Versione 3 -- GPL v3 (2007)
Nel corso dei 15 anni della sua evoluzione, i sostenitori dei programmi gratuiti si sono preoccupati dei problemi con la licenza GPL v2 che potrebbero consentire a qualcuno di utilizzare in modo improprio il codice con licenza GPL in un modo contrario all'obiettivo del licenziante.
Tivoization -- l'uso di software con licenza GPL in hardware che rifiuta di eseguire versioni modificate del suo software proprietario -- difficoltà di compatibilità paragonabili a quelle poste dalla GNU Affero General Public License e le negoziazioni di Microsoft con i distributori del software gratuito e open source sono state solo alcune delle sfide.
La versione successiva della licenza open source GPL, GPL v3, è stata pubblicata nel giugno 2007, per tentare di risolvere questi problemi.
Differenze dalla GPL
La principale differenza tra la GNU GPL e la LGPL è che quest'ultima permette al software di essere "linkato" ad altro software con licenza diversa. Vi sono due possibili casi: opere basate sul software (opere derivate), o opere che usano il software. Il secondo caso non è contemplato dalla licenza come si legge nel paragrafo 5:
(EN)
«A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.»
(IT)
«Un programma che non contenga alcun derivato di nessuna porzione della Libreria, ma è progettato per lavorare con la Libreria attraverso compilazione o collegamento con questa, viene definito "un'opera che usa la Libreria". Tale opera, isolata, non è derivata dalla Libreria, e pertanto ricade al di fuori dell'ambito di questa Licenza.»
Un eseguibile "stand alone" collegato dinamicamente a una libreria è generalmente considerato un'opera che usa la libreria e quindi ricade in questo caso.
Una caratteristica della LGPL è che si può convertire il software che la usa in software coperto da GPL (sezione 3 della licenza). Questa possibilità è utile per il riuso di codice LGPL in applicativi o librerie GPL, o se si vuole evitare che il software venga usato all'interno di software proprietari.
Scegliere se licenziare una libreria sotto la GPL o la LGPL
Il nome precedente "GNU library General Public License" fece credere a taluni che la Free Software Foundation volesse che tutte le librerie usassero la LGPL. Nel febbraio 1999 Richard Stallman scrisse il saggio: "Perché non dovreste usare la LGPL per la vostra prossima libreria", spiegando che le cose non stavano così, e che la LGPL non è necessariamente la scelta migliore per le librerie:
(EN)
«Which license is best for a given library is a matter of strategy, and it depends on the details of the situation. At present, most GNU libraries are covered by the Library GPL, and that means we are using only one of these two strategies (allowing/disallowing proprietary programs to use a library), neglecting the other. So we are now seeking more libraries to release under the ordinary GPL.»
(IT)
«Su quale licenza sia migliore per una data libreria è una questione di strategia, e dipende dalla situazione particolare. Al momento, la maggior parte delle librerie GNU è coperta dalla LGPL, e ciò significa che stiamo usando solo una di queste due strategie (permettere/non permettere a software proprietari di usare la libreria), ignorando l'altra. Per questo stiamo ora cercando di distribuire più librerie sotto la licenza GPL ordinaria.»
Questo non significa che la FSF scoraggi l'uso della LGPL, ma solo che non dovrebbe essere usata per tutte le librerie.
Stallman prosegue:
(EN)
«Using the ordinary GPL is not advantageous for every library. There are reasons that can make it better to use the Lesser GPL in certain cases.»
(IT)
«Usare la GPL ordinaria non è vantaggiosa per ogni libreria. Possono esserci ragioni che rendono la LGPL più adatta in certi casi.»
L'argomentazione prosegue affermando che, se una libreria ha delle rivali non libere, utilizzare una licenza con un copyleft più forte può essere pericoloso perché scoraggerebbe l'adozione del modulo in progetti non compatibili con la GPL. Viceversa, sempre secondo Stallman, se la libreria risulta essere l'unica scelta possibile (o comunque tecnicamente superiore alle sue rivali), dovrebbe utilizzare la GPL, usando così la sua forza intrinseca per convertire altri progetti a una licenza compatibile.
Obblighi per chi distribuisce software LGPL
Per proteggere i diritti dell'utente, la LGPL impone restrizioni che vietano ai distributori di negare tali diritti o di chiedere di rinunciarvi. Queste restrizioni si traducono in determinate responsabilità a carico di chi distribuisce copie del software o di chi lo modifica.
Ad esempio, chi distribuisce copie di una libreria LGPL, gratuitamente o a pagamento, deve concedere ai destinatari tutti i diritti che ha ricevuto. Deve anche assicurarsi che i destinatari ricevano o possano ottenere il codice sorgente. Se ha collegato altro codice alla libreria, deve fornire i file oggetto completi ai destinatari, in modo che essi possano ricollegarli alla libreria dopo averla modificata e ricompilata. E deve mostrar loro queste condizioni della licenza, in modo che essi conoscano i propri diritti.