Wyjątek dotyczący łączenia GPL — GPL linking exception

GPL łącząc wyjątków modyfikuje GNU General Public License (GPL) w sposób umożliwiający projektów informatycznych, które zapewniają biblioteki kodu być „ związana z ” programów, które z nich korzystają, bez stosowania pełnych warunków GPL do programu używasz. Łączenie to techniczny proces łączenia kodu w bibliotece z kodem używającym, w celu utworzenia pojedynczego pliku wykonywalnego . Jest wykonywany w czasie kompilacji lub w czasie wykonywania w celu wytworzenia funkcjonalnego kodu do odczytu maszynowego. Fundacja Wolnego Oprogramowania stwierdza, że ​​bez stosowania wyjątku linkowania program połączony z kodem biblioteki GPL może być rozpowszechniany tylko na licencji zgodnej z GPL. Nie zostało to wyraźnie przetestowane w sądzie, ale naruszenia powiązań doprowadziły do ​​ugody. Licencja projektu GNU Classpath zawiera wyraźne oświadczenie w tym zakresie.

Wiele bibliotek wolnego oprogramowania, które są rozpowszechniane na licencji GPL, używa równoważnego wyjątku, chociaż sformułowanie wyjątku jest różne. Godne uwagi projekty obejmują ERIKA Enterprise , GNU Guile , biblioteki wykonawcze GNAT , GNU Classpath i GCC Runtime Library Exception .

Biblioteki uruchomieniowe kompilatora również często korzystają z tej modyfikacji licencji lub jej odpowiednika, np. libgccbiblioteki z kolekcji GNU Compiler Collection , a także wszystkich bibliotek projektu Free Pascal .

W 2007 roku firma Sun Microsystems udostępniła większość kodu źródłowego do bibliotek klas dla projektów Java SE i Java EE na podstawie wersji 2 licencji GPL oraz wyjątku łączenia Classpath i użyła tej samej licencji jako jednej możliwej licencji dla swojego serwera korporacyjnego GlassFish oraz ich NetBeans Java IDE .

Wersja 3 GNU Lesser General Public License (LGPL) jest podobnie skonstruowana jako wyjątek od GPL.

Wyjątek Classpath

Projekt GNU Classpath dostarcza przykładu użycia takiego wyjątku linkowania GPL . Biblioteka GNU Classpath korzysta z następującej licencji:

Classpath jest rozpowszechniany na warunkach Powszechnej Licencji Publicznej GNU z następującym wyjaśnieniem i specjalnym wyjątkiem.

Łączenie tej biblioteki statycznie lub dynamicznie z innymi modułami tworzy połączoną pracę opartą na tej bibliotece. Tak więc warunki GNU General Public License obejmują całą kombinację.

W ramach specjalnego wyjątku właściciele praw autorskich do tej biblioteki zezwalają na połączenie tej biblioteki z niezależnymi modułami w celu stworzenia pliku wykonywalnego, niezależnie od warunków licencyjnych tych niezależnych modułów oraz kopiowania i rozpowszechniania wynikowego pliku wykonywalnego na wybranych przez Ciebie warunkach, pod warunkiem, że spełniasz również, dla każdego połączonego niezależnego modułu, warunki licencji tego modułu. Niezależny moduł to moduł, który nie pochodzi z tej biblioteki ani nie jest na niej oparty. Jeśli zmodyfikujesz tę bibliotekę, możesz rozszerzyć ten wyjątek na swoją wersję biblioteki, ale nie jesteś do tego zobowiązany. Jeśli nie chcesz tego robić, usuń to oświadczenie o wyjątku ze swojej wersji.

Jako taki może być używany do uruchamiania, tworzenia i dystrybucji dużej klasy aplikacji i apletów. Gdy GNU Classpath jest używana w postaci niezmodyfikowanej jako podstawowa biblioteka klas dla maszyny wirtualnej, kompilatora dla języka Java lub programu napisanego w języku programowania Java, nie wpływa to na licencje na bezpośrednie rozpowszechnianie tych programów.

Mniejsza Powszechna Licencja Publiczna GNU

Podczas gdy wersja 2.1 LGPL była licencją samodzielną, obecna wersja LGPL 3 opiera się na odwołaniu do GPL.

W porównaniu z powyższą licencją GNU Classpath, LGPL formułuje więcej wymagań dla wyjątku łączenia: licencjobiorcy muszą zezwolić na modyfikację części biblioteki, z której korzystają, oraz na inżynierię wsteczną (swojego oprogramowania i biblioteki) w celu debugowania takich modyfikacji.

Zobacz też

Bibliografia

Linki zewnętrzne

Prace związane z wyjątkiem linkowania GPL w Wikiźródłach