GNU Lesser General Public License - GNU Lesser General Public License
![]() Logo | |
Nejnovější verze | 3 (2007 | )
---|---|
Publikováno | 1991 |
SPDX identifikátor | LGPL-2.0, LGPL-2.1, LGPL-3.0 |
Kompatibilní s Debian FSG | Ano |
FSF schválený | Ano |
OSI schválený | Ano |
GPL kompatibilní | Ano |
Copyleft | Ano |
Propojení z kódu s jinou licencí | Ano |
webová stránka | www |
The GNU Lesser General Public License (LGPL) je licence na svobodný software publikoval Free Software Foundation (FSF). Licence umožňuje vývojářům a společnostem používat a integrovat softwarovou součást vydanou v rámci LGPL do své vlastní (i proprietární ) software, aniž by to vyžadovaly podmínky silné copyleft licence na vydání zdrojového kódu svých vlastních komponent. Každý vývojář, který upravuje součást krytou LGPL, je však povinen zpřístupnit svou upravenou verzi pod stejnou licencí LGPL. U proprietárního softwaru se kód podle LGPL obvykle používá ve formě a sdílená knihovna, takže existuje jasné oddělení mezi proprietárními a LGPL komponentami. LGPL se primárně používá pro softwarové knihovny, i když je také používán některými samostatnými aplikacemi.
LGPL byl vyvinut jako kompromis mezi silnými copyleft z GNU General Public License (GPL) a další tolerantní licence, jako je Licence BSD a Licence MIT. Slovo „Lesser“ v názvu ukazuje, že LGPL nezaručuje úplnou svobodu koncového uživatele při používání softwaru; zaručuje pouze svobodu modifikace pro komponenty licencované podle LGPL, ale ne pro žádné vlastní komponenty.
Dějiny
Licence se původně nazývala GNU Library General Public License a byla poprvé publikována v roce 1991 a přijala verzi číslo 2 pro paritu s verzí GPL 2. LGPL byla revidována drobnými způsoby ve verzi 2.1 bodu, publikované v roce 1999, kdy byla přejmenována na GNU Lesser General Public License, aby odrážela Stanovisko FSF, že by jej neměly používat všechny knihovny. Verze 3 LGPL byla zveřejněna v roce 2007 jako seznam dalších oprávnění aplikovaných na GPL verze 3.
Kromě pojmu „práce založené na programu“ GPL představila LGPL verze 2 dva další objasňující pojmy „práce založené na knihovně“ a „práce využívající knihovnu“.[1] LGPL verze 3 tyto podmínky částečně zrušila.
Rozdíly od GPL
Hlavní rozdíl mezi GPL a LGPL spočívá v tom, že tento LGPL umožňuje propojení práce s (v případě knihovny „používanou“) programem, který není (L) GPL, bez ohledu na to, zda je svobodný software nebo proprietární software.[2] V LGPL 2.1 může být program, který není (L) GPLed, distribuován za jakýchkoli podmínek, pokud se nejedná o odvozená práce. Pokud se jedná o odvozené dílo, pak podmínky programu musí umožňovat „úpravu díla pro vlastní potřebu zákazníka a reverzní inženýrství za ladění takových úprav. "Zda je dílo, které používá program LGPL, odvozené dílo nebo ne, je legální záležitost. Samostatný spustitelný soubor, který dynamicky propojuje do knihovny prostřednictvím a .tak, .dll, nebo podobné médium je obecně přijímáno, že nejde o odvozené dílo, jak je definováno LGPL. Spadalo by to pod definici „díla, které používá knihovnu“. Odstavec 5 LGPL verze 2.1 uvádí:
- Program, který neobsahuje žádnou derivaci žádné části knihovny, ale je navržen pro práci s knihovnou tím, že je kompilován nebo propojen, se nazývá „dílo, které používá knihovnu“. Samostatně takové dílo není odvozeným dílem Knihovny, a proto spadá mimo rozsah této Licence.
V zásadě platí, že pokud se jedná o „dílo využívající knihovnu“, musí být možné, aby byl software propojen s novější verzí programu krytého LGPL. Nejčastěji používanou metodou je použití „vhodného sdílená knihovna mechanismus pro propojení ". Alternativně a staticky propojená knihovna je povoleno, pokud jsou k dispozici zdrojový kód nebo soubory propojitelných objektů.[3]
Kompatibilita
Jednou z funkcí LGPL je oprávnění k relikvie v rámci GPL jakýkoli software, který je přijímán v rámci LGPL (viz část 3 LGPL verze 2.1 a část 2 možnost b LGPL verze 3). Tato funkce umožňuje přímé opětovné použití kódu LGPLed v knihovnách a aplikacích GPLed.
Verze 3 LGPL není ve své podstatě kompatibilní s verzí 2 GPL. Kompatibilní jsou však díla používající druhou verzi, která dala svolení k použití novější verze GPL:[4] dílo vydané pod GPLv2 „nebo jakoukoli novější verzí“ lze kombinovat s kódem z knihovny LGPL verze 3, přičemž kombinované dílo jako celek spadá pod podmínky GPLv3.[5]
LGPL pro knihovny
![]() | tento článek obsahuje příliš mnoho nebo příliš zdlouhavé nabídky pro encyklopedický záznam.Únor 2020) ( |
Předchozí název „GNU Library General Public License“ budil dojem, že softwarové knihovny doporučené FSF používají LGPL a že programy používají GPL. V únoru 1999 napsal esej vedoucí projektu GNU Richard Stallman Proč byste neměli používat Lesser GPL pro svou další knihovnu s vysvětlením, že LGPL nebyl zastaralé, ale ten by neměl nezbytně používat LGPL pro všechny knihovny:
- Která licence je pro danou knihovnu nejlepší, je otázkou strategie ... Použití běžného GPL pro knihovnu dává vývojářům bezplatného softwaru výhodu oproti proprietárním vývojářům: knihovnu, kterou mohou používat, zatímco proprietární vývojáři ji nemohou používat ... Když funkce bezplatné knihovny jsou snadno dostupné pro proprietární software prostřednictvím jiných alternativních knihoven ... knihovna nemůže poskytnout svobodnému softwaru žádnou zvláštní výhodu, proto je pro tuto knihovnu lepší použít Lesser GPL.[2]
Stallman a FSF někdy obhajují licence dokonce méně omezující než LGPL jako strategickou záležitost. Prominentní[Citace je zapotřebí ] příkladem bylo Stallmanovo schválení používání a BSD styl licence od Vorbis projekt pro použití ve svých knihovnách v roce 2001.[6]
Specifikace programovacího jazyka
Licence používá terminologii, která je určena hlavně pro aplikace napsané v Programovací jazyk C. nebo jeho rodina. Společnost Franz Inc. zveřejnila vlastní preambuli licence, aby objasnila terminologii v Lisp kontext. LGPL se v této preambuli někdy označuje jako LLGPL.[7]
Navíc, Ada má speciální funkci, generika, což může vést k použití GNAT Modified General Public License: umožňuje kódu propojit nebo vytvořit instanci jednotek pokrytých GMGPL, aniž by samotný kód byl pokryt GPL.
C ++ šablony a knihovny pouze pro záhlaví mají stejný problém jako generika Ada. Verze 3 LGPL se těmto případům věnuje v části 3.[8]
Dědičnost třídy
Objevily se určité obavy ohledně vhodnosti objektově orientovaných tříd v LGPL'd zdědil jiným než (L) kódem GPL. Upřesnění je uvedeno na oficiálních stránkách GNU:
- LGPL neobsahuje zvláštní ustanovení o dědictví, protože žádná není nutná. Dědičnost vytváří derivační práce stejným způsobem jako tradiční propojení a LGPL umožňuje tento typ derivační práce stejným způsobem, jako umožňuje běžné volání funkcí.[9]
Viz také
- Obecná veřejná licence Affero
- GNU Free Documentation License
- GNAT Modified General Public License
- Výjimka spojující GPL
- Software využívající LGPL (kategorie)
Reference
- ^ „Kapitola 10. Malá GPL“. Copyleft a GNU General Public License: Komplexní výukový program a průvodce. 2018.
- ^ A b Stallman, Richard. Proč byste neměli používat Lesser GPL pro svou další knihovnu. Free Software Foundation oficiální webové stránky.
- ^ Gnu Lesser General Public License, Oddíl 4, pt. d) 0)
- ^ GNU Lesser General Public License (LGPL) verze 3. Free Software Foundation oficiální webové stránky.
- ^ Často kladené otázky o licencích GNU - GNU Project - Free Software Foundation. Free Software Foundation oficiální webové stránky.
- ^ Stallman, Richard. Re: [open-source] [Fwd: [icecast-dev] Xiph.org ohlašuje Vorbis Beta 4 a Xiph.org
- ^ Preambule obecné veřejné licence GNU Lesser
- ^ LGPLv3 pro knihovnu šablon C ++ Pure?
- ^ Turner, Davide. LGPL a Java. GNU oficiální webové stránky.