right|thumb|Logo projektu GNU GNU General Public License (GNU GPL či jednoducho GPL) je populárna licencia pre slobodný softvér, ktorú pôvodne napísal Richard Stallman pre projekt GNU (projekt na vytvorenie kompletného operačného systému, ktorý by bol slobodným softvérom). Poslednou verziou licencie je verzia tri vydaná 29. júna 2007. Voľnejším komplementom GPL je tzv. LGPL – Lesser General Public License.
GPL zaručuje verejnosti slobodu: spúšťať program na akýkoľvek účel, študovať, ako program funguje a meniť ho (na to je potrebný prístup k zdrojovému kódu), ďalej šíriť kópie, vylepšovať program a zverejňovať vylepšenia (na to je potrebný prístup k zdrojovému kódu).
Oproti tomu iné druhy licencií – licencie pre koncových používateľov, ktoré zvyčajne používajú tvorcovia proprietárneho softvéru zriedkakedy zaručujú akékoľvek slobody koncovému užívateľovi, a dokonca obmedzujú aktivity zvyčajne neobmedzené zákonom, ako reverse engineering.
Primárny rozdiel medzi GPL a „voľnejšími“ licenciami slobodného softvéru, ako licencia BSD je, že u GPL sa hore uvedené slobody zachovávajú aj pre tzv. odvodené práce. Toto sa deje pomocou právneho mechanizmu nazývaného copyleft vynájdeného Richardom Stallmanom, ktorý vyžaduje, aby odvodené práce boli taktiež zverejňované pod licenciou GPL. Kritici opisujú copyleft licencie ako virulentné (viral). Napríklad licencie typu BSD dovoľujú distribuovať odvodené práce aj ako proprietárny softvér.
Medzi najvýznamnejší softvér šírený pod licenciou GPL patrí GCC (GNU Compiler Collection), Linux (jadro operačného systému) a jazyk Perl.
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.Prezentácia Richarda Stallmana z dňa 21. apríla 2006 na druhej medzinárodnej konferencii GPLv3, Porto Alegre. Priamy odkaz na odsek o prehistórii GPL. 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 GPLEric S. Raymond: "Homesteading the Noosphere," odkazované v Make Your Open Source Software GPL-Compatible. Or Else By David A. Wheeler 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.
Verzie 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.Prezentácie Richarda Stallmana dňa 21. apríla 2006 na druhej medzinárodnej konferencii GPLv3, Porto Alegre. Priamy odkaz na sekciu s klauzulou "slobodu alebo život". 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.
Verzia 3 Na sklonku roku 2005 oznámila Free Software Foundation (FSF), že pracuje na verzii 3. licencie GPL (GPLv3). 16. januára 2006 bola publikovaná prvá "pracovná (draft) verzia" tejto licencie a začali verejné konzultácie. Tie boli pôvodne plánované na deväť až pätnásť mesiacov, ale nakoniec sa pretiahli až na osemnásť mesiacov a boli publikované štyri koncepty textu licencie. Oficiálne bola GPLv3 vydaná 29. júna 2007. GPLv3 napísal Richard Stallman s právnou pomocou Ebena Moglena a Software Freedom Law Center.Prezentácie Richarda Stallmana 25.2.2006, Brusel, Belgicko – prvý deň každoročnej konferencie FOSDEM.
Podľa Stallmana sa najdôležitejšie zmeny týkajú vzťahu k softvérovým patentom, kompatibilite slobodných licencií, definície "zdrojového kódu" a hardvérových obmedzení modifikácie softvéru.Interview s Richardom Stallmanom, Free Software Magazine, 23. januára 2008. Ďalšie zmeny sa vzťahujú na internacionalizáciu, na to, ako sa rieši porušenie licencie a ako môže držiteľ autorských práv pridávať k licencii ďalšie povolenia.
Medzi ďalšími zmenami, ktoré stoja za zmienku, je oprávnenie autorov pridávať ďalšie alebo požiadavky na distribúciu diela. Jedna z voliteľných podmienok, niekedy nazývaná ako Affero klauzula, má spĺňať požiadavky na softvér ako službu; povolenie pridávať požiadavky robí licenciu GPLv3 kompatibilnú s licenciou Affero General Public License.
Proces verejných konzultácií koordinovala Free Software Foundation za asistencie Software Freedom Law Center, ďalších skupín zaoberajúcich sa slobodným softvérom. Komentáre od verejnosti boli zhromažďované cez webový portál gplv3.fsf.org. Tento portál beží na softvéri stet vytvorenom pre tento účel. Komentáre boli sprostredkovávané štyrom výborom, ktoré tvorilo približne 130 ľudí vrátane prívržencov a odporcov cieľov FSF. Tieto výbory skúmali komentáre zaslané verejnosťou a ich zhrnutie odovzdávali Stallmanovi ako podklad pre finálnu podobu licencie.
Počas procesu verejných konzultácií bolo k prvému návrhu zaslaných 962 komentárov. Do konca procesu prišlo celkom 2 636 komentárov.
Tretí koncept bol vydaný 28. marca 2007.Guide to the third draft of GPLv3 Zahŕňal formulácie chrániace pred patentovým krížovým licencovaním, akým je kontroverzná patentová dohoda Microsoft-Novell a obmedzuje protitivoizačnú klauzulu na definíciu "používateľa" a " spotrebiteľského výrobku". Odstraňuje aj sekciu o "geografických obmedzeniach", ktorých pravdepodobné odstránenie bolo oznámené na začiatku verejných konzultácií.
Štvrtý diskusný draft Final Discussion Draft, prístupný 4. júna 2007, ktorý bol posledný, bol vydaný 31. mája 2007. Zaviedol kompatibilitu s licenciou Apache, vyjasnil rolu externých dodávateľov a urobil výnimku pre povolenie dohody Microsoft-Novell, kde sa v sekcii 11, paragrafu 6 hovorí, že:
Cieľom je, aby boli v budúcnosti takéto dohody neúčinné. Licencia má za cieľ spôsobiť, že Microsoft rozšíri svoje patentové licencie, ktoré poskytol zákazníkom spoločnosti Novell pre použitie softvéru licencovaného pod GPLv3, na všetkých používateľov tohto softvéru; to je možné, len ak je Microsoft právne "šíriteľom" softvéru licencovaného pod GPLv3.GPLv3 FAQ, overené 4. júna 2007. Toto je pre lepšiu čitelnosť z FAQ, nie z licencie.Fourth Discussion Draft Rationale, prístupné 4. júna 2007.
Niektorí ľudia, napríklad vysokoprofilovaní vývojári linuxového jadra, komentovali pre masmédiá návrhy licencie a zverejňovali prehlásenia o svojich námietkach k častiam draftov 1. a 2.Postoj vývojárov jadra ku GPLv3 -- http://lwn.net/Articles/200422/, prístupné 4. júna 2007
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