Princip copyleftu
Označení této kategorie licencí je v podstatě určitou parafrází copyrightu. Copyleft otáčí princip, na kterém je copyright založen – tedy namísto monopolu na rozšiřování autorských děl je zde naopak cílem šíření děl co největším počtem lidí a jeho trvalé ukotvení.
Dílo poskytované pod copyleftovou licencí nejenže lze v podstatě neomezeně rozšiřovat, současně ale nikdo ani nemůže šíření původního díla a v různé míře i děl odvozených bránit tím, že by na dílo uplatnil jiné podmínky.
Copyleftové licence GNU
Když Richard M. Stallman zakládal projekt GNU a hnutí svobodného softwaru, činil tak ve snaze nejen vytvářet a šířit svobodný software, nýbrž také zabránit tomu, aby tento svobodný software jeho svobod zbavil. Proto společně s dalšími lidmi, kteří sdíleli stejný pohled na věc, vytvořil právě takovou licenci. Ta se postupně měnila a vznikly i další podobné licence, nicméně základ zůstává stejný.
GNU General Public License (GNU GPL)
Zřejmě nejstarší, rozhodně ale nejznámější a nejpoužívanější copyleftová licence vychází samozřejmě ze čtyř svobod definovaných FSF (které jsou společné všem svobodným licencím), současně ale přidává i něco navíc. To něco je právě již zmíněná ochrana proti zbavení díla jeho svobod.
Totiž nejen původní dílo, ale i každé odvozené dílo (resp. upravené dílo a dílo založené na původním díle) lze šířit pouze za podmínek stejné licence. Nelze tedy vzít dílo šířené pod GPL a začít ho v původní či upravené podobě šířit za jiných podmínek.
Tato podmínka provází GNU GPL od samotného začátku, byť postupně vznikly novější verze licence, které podmínku dále zpřesnily a rozšířily. Autor si může vybrat, zda bude své dílo poskytovat za podmínek pouze jediné verze licence, pod více verzemi, nebo stylem „pod touto verzí a novější" (to je velmi časté řešení). Poslední variantou autor na jednu stranu částečně pouští z ruky kontrolu nad šířením díla (licence vydává FSF a může si tam dát v podstatě cokoliv), současně ale získává výhodu spočívající v reakci nových verzí na změny podmínek.
Verze GNU GPL
GNU GPL verze 1 byla vydána v roce 1989. Dnes již pravděpodobně nepotkáme software, který by byl šířen jen pod touto licencí. Již tato verze počítala s kombinováním s díly pod jinými licencemi. Dílo pod GPL lze kombinovat pouze s dílem, jehož licence je s GPL „kompatibilní“ – tedy neukládá podmínky, které by byly v rozporu s podmínkami GPL.
GNU GPL verze 2 z roku 1991 je s námi dodnes a stále se velmi aktivně používá (například pro linuxové jádro). Zavádí zásadu, že pokud nelze z nějakých důvodů při šíření dodržet principy této licence, nelze dílo šířit vůbec.
Zatím poslední je verze 3. Ta ve finální podobě spatřila světlo světa v červenci 2007 po intenzivní diskusi okolo několika postupně vydaných draftů. Řeší celou řadu problémů, které vyvstaly při praktickém používání licence GPL.
Bylo toho opravdu mnoho. Počínaje patentovými záležitostmi (licence zajišťuje, aby uživatel/distributor nebyl ohrožen neočekávanými patentovými nároky) přes ochranu proti hardwarovým restrikcím (tzv. tivoizaci), úpravu možností přidávání doplňkových oprávnění (například tzv. linkovací výjimky) až po zajištění kompatibility s licencemi, jako je Apache.
GNU Lesser General Public License (GNU LGPL)
Použije-li se klasická GNU GPL na softwarovou knihovnu, znamená to obvykle, že každý program tuto knihovnu využívající musí mít stejnou licenci. I při snaze maximálně podporovat svobodu softwaru je to docela nepříjemné omezení, které odrazuje autory proprietárního softwaru (resp. obecně softwaru pod jinými licencemi) od používání takových knihoven, a tedy i celého systému, kde by se takové knihovny používaly.
Proto vznikla licence nazvaná původně Library GPL, která podmínky zmírňuje. Později (ve verzi 2.1) byla licence přejmenována na Lesser GPL (kde má „Lesser“ symbolizovat menší svobodnost oproti GPL), principy ale zůstaly stejné.
Knihovnu šířenou pod GNU LGPL lze používat v softwaru s libovolnou licencí. Copyleft se vztahuje pouze na knihovnu jako takovou, tedy na šíření původních nebo upravených verzí. Na software, který pouze využívá knihovnu přes její rozhraní (ať už jde o dynamické nebo statické linkování; patří sem i dědění objektových tříd), se copyleft nevztahuje.
GNU Affero General Public License (GNU AGPL)
Zatímco GNU LGPL copyleft oproti GNU GPL oslabuje, tato licence ho naopak posiluje. Nasadí-li se software pod GPL na server, nemusí provozovatel poskytovat uživatelům zdrojové kódy původní ani upravené verze (pokud nějaké úpravy provede).
Filosofie licence AGPL vychází z toho, že i nepřímý uživatel (užívající software vzdáleně na serveru) má mít stejná práva, jako kdyby software užíval přímo. Proto AGPL přidává požadavek, že kdo poskytuje uživatelům k dálkovému použití upravenou verzi, musí jim její zdrojové kódy poskytnout stejně, jako kdyby jim poskytoval k místnímu užívání software pod GPL.
AGPL verze 3 a stejná verze GPL byly připraveny pro vzájemnou kompatibilitu v obou směrech. Proto lze díla pod oběma licencemi vzájemně kombinovat bez omezení.
Doplňková práva
K licencím lze přidávat některá doplňková práva, která nemění podstatu licence, ale umožňují i taková použití, která by s licencí bez úprav nebyla povolena.
Asi nejvýznamnější je v tomto ohledu již zmíněná linkovací výjimka (ve světě jazyka Java známá jako classpath výjimka). Ta umožňuje použít dílo licencované pod GPL v díle licencovaném pod jinou licencí – ovšem jen v případě, kdy jde výhradně o použití přes rozhraní. Jde o věc velmi podobnou GNU LGPL.
LGPL je ale o něco přísnější – stanovuje přesné postupy pro propojování děl. Současně je ale třeba říct, že u verzí 3 licencí GPL a LGPL se rozdíl oproti dřívějšku zmenšil, protože i samotná LGPL je nově definována jako sada výjimek oproti klasické GPL.
Pokračování příště
Tím máme za sebou teoretický úvod do problematiky copyleftových licencí a přístě se podíváme na některé aplikace v praxi. Často je potřeba nějakým způsobem kombinovat či propojovat díla s různými licencemi, a zrovna u těch copyleftových to může působit určité komplikace.