GNU General Public License

História

Licencia GPL bola napísaná Richardom Stallmanom v roku 1989 pre použitie s programami poskytovanými ako súčasť projektu GNU. Pôvodná licencia GPL bola založená na zjednotení podobných licencií používaných pre prvé verzie programov GNU Emacs, GNU Debugger a GNU Compiler Collection. Tieto licencie obsahovali podobné podmienky ako moderná GPL, ale boli špecifické pre každý program, čo ich robilo nekompatibilnými, aj keď v podstate išlo o tie isté licencie. Stallmanovým cieľom bolo vytvoriť jedinú licenciu tak, aby mohla byť použitá v akomkoľvek projekte v rovnakom znení.
Dôležité rozhodnutie, čo sa týka dôvery v GPL, prišlo od Linusa Torvalda, ktorý v roku 1992 použil túto licenciu pre linuxové jadro, prechodom z licencie, ktorá zakazovala komerčnú distribúciu.
V auguste 2007 používalo licenciu GPL približne 65 % z 43 442 projektov slobodného softvéru, ktoré sú uvedené v zozname na serveri Freshmeat, a v januári 2006 používalo túto licenciu okolo 68 % projektov na SourceForge.net. Podobne prieskum Red Hat Linuxu 7.1 z roku 2001 zistil, že 50 % zdrojového kódu je licencovaných pod GPL a prieskum MetaLab, neskôr najväčšieho archívu slobodného softvéru, v roku 1997 ukázal, že zhruba polovica projektov má práve túto licenciu. Jeden prieskum veľkého repozitára open source softvéru ohlásil, že v júli 1997 je približne polovica softvérových balíkov s explicitnými licenčnými podmienkami je licencovaných pod GPL Medzi významné slobodné programy pod GPL patrí napríklad linuxové jadro alebo GNU Compiler Collection (GCC). Niektorý ďalší softvér je duálne licencovaný viacerými rôznymi licenciami, kde často jednou z nich býva GPL.
Niektorí pozorovatelia veria, že silný copyleft poskytovaný GPL bol kľúčový pre úspech Linuxu, pretože dal jeho programátorom istotu, že ich dielo prinesie úžitok celému svetu a zostane slobodné, miesto toho aby bolo využívané softvérovými spoločnosťami bez toho, že by aj oni niečo poskytli späť komunite.
Druhá verzia licencie, verzia 2, bola vydaná v roku 1991. Počas nasledujúcich 15 rokov sa objavili členovia komunity, ktorý nadobudli presvedčenie, že niektorí dodávatelia softvéru a hardvéru našli diery v GPL, ktoré im umožňujú využívať softvér licencovaný pod GPL spôsobom, ktorý je v rozpore so zámermi programátorov. Medzi takéto metódy patrí začlenenie GPL softvéru do hardvéru, ktorý odmieta spúšťať modifikované verzie tohto softvéru, používanie nepublikovaných modifikovaných verzií GPL softvéru za webovým rozhraním, patentové obchody medzi Microsoftom a distribútorami Linuxu a Unixu, ktorí by mohli patenty využiť ako zbraň proti konkurencii zo strany Linuxu.
Verzia 3 bola vyvinutá tak, aby tieto problémy riešila. Oficiálne vydanie bolo 29. júna 2007.

Verzia 1

Verzia 1 licencie GNU GPL, vydaná v januári 1989, chránila proti dvom spôsobom, ktorými softvéroví distribútori obmedzovali slobody, ktoré definujú slobodný softvér. Prvým problémom je, že distribútori môžu publikovať len binárne súbory – spustiteľné, ktoré ale nie sú čitateľné ani upravovateľné ľuďmi. GPLv1 sa tomu bráni tak, že určuje, že každý dodávateľ, ktorý šíri binárne súbory, musí pod rovnakými licenčnými podmienkami poskytnúť aj ich ľudsky čitateľný zdrojový kód.
Druhým problémom je fakt, že distribútori môžu pridávať dodatočné obmedzenia, buď pridávaním reštrikcií k licencii alebo kombinovaním softvéru s iným softvérom, ktorý má ďalšie reštrikcie vzhľadom na svoju distribúciu. V takomto prípade sa na kombinované dielo uplatnia obe sety reštrikcií a preto môžu byť pridané aj neakceptovateľné obmedzenia. GPLv1 tomu zabraňuje tým, že modifikované verzie ako celok musia byť šírené pod GPLv1. Preto sa dá softvér šírený pod podmienkami GPLv1 kombinovať so softvérom s voľnejšími podmienkami, pretože sa tak nezmenia podmienky, pod ktorými sa distribuuje výsledný celok. Naopak, so softvérom šíreným pod reštriktívnejšou licenciou sa kombinovať nedá, pretože by tak došlo ku konfliktu s požiadavkami GPLv1 na šírenie pod touto licenciou.

Verzia 2

Hlavnou zmenou v GPLv2 je podľa Richarda Stallmana klauzula "slobodu alebo život", ako ju nazval – odsek 7. Táto sekcia hovorí, že pokiaľ niekto pridá obmedzenie, ktoré mu bráni šíriť softvér pod licenciou GPL tak, aby rešpektoval slobodu ostatných používateľov (napríklad keď právne ustanovenie hovorí, že softvér sa môže distribuovať len v binárnej forme), nesmie ho šíriť vôbec.
V roku 1990 sa začalo ukazovať, že menej reštriktívna licencia by bola strategicky užitočná pre niektoré knižnice; verzia 2 licencie GPL (GPLv2) bola vydaná v júni 1991, preto druhá licencia – Library General Public License (LGPL) – bola uvedená v rovnakom čase a označená číslom 2, aby bolo zrejmé, že sa obidve licencie vzájomne dopĺňajú. Číslovanie verzií sa zhodovalo do roku 1999, keď bola vydaná verzia 2.1 licencie LGPL, ktorá ju premenovala na GNU Lesser General Public License, aby lepšie odrážala jej miesto vo filozofii GNU.

Podmienky licencie

Podmienky licencie GPL sú komukoľvek dostupné tak, že získa text licencie s dielom, ktoré je pod touto licenciou poskytované ("nadobúdateľ licencie"). Každý nadobúdateľ licencie, ktorý akceptuje jej podmienky, získava právo modifikovať dielo, kopírovať ho a ďalej ho rozširovať, ako aj jeho ľubovoľnú odvodenú verziu. Nadobúdateľ licencie môže poskytovať túto službu zadarmo. Tento bod odlišuje GPL od licencií, ktoré zakazujú komerčnú redistribúciu. FSF argumentuje, že slobodný softvér by nemal obmedzovať komerčné využitie, a GPL teda explicitne uvádza, že diela pod GPL sa môžu "predávať" za ľubovoľnú cenu.
GPL ďalej hovorí, že distribútor nesmie zaviesť "ďalšie obmedzenia na práva zaručené GPL". Toto zakazuje aktivity ako distribúciu softvéru pod záväzkom alebo zmluvou mlčanlivosti (NDA, non-disclosure agreement). Distribútori softvérového diela pod GPL tiež zaručujú poskytnutie licencie pre akékoľvek patenty použité v tomto softvéri, aby mohli byť tieto patenty používané v diele.
Sekcia 3 licencie požaduje, aby sa k programom šíreným formou predkompilovaných binárnych súborov, prikladali zdrojové kódy, písomná ponuka distribúcie zdrojových kódov rovnakým mechanizmom, akým sa poskytli binárne súbory, alebo písomná ponuka na poskytnutie zdrojových kódov.

Copyleft

Distribučné práva zaručené GPL pre modifikované verzie diela nie sú bez podmienok. Ak niekto šíri GPL dielo so svojimi vlastnými modifikáciami, požiadavky na distribúciu celého diela nemôžu byť akokoľvek zväčšené oproti požiadavkám, ktoré sú v GPL.
Táto požiadavka je známa ako copyleft. Jeho právna moc vychádza z aplikácie autorského práva na počítačové programy. Pretože dielo šírené pod GPL je chránené autorským právom, nadobúdateľ licencie nemá žiadne oprávnenie na šírenie tohoto diela ani v modifikovanej podobe (okrem prípadu fair use), okrem toho, ktoré mu určujú podmienky licencie. Kto chce vykonávať právo normálne obmedzené autorským právom (napríklad šírenie diela), musí prijať podmienky licencie. Naopak, ak niekto distribuuje kópie diela bez prijatia podmienok GPL (napríklad s udržaním zdrojového kódu v utajení), môže byť postihnutý (žalovaný pôvodným autorom, trestne stíhaný) za porušenie autorského práva.
Copyleft teda využíva autorské právo (copyright) na zaistenie opaku obvyklého účelu: namiesto zavádzania obmedzenia zaručuje právo ostatným ľuďom, a to tak, že im nemôžu byť následne odobraté. Zaisťuje tiež, že niesu zaručené neobmedzené distribučné práva, ak by v prehlásení copyleftu bola právna chyba.
Mnoho distribútorov GPL programov prikladá zdrojový kód k spustiteľným súborom. Alternatívnou metódou, ako vyhovieť copyleftu, je poskytnúť písomnú ponuku na poskytnutie zdrojového kódu na fyzickom médiu (napríklad CD) na požiadanie. V praxi je mnoho programov pod GPL distribuovaných cez Internet, ktorých zdrojové kódy sú k dispozícii protokolom FTP. Pri internetovej distribúcii je to v súlade s licenciou.
Copyleft sa uplatní len v prípade, že bude človek program šíriť. Každý si môže vytvárať súkromné modifikované verzie, bez toho, aby musel šíriť modifikácie až do okamihu, keď začne modifikovaný softvér distribuovať niekomu ďalšiemu. Všimnite si, že sa copyleft uplatňuje iba na softvér a nie na jeho výstup (pokiaľ výstup nie je sám o sebe odvodenou verziou programu); napríklad verejný webový portál bežiaci na modifikovanej verzii CMS šíreného pod licenciou GPL nemusí šíriť zmeny tohto softvéru.

Licencovanie a zmluvné záležitosti

GPL bola navrhnutá ako licencia, nie ako zmluva. V niektorých jurisdikciách nepísaného práva (anglo-americký systém) je hlavný právny rozdiel medzi licenciou a zmluvou nasledovný: zmluvy sú vymáhateľné prostredníctvom zmluvného (obchodného) práva, licencie pomocou autorského práva. Toto rozlíšenie však nemá význam v mnohých jurisdikciách, kde nie je rozdiel medzi zmluvami a licenciami, ako v systéme rímskeho (kontinentálneho) práva.
Tí, ktorí nesúhlasia s podmienkami GPL, niesu oprávnení kopírovať, ani distribuovať tento softvér, či odvodené diela. Môžu však softvér bez obmedzenia používať.

Držitelia autorských práv

Text licencie GPL je sám o sebe autorským dielom, autorské práva vlastní Free Software Foundation (FSF). FSF však nemá práva k dielam vydaným pod GPL. pokým autor explicitne neprenesie práva na FSF (čo sa stáva zriedkavo, výnimkou sú časti projektu GNU). Právo podávať žalobu pri porušení podmienok licencie majú len priamo jednotliví držitelia autorských práv.
FSF povoľuje ľuďom vytvárať si novú licencie založené na GPL, pričom tieto odvodené licencie nesmú bez súhlasu používať preambulu GPL. To sa ale neodporúča, pretože tieto odvodené licencie sú často nekompatibilné s GPL. (Pre viac informácií pozri GPL FAQ.)
Medzi ďalšie licencie vytvorené v projekte GNU patria GNU Lesser General Public License a GNU Free Documentation License.

GPL na súde

Kľúčovým sporom súvisiacim s GPL je, či nie-GPL softvér smie dynamicky linkovať GPL knižnice. GPL jasne hovorí, že akékoľvek odvodené diela kódu pod GPL musia samé o sebe taktiež byť pod GPL. Nie je však jasné, či by spustiteľný súbor, ktorý dynamicky linkuje GPL kód, mal byť považovaný za odvodené dielo. Komunita okolo slobodného a open source softvéru je v tomto rozdelená. FSF tvrdí, že spustiteľný súbor je odvodeným dielom iba vtedy, ak GPL kód a spustiteľný súbor "vzájomne volajú funkcie a zdieľajú dátové štruktúry", s čím niektorí ľudia súhlasia, Niektorí (napr. Linus Torvalds) súhlasia, že dynamické linkovanie môže vytvoriť odvodené dielo, ale nesúhlasí s danou definíciou takýchto prípadov. Na druhej strane niektorí experti argumentujú, že otázka zostáva otvorená: jeden právnik firmy Novell napísal, že nevytvorenie odvodeného diela dynamickým linkovaním "dáva zmysel, ale nejde o čistý rez". Lawrence Rosen sa vyjadril, že súd by "pravdepodobne" vylúčil dynamické linkovanie z odvodených diel, ale "existujú také argumenty" na druhej strane a "výsledok nie je jasný"  (neskôr argumentoval, že "trhové" faktory sú dôležitejšie ako technika linkovania ). To jednoznačne nie je otázka GPL "ako takej", ale skôr ako autorské právo definuje odvodené diela. V spore Galoob vs. Nintendo odvolací súd deviateho obvodu definoval odvodené dielo ako vzťah, ktorý má "'formu' alebo trvalosť", a poznamenal, že "porušujúce dielo musí určitou formou začleňovať časť chráneného diela", ale nedošlo k jasnému súdnemu rozhodnutiu, ktoré by vyriešilo tento konkrétny konflikt.
Pretože neexistuje žiadny záznam o niekom, kto obchádzal GPL pomocou dynamického linkovania a hrozil by mu spor s držiteľom autorských práv, obmedzenie sa javí ako vymáhateľné de facto, aj keď to zatiaľ nebolo preukázané de jure.
V roku 2002 žalovala firma MySQL firmu Progress NuSphere kvôli porušeniu autorského a známkového práva na massachusetskom okresnom súde. Firma NuSphere údajne porušila autorské práva k MySQL tým, že zlinkovala kód tabuľkového typu so serverom MySQL. Po predbežnom vypočutí pred sudkyňou Patti Saris 27. februára 2002 vstúpili strany sporu do rokovania o vyrovnaní a možno sa vyrovnali. Pri vypočutí Patti Saris Patti Saris povedala, že "nevidí žiadny dôvod", prečo by GPL nemohla byť vymáhateľná.
V auguste 2003 oznámila SCO Group, že má za to, že GPL nemá žiadnu právnu platnosť, a že zamýšľajú viesť právne spory ohľadne častí kódu zrejme skopírovaných zo systému SCO Unix do linuxového jadra. To bolo pre firmu problematické, pretože šírila Linux a ďalší GPL kód vo svojej distribúcii Caldera OpenLinux a je ťažko dokázateľné, že mala iné právo tak konať, než to, ktoré poskytuje GPL. Pre ďalšie informácie pozri SCO-Linux kontroverzie a SCO vs. IBM.
V apríli 2004 dosiahol projekt netfilter/iptables na okresnom súde v Mníchove vydanie predbežného opatrenia proti spoločnosti Sitecom Germany, potom čo firma odmietla upustiť od šírenia softvéru netfilter v rozpore s podmienkami GPL. V júli 2004 nemecký súd potvrdil toto opatrenie konečným rozsudkom proti firme Sitecom. Zdôvodnenie rozsudku presne odráža predikciu poskytnutú už skôr FSF (Ebenom Moglenom): Žalovaný porušil autorské práva žalobcu tým, že ponúkal softvér 'netfilter/iptables' na stiahnutie a poskytovanie tejto svojej distribúcie, bez toho aby dodržal podmienky GPL. Uvedená činnosť by mohla byť prípustná iba vtedy, ak by žalovaný získal licenciu… Toto je nezávislé od otázky, či boli podmienky GPL účinne dohodnuté medzi žalobcom a žalovaným alebo nie. Pokiaľ nebola GPL dohodnutá medzi stranami, žalovaný by aj tak potreboval potrebné práva pre kopírovanie, šírenie a zverejňovanie softvéru 'netfilter/iptables'.
Tento rozsudok bol dôležitý, pretože to bolo po prvýkrát, čo súd potvrdil, že porušenie podmienok GPL je porušením autorského práva. Ale tento prípad nebol až tak rozhodujúcim testom GPL, ako z toho niektorí vyvodili. V tomto prípade nebola napadnutá samotná vynútiteľnosť GPL. Namiesto toho sa súd snažil zistiť, či bola zmluva samotná vôbec v účinnosti.
V máji 2005 začal Daniel Wallace spor proti Free Software Foundation (FSF) na súde v Južnom okrese Indiany. Tvrdil, že GPL je ilegálny pokus, ako fixovať ceny na nulu. Žaloba bola v marci 2006 zamietnutá na základe toho, že Wallace nepreukázal platnú antitrustovú požiadavku ; súd prehlásil, že "GPL podporuje, nie obmedzuje, slobodnú súťaž a distribúciu počítačových operačných systémov, z čoho plynú priame výhody pre spotrebiteľa." Wallace odmietol možnosť ďalšej zmeny svojej sťažnosti a bol nútený zaplatiť FSF náklady na tento spor.
8. septembra 2005 súd centrálneho okresu Soulu rozhodol, že GPL nemá žiadnu právnu váhu vzhľadom na obchodné tajomstvo odvodeného diela licencovaného pod GPL. Žalovaný argumentovali, že vzhľadom na to, že je nemožné dodržať obchodné tajomstvo, pokiaľ by postupovali v súlade s GPL a šírili dielo, že obchodné tajomstvo neporušujú. Tento argument bol posúdený ako nepodložený.
6. septembra 2006 projekt gpl-violations.org zvíťazil v súdnom spore proti D-Link Germany GmbH, vedenom kvôli tomu, že D-Link používal linuxové jadro neprístupným a autorské právo porušujúcim spôsobom. Rozsudok konečne poskytol "čierne na bielom" právny precedens, že GPL je platná a právne uznávaná, a že bude na nemeckom súde odolávať.
Koncom roku 2007 začali vývojári projektu BusyBox spoločne so Software Freedom Law Center program, ktorý má zaistiť, aby distribútori BusyBoxu v embedded systémoch dodržiavali GPL, a tí ktorí ju dodržiavať nebudú, boli žalovaní. Toto bolo označené za prvé americké použitie súdu pre vymáhanie povinností plynúcich z GPL.

Kompatibilita a viacnásobné licencovanie

Mnoho najbežnejších licencií slobodného softvéru, napríklad pôvodná MIT/X licencia, BSD licencia (v súčasnej trojklauzulovej forme) a LGPL, sú kompatibilné s GPL. To znamená, že kód pod týmito licenciami môže byť bez konfliktu kombinovaný s programom pod GPL (na celú novo vzniknutú kombináciu sa potom vzťahovala GPL). Niektoré licencie slobodného open source softvéru však nie sú kompatibilné s GPL. Mnoho prívržencov GPL silne obhajuje, aby vývojári slobodného open source softvéru používali iba licencie kompatibilné s GPL, pretože keby robili ináč, bolo by zložité používať takýto softvér vo väčších celkoch. Všimnite si, že tento problém nastáva len za súčasného použitia licencií, ktoré stanovujú podmienky dané spôsobom kombinácie. Niektoré licencie, napríklad BSD, žiadne takéto podmienky nestanovujú.
Pozri aj zoznam licencií schválených FSF na príklady kompatibilných a nekompatibilných licencií.
Mnoho obchodných spoločností používa duálne licencovanie. Šíria GPL verziu a predávajú proprietárne licencie firmám, ktoré chcú kombinovať tento softvér s proprietárnym kódom, či už používajú dynamické linkovanie alebo nie. K takýmto spoločnostiam patria MySQL AB, Trolltech (Qt toolkit), Namesys (ReiserFS) alebo Red Hat (Cygwin).

Prijatie GPL

Open Source License Resource Center spravované Black Duck Software ukazuje, že licenciu GPL používa okolo 60 % všetkého open source softvéru. Podstatná väčšina softvéru je vydávaná pod GPL 2, tri tisíc projektov už emigrovalo na GPLv3.

Kritika

V roku 2001 označil Steve Ballmer, CEO zo spoločnosti Microsoft, Linux za „rakovinu, ktorá sa uchytí na všetkom intelektuálnom vlastníctve, ktorého sa dotkne“. Kritici Microsoftu hovoria, že skutočným dôvodom, prečo Microsoft nemá rád GPL, je to, že GPL bráni pokusom dodávateľov proprietárneho softvéru „uchopiť, rozšíriť, zničiť“. Microsoft vydal Microsoft Windows Services for UNIX, obsahujúci kód licencovaný pod GPL. V reakcii na útoky Microsoftu proti GPL, vydali mnohí významní vývojári a obhajcovia slobodného softvéru spoločné prehlásenie podporujúce licenciu.
GPL je množstvom kritikov označovaná ako „vírová“, pretože GPL povoľuje vydávať pod touto licenciou iba celé programy – to znamená, že programátori nesmú vydávať programy, linkujúce GPL knižnice, pod nekompatibilnými licenciami. Takzvaný „vírový“ efekt spočíva v tom, že v niektorých prípadoch nie je možné z licencovaný softvér kombinovať bez toho, aby bola jedna z licencií zmenená. Aj keď je možné teoreticky zmeniť ktorúkoľvek z licencií, vo „vírovom“ scenári je prakticky nemožné zmeniť GPL (pretože softvér môže mať mnoho prispievateľov, z ktorých niektorí zmenu takmer určite odmietnu), zatiaľ čo licencia druhého softvéru "môže" byť v praxi zmenená.
Toto je súčasťou filozofie odlišnosti medzi GPL a permisívnymi licenciami, akými sú BSD licencie, ktoré nemajú na modifikované verzie také požiadavky. Prívrženci GPL zastávajú názor, že slobodný softvér by mal zaistiť, že jeho slobody sú chránené na celej ceste od vývojára až k používateľovi, iní ľudia sú zase toho názoru, že prostredníci medzi vývojármi a používateľmi by mali mať slobodu šíriť tento softvér ako neslobodný. Špecifickejšie povedané, GPL vyžaduje, aby redistribúcia prebiehala pod GPL, no permisívnejšie licencie povoľujú redistribúciu pod reštriktívnejšími licenciami, než je tá pôvodná.
Napriek tomu, že GPL povoľuje komerčnú distribúciu softvéru, trhová cena bude stlačená na úroveň distribúcie – blízkej nule, pretože zákazníci môžu ďalej šíriť tento softvér a jeho zdrojový kód za náklady redistribúcie. Na toto by sa dalo nahliadnuť ako na prekážku v komerčnom použití GPL softvéru tými, ktorí chcú tento kód použiť na proprietárne účely. Pokiaľ nechcú využiť kód pod GPL, musia si to reimplementovať sami. Microsoft zahrnul do svojho open source softvéru podmienky proti GPL.
Navyše projekt FreeBSD prehlásil, že "menej verejne známou a nezamýšľanou funkciou GPL je, že je veľmi priaznivá pre veľké spoločnosti, ktoré chcú podkopávať iné softvérové firmy. Inými slovami, GPL je veľmi vhodná na použitie ako marketingová zbraň, potenciálne obmedzujúca celkový ekonomický prínos a prispievajúca k monopolistickému postaveniu". Takéto prípady zatiaľ neboli preukázané.
GPL nemá žiadnu odškodňovaciu klauzulu explicitne chrániacu správcov a vývojárov proti sporom vychádzajúcim z bezohľadného prispievania. (Pokiaľ vývojár vloží existujúce patentové alebo autorsky chránené dielo do GPL projektu s tvrdením, že ide o jeho vlastný príspevok, všetci správcovia projektu a ďalší vývojári môžu byť právne zodpovední za škody vzniknuté držiteľom autorských alebo patentových práv.)
Absencia odškodnenia je jednou z kritík, ktoré viedlo Mozillu k vytvoreniu Mozilla Public License namiesto použitia GPL alebo LGPL. Neskôr však Mozzila prelicencovala svoje diela pod trojitou licenciou GPL/LGPL/MPL kvôli problémom s nekompatibilitou MPL s GPL.
Niektorí softvéroví vývojári spozorovali, že v širšom pohľade je GPL príliš reštriktívne. Napríklad Bjørn Reese a Daniel Stenberg cítili, že ich voľba GPL pre softvér vytvorila "quodque pro quo" (lat. "niečo za niečo") pre vývojárov iného softvéru, ktorý sa s tým ich linkuje. Z tohoto dôvodu v roku 2001 ukončili použitie GPLv2 v prospech menej reštriktívnych copyleftových licencií.
Špecifickým príkladom nekompatibility licencií je súborový systém ZFS firmy Sun Microsystems, pretože je licencovaný licenciou CDDL nekompatibilnou s GPL a obsahuje niekoľko patentov firmy Sun. Preto nemôže byť linkovaný linuxovým jadrom.
Niektorí ľudia taktiež tvrdili, že GPL by mohla byť krajšia.