GNU Lesser General Public License

GNU Lesser General Public License (dříve GNU Library General Public License) nebo LGPL je licence svobodného softwaru, publikovaná Free Software Foundation. Byla navržena jako kompromis mezi silně copyleftovou licencí GNU General Public License (GPL) a permisivními licencemi, jako jsou BSD licence nebo MIT Licence. GNU Lesser General Public License byla napsána v roce 1991 (a aktualizována v roce 1999, znovu pak 2007) Richardem Stallmanem s právními radami Ebena Moglena.

Logo GNU

LGPL aplikuje copyleftové restrikce na program samotný, neuplatňuje je však na jiný software, který tento program toliko linkuje. Existují však určité další restrikce na tento software.

LGPL se primárně používá pro softwarové knihovny, využívá se však i pro samostatné aplikace, mezi nejznámější patří Mozilla a LibreOffice.

Odlišnosti od GPL

editovat

Hlavním rozdílem mezi GPL a LGPL je, že dílo pod LGPL lze linkovat (v případě knihovny "užívat") programem, která nemá licenci (L)GPL, a který může být jak svobodný software, tak software proprietární.[1] Tento program (který není pod (L)GPL) lze šířit pod libovolnými licenčními podmínkami, pokud nejde o odvozené dílo. Pokud to odvozené dílo je, podmínky musí umožňovat "modifikace pro uživatelovu vlastní potřebu a reverzní inženýrství pro ladění takových modifikací". Zda je dílo, které používá LGPL program odvozeným dílem či nikoli, je právní otázka. Samostatný spustitelný soubor, který dynamicky linkuje knihovnu, je obecně přijímán jako dílo, které není odvozené od knihovny. Považuje se za "dílo, které používá knihovnu" a platí pro něj sekce 5 licence LGPL.

Program, který neobsahuje žádnou část odvozenou od kterékoli části knihovny, ale je navržen tak, aby s knihovnou pracoval zkompilováním nebo slinkováním s ní, se nazývá jako "dílo, které používá knihovnu". Takové dílo, izolované, není odvozeným dílem knihovny, a proto spadá mimo působnost této licence.

V zásadě musí být možné linkovat software s novější verzí programu pod LGPL. Nejčastěji používanou metodou, jak to udělat, je použít "vhodný mechanismus pro linkování sdílené knihovny". Alternativně je povoleno použít staticky linkovanou knihovnu, pokud se poskytne buď zdrojový kód nebo linkovatelné objektové soubory.

Jednou z vlastností LGPL je, že kdokoli může kteroukoli část softwaru šířeného pod LGPL převést pod licenci GPL (sekce 3 této licence). To je užitečné pro přímé použití kódu pod licencí LGPL v knihovnách nebo aplikacích, které mají licenci GPL, nebo pokud někdo chce vytvořit verzi s tímto kódem, kterou nebude možné používat v proprietárních produktech.

Volba licence pro knihovnu (GPL nebo LGPL)

editovat

Dřívější název "GNU Library General Public License" vytvářel u některých lidí dojem, že chce FSF pro všechny knihovny používat LGPL a pro všechny programy GPL. V únoru 1999 napsal Richard Stallman esej Proč byste neměli použít Lesser GPL pro vaši příští knihovnu, kde vysvětluje, proč tomu tak je, a že se nemusí nutně pro knihovny používat LGPL:

Která licence je pro danou knihovnu nejlepší, je věcí strategie, a záleží to na podrobnostech dané situace. V současnosti je většina knihoven GNU šířena pod licencí Library GPL, a znamená to, že používáme pouze jednu z těchto dvou strategií [umožnit/neumožnit proprietárním programům používat knihovnu] , a opomíjíme tu druhou. Hledáme však cestu, jak uvolnit více knihoven pod běžnou GPL.[1]

V kontrastu s dojmy veřejnosti, to však neznamená, že by FSF zavrhla LGPL, pouze že by neměla být tato licence používána pro všechny knihovny — jak říká esej:

Použití normální GPL není výhodné pro všechny knihovny. Existují důvody, proč může být lepší v určitých případech použít Lesser GPL.[1]

Stallman a FSF někdy skutečně obhajují i licence ještě méně restriktivní než LGPL jako věc strategie (maximalizovat svobodu uživatelů). Markantním případem bylo Stallmanovo přijetí licence typu BSD u projektu Vorbis pro jeho knihovny.[2]

Specifika programovacích jazyků

editovat

Licence používá terminologii, která je zamýšlena především pro aplikace napsané v jazyce C nebo jeho rodině. Společnost Franz Inc. publikovala svoji vlastní preambuli k licenci, aby objasnila terminologii v kontextu jazyka Lisp. LGPL s touto preambulí je někdy označována jako LLGPL.[3]

Jazyk Ada má navíc speciální vlastnost, že může používat licenci MGPL.

LGPL vzhledem k dědičnosti (v programování)

editovat

Určité obavy vyvstaly ohledně toho, zda lze objektové třídy pod LGPL dědit v kódu, který není pod (L)GPL. Obecně jsou tyto obavy nepodložené, a vysvětlení dává oficiální web GNU:

LGPL neobsahuje žádnou zvláštní podmínku pro dědičnost, protože to není potřeba. Dědičnost vytváří odvozené dílo stejným způsobem, jako tradiční linkování, a tedy LGPL povoluje tento typ odvozeného díla stejně, jako povoluje běžná volání funkcí.[4]

Reference

editovat

V tomto článku byl použit překlad textu z článku GNU Lesser General Public License na anglické Wikipedii.

Související články

editovat

Externí odkazy

editovat