GPL linking exception: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
IagaBot (discussione | contributi)
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(29 versioni intermedie di 20 utenti non mostrate)
Riga 1:
Una '''GPL linking exception''' aggiunge una ''speciale eccezione'' alla [[GNU General Public License]] (GPL) per creare una nuova licenza modificata.
Una '''GPL linking exception''' modifica la [[GNU General Public License]] (GPL) per creare un nuova licenza modificata. Queste licenze modificate permettono ai progetti software di fornire delle librerie, come software disegnato per essere utilizzato (in linguaggio tecnico, 'linked to' - 'collegato a') ad altro software, per distribuire il codice della libreria stessa sotto condizioni essenzialmente identiche a quelle della GPL senza obbligare gli altri a distribuire codice che utilizza e basta, ma che invece integra, assieme al proprio e in questo modo non si è obbligati a licenziare il nuovo codice con la stessa licenza delle librerie di base.
La clausola aggiunta permette al software sotto GPL di essere incluso o di includere (in linguaggio tecnico, ''"linked to"'' - ''"collegato a"'') altro software avente licenza non compatibile con la GPL.
 
== Casi in cui usare l'eccezione ==
Molte librerie di software libero che sono distribuite sotto la GPL utilizzano un'eccezione equivalente, sebbene la formulazione dell'eccezione vari. Programmi noti come [[GNU Guile]],<ref name="license-list">Stallman, Richard. [http://www.gnu.org/philosophy/license-list.html Varie Licenze e Commenti su queste]. Free Software Foundation. Pubblicato il 17-05-[[2007]].</ref> le librerie run-time di [[GNAT]],<ref name="license-list" /> e [[GNU Classpath]]<ref name="classpathlicense">[http://www.gnu.org/software/classpath/license.html Classpath::License]. Free Software Foundation. 23-04-[[2007]]</ref>.
Questa eccezione serve sostanzialmente per due situazioni particolari:
#Nel caso in cui il software GPL venga utilizzato da altro software (cioè il software GPL è o si comporta come una libreria), non è obbligatorio che quest'altro software o altri moduli di questo software sia anch'essi licenziati con la GPL, ma si è solitamente liberi di scegliere la licenza (anche proprietaria).
#Nel caso in cui il software GPL utilizzi librerie GPL-incompatibili, è possibile distribuire il codice binario senza violare la GPL; senza questa eccezione sarebbe infatti possibile distribuire solo il [[codice sorgente]], rendendo quindi impossibile l'inclusione di questo software in una distribuzione binaria. In questo secondo caso solitamente viene indicata con precisione qual è la libreria GPL-incompatibile che è possibile utilizzare, specificando anche con quale licenza viene distribuita.
 
Molte delle librerie di [[software libero]] che sonousano distribuiteuna sotto''GPL lalinking GPLexception'' utilizzano un'eccezione equivalentesimile, sebbene la formulazione dell'eccezione vari. Programmi noti come [[GNU Guile]],<ref name="license-list">Stallman, Richard. [http{{cita web|url=https://www.gnu.org/philosophy/license-list.html |titolo=Varie Licenze e Commenti su queste]. Free Software Foundation.|data=17 Pubblicatomaggio il 17-05-[[2007]].}}</ref> le librerie [[run-time]] di [[GNAT]],<ref name="license-list" /> e [[GNU Classpath]]<ref name="classpathlicense">[http{{cita web|url=https://www.gnu.org/software/classpath/license.html |titolo=Classpath::License].|data=23 Freeaprile Software Foundation. 23-04-[[2007]]}}</ref> sono esempi di software in cui viene usata una ''GPL linking exception''.
Le librerie runtime dei compilatori usano spesso questa licenza, per esempio la libreria libgcc nella [[GNU Compiler Collection]] utilizza una eccezione molto simile,<ref>[http://cvs.savannah.gnu.org/viewcvs/*checkout*/gcc/gcc/gcc/libgcc2.c?rev=1.195&content-type=text/plain Testo della licenza GCC] nei repository del codice Savannah. 25-09-[[2007]]</ref> come anche le librerie del progetto [[Free Pascal]].
Alcuni software che utilizzano la libreria OpenSSL (GPL-incompatibile), come [[wget]], includono una eccezione alla GPL<ref>{{cita web|url=https://www.gnome.org/~markmc/openssl-and-the-gpl.html|titolo=The OpenSSL licence and The GPL}}</ref>.
 
Le [[libreria runtime|librerie runtime]] dei compilatori usano spesso questa licenza, per esempio la libreria libgcc nella [[GNU Compiler Collection]] utilizza una eccezione molto simile,<ref>[http://cvs.savannah.gnu.org/viewcvs/*checkout*/gcc/gcc/gcc/libgcc2.c?rev=1.195&content-type=text/plain Testo della licenza GCC] nei repository del codice Savannah. 25-09-[[2007]]</ref> come anche le librerie del progetto [[Free Pascal]].
Nel 2007, la Sun Microsystems ha rilasciato gran parte del codice delle librerie di classe dei progetti [[Java 2 Platform, Standard Edition|Java Standard Edition]] e [[J2EE|Java Platform, Enterprise Edition]] sotto la seconda versione della licenza GPL più la ''Classpath linking exception''<ref>{{cite web
| url=http://www.sun.com/software/opensource/java/project_overview.jsp
| title= Open-Source Java Project Overview
| publisher=[[Sun Microsystems]]
| accessdate=2007-05-22}}</ref>, ed utilizzò la stessa licenza come una delle licenza possibili per il loro server per le aziende [[GlassFish]]<ref name="glassfishlicense">[https://glassfish.dev.java.net/public/CDDL+GPL.html La Licenza Glassfish]. 25-03-2008.</ref>. e per la loro [[Integrated development environment|IDE]] [[NetBeans]] per Java .<ref name="netbeanslicense">[http://www.netbeans.org/about/legal/license.html La licenza di Netbeans]. 27-03-[[2008]].</ref>
 
Nel 2007, la Sun Microsystems ha pubblicato gran parte del codice delle librerie di classe dei progetti [[Java 2 Platform, Standard Edition|Java Standard Edition]] e [[Java EE|Java Platform, Enterprise Edition]] sotto la seconda versione della licenza GPL più la ''Classpath linking exception''<ref>{{Cita web| url=http://www.sun.com/software/opensource/java/project_overview.jsp| titolo=Open-Source Java Project Overview| editore=[[Sun Microsystems]]| accesso=22 maggio 2007| urlarchivio=https://web.archive.org/web/20070514161601/http://www.sun.com/software/opensource/java/project_overview.jsp| urlmorto=sì}}</ref>, ed utilizzò la stessa licenza come una delle licenza possibili per il loro server per le aziende [[GlassFish]]<ref name="glassfishlicense">{{cita web|url=https://glassfish.dev.java.net/public/CDDL+GPL.html|titolo=La Licenza Glassfish|urlarchivio=https://wayback.archive-it.org/all/20160117093912/https://glassfish.java.net/public/CDDL+GPL.html|data=25 marzo 2008|dataarchivio=17 gennaio 2016 }}</ref>. e per la loro [[Ambiente di sviluppo integrato|IDE]] [[NetBeans]] per Java .<ref name="netbeanslicense">{{cita web|url=https://netbeans.org/about/legal/license.html|titolo=La licenza di Netbeans|urlarchivio=https://web.archive.org/web/20190927025219/https://netbeans.org/about/legal/license.html|data=27 marzo 2008 }}</ref>
Anche la versione 3 della LGPL<ref>[http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, Version 3]. 29-06-[[2007]].</ref> è realizzata come un'eccezione della GPL.<ref>[http://gplv3.fsf.org/lgpl3-dd2-guide Guide to the second draft of LGPLv3]. 03-04-[[2007]]</ref>
 
Anche la versione 3 della LGPL<ref>[http{{cita web|url=https://www.gnu.org/licenses/lgpl.html |titolo=GNU Lesser General Public License, Version 3].|data=29 giugno 29-06-[[2007]].}}</ref> è realizzata come un'eccezione della GPL.<ref>[{{cita web|url=http://gplv3.fsf.org/lgpl3-dd2-guide |titolo=Guide to the second draft of LGPLv3].|data=3 aprile 03-04-[[2007]]}}</ref>
== La Classpath Exception==
 
== La Classpath Exception ==
Il progetto [[GNU Classpath]] fornisce un esempio di utilizzo della '''GPL linking exception'''. La libreria GNU Classpath utilizza la seguente licenza:
 
:Classpath is distributed under the terms of the GNU General Public License with the following clarification and special exception.
Riga 25 ⟶ 27:
:As such, it can be used to run, create and distribute a large class of applications and applets. When GNU Classpath is used unmodified as the core class library for a virtual machine, compiler for the java languge, or for a program written in the java programming language it does not affect the licensing for distributing those programs directly.<ref name="classpathlicense"/>
 
== Permessi aggiuntivi a wget ==
== Le Differenze con la GNU Lesser General Public License ==
Il progetto [[Wget|GNU wget]] è un esempio di come la ''GPL linking exception'' può essere usata per permettere di collegare librerie non compatibili con la GPL ad un progetto GPL:
 
:Additional permission under GNU GPL version 3 section 7
Le licensenze realizzate utilizzando la GPL con una '''GPL linking exception''' che forniscono condizioni simili alle condizioni fissate dalla [[GNU Lesser General Public License]] (LGPL).
 
:''If you modify this program, or any covered work, by linking or combining it with the OpenSSL project's OpenSSL library (or a modified version of that library), containing parts covered by the terms of the OpenSSL or SSLeay licenses, the Free Software Foundation grants you additional permission to convey the resulting work. Corresponding Source for a non-source form of such a combination shall include the source code for the parts of OpenSSL used as well as that of the covered work''<ref>Il testo dell'eccezione si trova in fondo al file ''README'' del {{cita web|url=https://ftp.gnu.org/gnu/wget/wget-latest.tar.gz|titolo=pacchetto di wget|urlarchivio=https://web.archive.org/web/20090305160751/http://ftp.gnu.org/gnu/wget/wget-latest.tar.gz }}</ref>.
Una differenza tra i due approcci è che la LGPL limita, anche se in modo minore, le condizioni della licenza che possono essere applicati ad un lavoro incorporando una libreria licenziata sotto LGPL. Nella sezione 6 della licenza, la LGPL dice:
 
== Le Differenze con la GNU Lesser General Public License ==
:''As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.''
La versione 2.1 della [[GNU Lesser General Public License]] (LGPL) era una licenza a sé stante, mentre la versione 3 è basata sulla GPL con la semplice aggiunta di una eccezione, rendendola quindi a tutti gli effetti una ''GPL linking exception''.
 
La formulazione dell'eccezione della LGPL è in generale più articolata per garantire all'utente del prodotto finale più libertà. In particolare, è possibile collegare il programma a nuove versioni della libreria sotto LGPL, nonché applicare modifiche private, fare [[reverse-engineering]] e [[debugging]].
Questa restrizione obbliga ad avere progetti software che integrano una libreria licenziata sotto LGPL che la licenza che abbraccia il codice modificato della licenza fornisca gli stessi permessi. Questo requisito può essere difficile da adempiere, nel caso in qui il codice è distribuito come software collegato staticamente in un dispositivo embedded.
 
== Note ==
Un'altra differenza tra i due approcci è la differenza di testo che c'è tra i due: le licenze basate sulla GPL più una '''GPL linking exception''' prendono il famoso testo della GPL e vi aggiungono una modifica minore mentre la LGPL fornisce una licenza completamente separata. In alcune situazioni, questa differenza può influenzare il numero di controlli legali richiesti per scegliere un approccio rispetto che ad un altro.
<references/>
 
== Voci correlate ==
* [[GNAT Modified General Public License]]
* [[OpenSSL|OpenSSL exception]]
* [[Wget]]
* [[Licenza libera]]
 
{{Portale|diritto|Softwaresoftware libero}}
== Note ==
{{References|2}}
 
{{Portale|diritto|Software libero}}
 
{{GNU}}
 
[[Categoria:Progetto GNU General Public License| ]]
[[Categoria:Licenze software]]
 
[[en:GPL linking exception]]
[[lt:Sujungimo išimtis]]