GPL linking exception

GPL linking exception (linkovací výjimka GPL) vytváří novou licenci modifikací licence GNU General Public License (GPL). Tato modifikovaná licence umožňuje softwarovým projektům, které poskytují „knihovní“ kód, tedy kód navržený k použití (technicky řečeno „linkování“, česky též „sestavování“) jiným softwarem, distribuovat kód samotné knihovny pod podmínkami v zásadě identickými s GPL bez toho, aby lidé, kteří tento kód pouze používají (ale nikoli integrují), byli nuceni uplatnit podmínky GPL na svůj vlastní kód.

Mnoho knihoven svobodného softwaru, které jsou šířeny pod GPL, používá takovou výjimku, ač se přesné pojmenování liší. Lze zmínit například GNU Guile,[1] runtime knihovny GNAT,[1]GNU Classpath.[2]

Též runtime knihovny kompilátoru používají často tuto licenci, např. knihovna libgcc v GNU Compiler Collection používá velmi podobnou linkovací výjimku[3], stejně tak všechny knihovny projektu Free Pascal.

V roce 2007 uvolnila firma Sun Microsystems většinu kódu knihoven projektů Java Standard EditionJava Platform, Enterprise Edition pod licencí GPL verze 2 s linkovací výjimkou Classpath[4] a používá tak tutéž licenci, jako je jedna z možných licencí pro enterprise server GlassFish[5] a pro NetBeans Java IDE.[6]

Verze 3 licence LGPL[7] je konstruována obdobně jako výjimka ke GPL.[8]

Výjimka Classpath

Projekt GNU Classpath poskytuje příklad použití výjimky typu GPL linking exception. Knihovna GNU Classpath používá následující licenci:

Knihovna Classpath je šířena podle podmínek GNU General Public License s následujícím objasněním a zvláštní výjimkou.
Linkování této knihovny staticky nebo dynamicky s jinými moduly je vytvořením kombinovaného díla založeného na této knihovně. Proto se podmínky GNU General Public License vztahují na celou kombinaci.
Jako zvláštní výjimku, vám držitelé autorských práv k této knihovně dávají povolení linkovat tuto knihovnu s nezávislými moduly do spustitelného programu, bez ohledu na licenční podmínky těchto nezávislých modulů, a kopírovat a šířit výsledný spustitelný program pod podmínkami, jaké si zvolíte, za předpokladu, že pro každý z linkovaných nezávislých modulů splníte též licenční podmínky těchto modulů. Nezávislý modul je takový modul, který není odvozen od této knihovny ani na ní založen. Změníte-li tuto knihovnu, můžete výjimku rozšířit i na vaši verzi knihovny, ale nemáte povinnost tak učinit. Pokud si nepřejete výjimku využít, smažte text této výjimky z licence u vaší verze.
Jako taková, může být použita ke spouštění, vytváření nebo distribuci velké třídy aplikací a appletů. Pokud se GNU Classpath použije bez modifikace jako základní knihovna tříd pro virtuální stroj, kompilátor pro jazyk Java nebo pro programy psané v programovacím jazyce Java, nemá přímé dopady na licencování pro šíření těchto programů.[2]

Rozdíly oproti GNU Lesser General Public License

Licence používající GPL v kombinaci s GPL linking exception poskytují podmínky, které jsou podobné těm v licenci GNU Lesser General Public License (LGPL).

Jedním rozdílem mezi těmito dvěma cestami je to, že LGPL omezuje, byť nejvýše v malé míře, podmínky licence, kterou lze použít pro dílo zahrnující knihovnu licencovanou pod LGPL. V sekci 6 licence LGPL říká:

Jako výjimku z výše uvedených sekcí, můžete také kombinovat nebo linkovat „dílo, které používá tuto knihovnu“ s knihovnou k vytvoření díla obsahujícího části knihovny a šířit takové dílo pod podmínkami, jaké si zvolíte, za předpokladu, že podmínky povolují modifikaci díla pro uživatelovu vlastní potřebu a reverzní inženýrství pro ladění takových modifikací.

Toto omezení vyžaduje, aby softwarové projekty, které integrují kód knihovny licencované pod LGPL, zajišťovaly, že licence pokrývající kombinované dílo taková povolení zajistí. Takový požadavek může být obtížné splnit, například pokud je kód šířen jako statický linkovaný software v embedded zařízení.

Druhým rozdílem mezi licencemi je množství textu, kterého se týká: licence založené na GPL s linkovací výjimkou vezmou dobře známý text GPL a přidávají do něj malou modifikaci, kdežto LGPLv3 přidává mnohem více podmínek. LGPL verze 2.1 nebyla vůbec založena na GPL, nýbrž byla úplně odlišnou licencí. V určitých situacích může mít tento rozdíl dopady na množství právní revize potřebné pro skupinu, která si vybírá jednu cestu oproti jiné.

Reference

V tomto článku byl použit překlad textu z článku GPL linking exception na anglické Wikipedii.

  1. a b Stallman, Richard. Various Licenses and Comments about Them. Free Software Foundation. Publikováno 17.5.2007. Ověřeno 18.5.2007.
  2. a b Classpath::License. Free Software Foundation. 23.4.2007. Ověřeno 18.5.2007.
  3. Text of the GCC license[nedostupný zdroj] Savannah code repository. 25.9.2007. Ověřeno 27.3.2008
  4. Open-Source Java Project Overview [online]. Sun Microsystems [cit. 2007-05-22]. Dostupné v archivu pořízeném dne 2007-05-14. 
  5. Glassfish license. 27.3.2008. Ověřeno 27.3.2008.
  6. Netbeans license Archivováno 13. 7. 2006 na Wayback Machine. 27.3.2008. Ověřeno 27.3.2008.
  7. GNU Lesser General Public License, Version 3. 29.6.2007. Ověřeno 19.10.2007.
  8. Guide to the second draft of LGPLv3. 3.4.2007. Ověřeno 10.5.2007.

Média použitá na této stránce

Heckert GNU white.svg
(c) Aurelio A. Heckert, CC BY-SA 2.0
A bold GNU head.