Často kladené otázky o GNU GPL

 [image of the Head of a GNU] [ Anglicky | Francouzsky | Italsky | Korejsky | Polsky | Portugalsky ]
Tato stránka obsahuje odpovědi na často kladené otázky o GNU General Public License (GPL). Pokud hledáte informace o jiných licencích Nadace pro svobodný software, podívejte se na naši stránku licencí.

Až si přečtete tento FAQ (Frequently Asked Questions, často kladené otázky), můžete si své znalosti o licencování svobodného software vyzkoušet v našem testu.

Obsah


Co znamená zkratka GPL?

,,GPL'' znamená ,,General Public License'', což se dá do češtiny přeložit jako ,,Všeobecná veřejná licence''. Nejrozšířenější takovou licencí je GNU General Public License, zkráceně GNU GPL. Toto může být ještě dále zkráceno na GPL, pokud je z kontextu zřejmé, že se mluví o té GPL z projektu GNU.

Zkratku GNU GPL vyslovujeme jako [gnú dží pí el].

Znamená svobodný software, že musím použít GPL?

Vůbec ne -- existuje mnoho dalších licencí svobodného software. Existuje jejich neúplný seznam. Jakákoliv licence, která uživateli poskytuje jisté konkrétní svobody je licencí svobodného software.

Proč bych měl použít GPL raději než nějakou jinou licenci svobodného software?

Používáním GNU GPL můžete zajistit, aby všechny vydané vylepšené verze byly také svobodným software. To znamená, že se tak můžete vyhnout tomu, abyste museli v budoucnosti soupeřit s proprietární verzí vaší vlastní práce. Přesto může být použití volnější licence v některých speciálních případech vhodnější.

Používá všechen GNU software jako svoji licenci GNU GPL?

Většina balíků GNU software používá jako svoji licenci GNU GPL, ale existuje několik málo GNU programů, které používají volnější licence, jako je Lesser GPL. Pokud to děláme, je to záležitostí strategie.

Znamená použití GNU GPL, že se software stane součástí GNU?

Zveřejnit svůj program pod GNU GPL může kdokoliv, ale to z něj ještě nedělá součást GNU.

Udělat z programu balík GNU znamená explicitně přispívat k projektu GNU. To nastane, když s tím souhlasí jak vývojáři programu, tak projekt GNU. Pokud byste rádi přispěli svým programem do projektu GNU, prosím napište na <[email protected]>.

Co bych měl/a dělat, pokud odhalím porušení GPL?

Měl/a byste to oznámit. Nejprve si ověřte fakta, jak nejlépe umíte. Potom to řekněte distributorovi či vlastníkovi autorských práv na tento konkrétní GPL program. Jestli je jím Nadace pro svobodný software, napište na <[email protected]>. V ostatních případech by mohl být vlastníkem copyrightu maintainer (správce) programu, nebo by vám alespoň mohl říci, jak můžete vlastníka copyrightu kontaktovat. Zkuste tedy napsat maintainerovi.

Proč GPL povoluje uživatelům publikovat vlastní modifikovanou verzi?

Rozhodujícím aspektem svobodného software je možnost svobodné spolupráce. Je naprosto nezbytné dovolit uživatelům, kteří si chtějí vzájemně pomáhat, aby sdíleli opravy chyb a vylepšení s ostatními uživateli.

Někteří lidé navrhovali alternativy k GPL, požadující, aby upravené verze šly přes původního autora. Dokud se původní autor dobře stará o správu programu, mohl by tento přístup v praxi fungovat dobře, ale když autor více méně přestane svou úlohu plnit anebo odmítá poslouchat požadavky svých uživatelů, toto shéma se zhroutí. Mimo praktických problémů navíc tento model nedovoluje, aby si uživatelé pomáhali navzájem.

Někdy je navrhována kontrola nad modifikovanými verzemi, aby nevznikl zmatek mezi různými verzemi od uživatelů. Z naší zkušenosti však víme, že toto není žádným větším problémem. Mnoho verzí Emacsu vzniklo mimo projektu GNU, ale uživatelé je dokáží odlišit. GPL vyžaduje, aby tvůrce pozměněné verze uvedl své jméno, které ji umožní odlišit od ostatních verzí a ochrání reputaci ostatních správců.

Požaduje GPL, aby byl zveřejněn zdrojový kód modifikovaných verzí?

GPL nepožaduje, aby byla pozměněná verze zveřejněna. Můžete provést nějakou změnu a používat takový program soukromě, bez toho, abyste jej zveřejňovali. To se vztahuje i na organizace (včetně společností). Organizace může vytvořit modifikovanou verzi a interně jí používat bez toho, aby jí zveřejnila mimo tuto organizaci.

Ale pokud modifikovanou verzi nějakým způsobem zveřejníte, GPL vám ukládá povinnost zveřejnit i zdrojový kód této modifikované verze a to pod GPL.

GPL vám tedy dává povolení zveřejnit modifikovaný program určitým způsobem a ne jiným, ale rozhodnutí, zda jej vůbec zveřejnit, je na vás.

Co to znamená ,,písemná nabídka platná pro jakoukoliv třetí stranu''? Znamená to, že kdokoliv na světě může získat zdrojový kód jakéhokoliv GPL programu?

,,Platná pro jakoukoliv třetí stranu znamená, že každý, kdo tuto nabídku má, ji může využít.

Pokud komerčně distribuujete binární kódy, které nejsou doprovázené zdrojovým kódem, GPL říká, že musíte poskytnout alespoň písemnou nabídku dodat zdrojový kód později. Když uživatelé nekomerčně redistribuují tyto binární soubory získané od vás, musí přiložit i kopii písemné nabídky. To znamená, že i lidé, kteří nezískali binární verzi přímo od vás, mohou stále získat kopie zdrojových kódů spolu s písemnou nabídkou.

Důvod k tomu, proč požadujeme, aby byla tato nabídka platná pro jakoukoliv třetí osobu je ten, aby lidé, kteří získávají binární soubory nepřímo touto cestou, mohli od vás také získat zdrojový kód.

Pokud distribuuji binární soubory na fyzickém médiu bez zdrojových kódů, mohu zpřístupnit zdrojové kódy přes FTP místo zasílání poštou?

Měli byste poskytnout zdrojový kód na fyzickém médiu, kdykoliv si jej někdo objedná. To znamená, zaslat jej poštou.

Bude skvělé, pokud poskytnete lidem možnost zkopírovat si odpovídající zdrojový kód z FTP jako přídavek k možnosti objednat si jej poštou. FTP přístup může uživatelům vyhovovat, ale také nemusí. Pokud tento způsob vyhovuje, možná si nikdo nezvolí objednat si kopii poštou a vy nebudete nikdy muset žádnou zasílat. To je dobré pro vás. Když se ale uživatel rozhodne kopii si objednat, musíte mu ji zaslat.

GPL říká, že pozměněné verze musí být, pokud jsou distribuovány, ,,licencovány ... všem třetím stranám.'' Kdo jsou tyto třetí strany?

Sekce 2 říká, že modifikované verze, které distribuujete musí být licencovány všem třetím stranám pod GPL. ,,Všem třetím stranám'' znamená úplně všem, ale neznamená to, že byste pro ně museli něco fyzicky *dělat*. Znamená to pouze, že od vás mají licenci na tuto vaši verzi pod GPL.

Musím na své změny v GPL programu uvalovat copyright?

Své změny copyrightovat nemusíte. Ve většině zemí se tak ale děje automaticky, takže pokud na ně copyright nechcete, musíte je dát do public domain explicitně.

Ať již uděláte to či ono, modifikovanou verzi programu musíte distribuovat pod GPL.

Pokud program kombinuje kód v public domain s kódem pod GPL, mohu vzít tu část v public domain a zacházet s ní jako s kódem v public domain?

To udělat můžete, když můžete rozlišit, která část je public domain a oddělit ji od zbytku. Pokud vývojář nějaký kód vloží do public domain, bude v public domain i nadále, nehledě na to, kam se kdy dostane.

Dovoluje mi GPL prodávat kopie programu za peníze?

Ano, GPL toto dovoluje každému. Právo prodávat kopie je součástí definice svobodného software.

Dovoluje mi GPL požadovat poplatek za stažení programu z mého webu?

Ano. Za distribuci kopie programu si můžete zvolit poplatek, jaký chcete. Jestli poskytujete ke stažení binární verzi, musíte zajistit ,,stejný přístup'' i ke zdrojovým kódům. To znamená, že poplatek za stažení zdrojových kódů nesmí být vyšší než poplatek za stažení binární verze.

Dovoluje mi GPL požadovat, aby mi každý, kdo software obdrží, musel platit poplatek nebo mě musel upozorňovat?

Ne. Takový požadavek by ve skutečnosti učinil z programu nesvobodný software. Když musí lidé platit, kdykoliv dostanou kopii programu, nebo pokud musí někoho konkrétního upozornit, program není svobodný. Podívejte se na definici svobodného software.

GPL je licencí svobodného software, a tak lidem dovoluje užívat a dokonce redistribuovat program bez toho, aby za to museli někomu platit poplatek.

Pokud distribuuji GPL software za peníze, musím jej poskytnout také zadarmo?
Ne. Nicméně pokud vám někdo poplatek zaplatí a dostane od vás kopii, GPL mu dává svobodu zveřejnit jej za peníze či zadarmo. Například, někdo by si od vás software koupil, ale pak by jej vystavil na své webové stránce pro širokou veřejnost.

Dovoluje mi GPL distribuovat pozměněnou verzi nebo betaverzi pod non-disclosure agreement?

Ne. GPL říká, že kdokoliv, kdo od vás obdrží kopi vaší verze, má právo redistribuovat kopie (ať již změněné či nikoliv) této verze. Nedává vám povolení distribuovat práci se žádnými dalšími omezeními.

Dovoluje mi GPL vyvinout modifikovanou verzi pod non-disclosure agreement?

Ano. Například pokud souhlasíte s kontraktem na provedení změn a přistoupíte na to, že vaše změny nebudou zveřejněny dokud to klient neschválí. Toto je dovoleno, protože v tomto případě není pod NDA distribuován žádný GPL kód.

Můžete také předat změny klientovi pod GPL, ale souhlasit s tím, že je nikomu dalšímu nezveřejníte, dokud vám k tomu klient nedá svolení. V tomto případě také není pod NDA distribuován žádný kód krytý GPL.

GPL by vašemu klientovi dala právo tuto verzi redistribuovat, ale v tomto případě se klient rozhodne toto právo neuplatňovat.

Chci za svou práci získat uznání. Chci, aby lidé věděli, co jsem napsal. Je to možné i když použiji GPL?

Jistě, že můžete získat za svou práci uznání. Součástí zveřejňování programu pod GPL je sepsání upozornění o copyrightu na vaše vlastní jméno (za předpokladu, že jste jeho vlastníkem). GPL požaduje, aby tuto zprávu obsahovaly všechny kopie.

Proč GPL požaduje přiložit kopii licence ke každé kopii programu?

Přiložit licenci je důležité, aby každý, kdo získá kopii programu věděl, jaká jsou jeho práva.

Mohlo by vás lákat pokušení vložit místo licence pouze URL, které na ni odkazuje. Nemůžete si však být jisti, že to URL bude platné ještě za pět či deset let. Za dvacet let by už internetové adresy, jak je známe dnes, vůbec nemusely existovat.

Jediný způsob, jak zajistit, že lidé, kteří mají kopie programu, budou mít vždy možnost licenci si prohlédnout, je přiložit ji k programu.

A co když program není o moc delší než sama licence?

Pokud je program tak krátký, můžete pro něj použít i jednoduchou licenci dovolující vše spíše než GNU GPL.

Mohu z GPL vypustit předmluvu a instrukce, jak ji použít na vlastní programy, abych tak ušetřil místo?

Předmluva a instrukce jsou nedílné součásti GNU GPL a nesmějí být vypuštěny. Prosím použijte celou GPL. GNU GPL je ve skutečnosti copyrightována a její licence dovoluje pouze doslovné kopírování.

Předmluva a instrukce představují přibližně 5000 znaků, což je méně než 1/3 celkové velikosti GPL. Ve velikosti software to tedy žádnou podstatnou změnu neudělá, pouze v případě, že je program velmi malý. V tomto případě pro něj můžete použít i jednoduchou licenci dovolující vše spíše než GNU GPL.

Co to znamená, když se řekne, že dvě licence jsou ,,kompatibilní''?

Abychom mohli zkombinovat dva programy (nebo jejich podstatné části) do nějakého většího celku, potřebujeme povolení použít takto oba programy. Jestli to licence těchto dvou programů dovolují, pak jsou kompatibilní. Když neexistuje žádný způsob, jak zároveň naplnit požadavky obou licencí, potom jsou vzájemně nekompatibilní.

Pro určení kompatibility některých licencí může být podstatný způsob, jakým je jejich kombinace provedena. Například mohou dovolovat linkování dvou modulů dohromady, ale nemusí povolovat spojení jejich kódu do modulu jednoho.

Co to znamená, když se řekne, že licence je ,,kompatibilní s GPL''?

Znamená to, že tato licence a GNU GPL jsou kompatibilní, že můžete kombinovat kód vydaný pod touto licencí s kódem, zveřejněným pod GNU GPL v jednom velkém programu.

GPL povoluje takové kombinování za předpokladu, že je výsledný kód licencován pod GNU GPL. Jiná licence je s GPL kompatibilní, pokud toto také dovoluje.

Píši svobodný software, který používá nesvobodné knihovny. S jakými právními problémy se setkám, pokud použiji GPL?

Pokud knihovny, které linkujete, spadají pod následující výjimku v GPL:

     However, as a special exception, the source code distributed need not
     include anything that is normally distributed (in either source or
     binary form) with the major components (compiler, kernel, and so on) of
     the operating system on which the executable runs, unless that
     component itself accompanies the executable.

potom nemusíte udělat nic zvláštního, abyste je mohli použít. Jinak řečeno, pokud knihovny, které potřebujete, pocházejí z větší části proprietárního operačního systému, GPL říká, že je lidé mohou linkovat s vaším programem.

Pokud chcete linkovat program proti knihovně nepodléhající této výjimce, je třeba přidat vaši vlastní výjimku, zcela mimo GPL. Tato poznámka ke copyrightu a poznámka k licenci povolí linkování s programem FOO:

   Copyright (C) yyyy  <name of copyright holder>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

    In addition, as a special exception, <name of copyright
    holder> gives permission to link the code of this program with
    the FOO library (or with modified versions of FOO that use the
    same license as FOO), and distribute linked combinations including
    the two.  You must obey the GNU General Public License in all
    respects for all of the code used other than FOO.  If you modify
    this file, you may extend this exception to your version of the
    file, but you are not obligated to do so.  If you do not wish to
    do so, delete this exception statement from your version.

Tuto výjimku mohou právně udělit pouze majitelé copyrightu. Pokud jste autorem celého programu vy, potom za předpokladu, že si váš zaměstnavatel či vaše škola nedělají nároky na copyright, jste jeho majitelem -- tudíž smíte výjimku přidat. Pokud však chcete ve vašem kódu použít části jiných pod GPL vydaných programů od jiných autorů, nemůžete pro ně výjimku přidat. Museli byste získat souhlas držitelů copyrightu na tyto programy.

Když program pak budou modifikovat ostatní, nemají žádnou povinnost učinit tu samou výjimku pro jejich kód -- je to jejich rozhodnutí.

Přidáním této výjimky se zbavíte právního problému, ale neučiníte nic pro vyřešení toho nejzávažnějšího problému používání nesvobodné knihovny: váš program nebude plně použitelný ve svobodném prostředí. Pokud určitá funkce vašeho programu závisí na nesvobodné knihovně, nebudeme moci tuto funkci ve svobodném světě používat. Jestli program závisí na nesvobodné knihovně úplně, nebude moci být součástí svobodného operačního systému, jako je GNU; stojí úplně za hranicemi svobodného světa.

Zvažte proto prosím: dokážete najít způsob, jak funkci implementovat bez použití této knihovny? Dokážete za tuto knihovnu napsat svobodnou náhradu?

Když je již program napsán s využitím nesvobodné knihovny, již je možná příliš pozdě měnit své rozhodnutí. Doporučujeme vám zveřejnit program tak, jak je, raději než nezveřejňovat ho vůbec. Prosíme vás ale, zmiňte v README, že má nevýhodu v potřebě nesvobodné knihobny a navrhněte, aby někdo program pozměnil tak, aby již nesvobodnou knihovnu nepotřeboval.

Také nám o této nesvobodné knihovně a jejích funkcích prosím dejte vědět na <[email protected]>. Můžeme doporučit lidem napsat svobodnou knihovnu s tou samou funkcí.

Jak získám copyright na svůj program, abych jej mohl zveřejnit pod GPL?

Dle Bernské dohody je vše napsané automaticky copyrightováno kdykoliv to nabyde nějaké podoby. Nemusíte tedy pro ,,získání'' copyrightu na vaši práci dělat vůbec nic -- pokud máte jistotu, že nemůže nikdo jiný prohlašovat, že práce je jeho.

Přesto je registrování copyrightu v USA velmi dobrý nápad. V USA to pro vás bude berlička při jednání s porušovatelem vašeho copyrightu.

Situace, kdy by se mohl někdo jiný prohlašovat za vlastníka copyrightu, nastává, pokud jste zaměstnanec či student. Váš zaměstnavatel či škola by mohl tvrdit, že jste dělali práci pro ně a copyright tak patří jim. Zda by měli pravdu, to záleží na okolnostech jakými jsou zákony země, kde žijete, na vaší pracovní smlouvě a na typu práce, který děláte. Pokud máte nějaké pochybnosti, je nejlepší konzultovat to s právníkem.

Kdykoliv si myslíte, že váš zaměstnavatel či škola by mohla později vznášet takové nároky, můžete problém vyřešit tím, že získáte dokument o vzdání se copyrightu, podepsaný nějakým oprávněným vedoucím pracovníkem společnosti či školy. (Váš přímo nadřazený šéf či profesor většinou NENÍ k takovému úkonu oprávněn.)

Co když bude má škola chtít zabudovat můj program do vlastního proprietárního produktu?

Mnoho univerzit se dnes snaží vydělávat omezováním využití znalostí a informací, které vyvíjejí. Tím se jejich chování velmi blíží chování komerčních firem. (,,The Kept University'', Atlantic Monthly, duben 2000, poskytuje obecnou diskuzi tohoto problému a jeho následků.)

Pokud je možné, že by vaše škola mohla odmítnout vydat váš program jako svobodný software, nejlepší je řešit situaci co nejdříve. Čím lépe bude program pracovat, tím větší bude pokušení správců vzít vám jej a dokončit jej bez vás. V rannějších stádiích máte více šancí.

Doporučujeme vám, abyste s nimi promluvili, až bude program napůl hotov a řekli: ,,Když budete souhlasit s tím, že to vydám jako svobodný software, dokončím to.'' Nemyslete si, že je to nějaké zastrašování. Abyste zvítězili, musíte mít odvahu říci: ,,Můj program bude mít svobodu, nebo nebude nikdy zrozen.''

Mohli byste mi dát intrukce krok za krokem, jak aplikovat GPL na můj program?

Podívejte se na instrukce k GPL.

Mohli byste mi dát instrukce krok za krokem, jak aplikovat GFDL na manuál?

Podívejte se na konec GFDL samotné a na stránku instrukce k GFDL.

Slyšel jsem, že někdo dostal kopii GPL programu pod nějakou jinou licencí, je to možné?

GNU GPL nedovoluje uživatelům připojovat k programu jiné licence. Vlastník copyrightu ale mohl program vydat paralelně pod několika různými licencemi. Jedna z nich může být GNU GPL.

Licence, která se vyskytuje u vaší kopie, za předpokladu, že ji tam umístil vlastník copyrightu a že jste získal/a kopii legitimně, je tou licencí, která se na ni vztahuje.

Rád bych vydal program, který jsem napsal, pod GNU GPL, ale chtěl bych ten samý kód použít i v nesvobodných programech.

Vydat nesvobodný program je vždy eticky špatné, ale právně neexistuje žádná překážka v tom, abyste tak učinil/a. Pokud jste vlastníkem copyrightu na kód, můžete jej vydat v různých datech v několika různých ne-exkluzivních licencích.

Je vývojář programu krytého pod GPL nějak omezen GPL? Mohlo by být chování tohoto vývojáře za nějakých okolností porušením GPL?

Striktně řečeno, GPL je licence od vývojáře, aby mohli ostatní program používat, distribuovat a měnit. Vývojář sám jí není omezen, takže ať bude vývojář dělat cokoliv, nebude to ,,porušení'' GPL.

Na druhé straně, když bude vývojář dělat něco, co by bylo porušením licence, pokud by to dělal někdo jiný, nejspíš ztratí své morální postavení v komunitě.

Může vývojář programu, který již byl distribuován pod GPL, licencovat později tento program nějaké další straně k exkluzivnímu užívání?

Ne, protože veřejnost již má právo program užívat pod GPL a tohoto práva nemůže být zbavena.

Mohu používat programy kryté GPL k vývoji nesvobodných programů? Mohu používat nástroje kryté GPL k tomu, abych tyto nesvobodné programy zkompiloval?

Ano, protože copyright na editory a nástroje nepokrývá kód, který napíšete.

Některé programy z technických důvodů kopírují na výstup části samy sebe, například Bison kopíruje program standardního parseru do výstupního souboru. V takovém případě je tento zkopírovaný text ve výstupu krytý toutéž licencí, jako zdrojový kód. Část výstupu, odvozená od vstupu programu, dědí copyright vstupních dat.

Co se ale týče Bisonu, ten může být užíván i k vývoji nesvobodných programů. Rozhodli jsme se explicitně povolit užívání standardního parseru ve výstupu Bisonu bez omezení. Takové rozhodnutí jsme učinili proto, že již existovaly jiné nástroje srovnatelné s Bisonem, které dovolovaly použití pro nesvobodné programy.

Mám práva ,,fair use'' při používání zdrojového kódu GPL programu?

Ano, máte. ,,Fair use'' je užití, které je dovoleno bez jakéhokoliv speciálního povolení. Protože pro takové užití nepotřebujete svolení vývojářů, můžete to udělat nezávisle na tom, co vývojáři říkají -- ať již v licenci nebo někde jinde, ať již ta licence bude GPL nebo nějaká jiná licence svobodného software.

Přesto je ale třeba poznamenat, že neexistuje žádný mezinárodní princip fair use. Jaké všechny způsoby použití jsou považovány za ,,fair'' se liší zemi od země.

Existuje nějaký způsob, jak bych mohl na výstup programu uvalit GPL? Například pokud by můj program byl používán k vývoji designů hardware, mohl bych požadovat, aby tyto designy byly svobodné?

Obecně řečeno, toto je právně nemožné. Copyright vám nedává žádné právo rozhodovat o tom, co mohou lidé udělat s použitím vašeho programu ze svých dat. Pokud uživatel použije váš program ke konverzi vlastních dat, pak konvertovaná data patří jemu, ne vám. Ještě obecněji, pokud program nějakým způsobem zpracovává vstup na výstup, pak copyright výstupu je zděděn z copyrightu vstupu, ze kterého byl generován.

Jediný případ, kdy byste tedy mohl ovlivnit copyright výstupu je ten, kdyby podstatné části výstupu byly kopírovány z textu vašeho programu. Například část programu Bison (podívejte se výše) by byla kryta GNU GPL, kdybychom neudělali v tomto speciálním případě výjimku.

Mohl byste uměle donutit program kopírovat určitý text do výstupu, i kdyby k tomu technicky žádný důvod nebyl. Ale když tento zkopírovaný text neslouží k ničemu praktickému, uživatel by jej mohl jednoduše z výstupu vymazat a použít pouze ten zbytek. Potom by se nemusel řídit podmínkami redistribuce kopírovaného textu.

V jakém případě je výstup z programu pod GPL taktéž krytý GPL?

Pouze pokud program do výstupu kopíruje část sebe sama.

Pokud do programu pod GPL přidám modul, musím pro něj použít také jako licenci GPL?

GPL říká, že celý kombinovaný program musí být také uvolněn pod GPL. Váš modul musí být tedy dostupný k užívání dle GPL.

Můžete však dát ještě nějaká další povolení k jeho používání. Pokud chcete, můžete vydat svůj program pod nějakou laxnější licencí, než je GPL, ale s ní kompatibilní. V seznamu licencí je částečný seznam licencí kompatibilních s GPL.

Pokud je knihovna zveřejněna pod GPL (a ne LGPL), znamená to, že program, který ji používá, musí být taktéž pod GPL?

Ano, protože program v okamžiku, kdy je spuštěn, zahrnuje i knihovnu.

Je-li interpretr programovacího jazyka vydán pod GPL, znamená to, že programy napsané tak, aby jím byly interpretovány, musí být vydány pod licencemi kompatibilními s GPL?

Pokud interpretr pouze interpretuje jazyk, pak je odpověď ne. Interpretovaný program jsou pro interpretr pouze data, licence svobodného software jako GPL, založená na copyrightovém právu, nemůže omezovat na jaká data interpretr použijete. Můžete jej použít na jakákoliv data (interpretovaný program), jakým způsobem budete chtít, a na licencování těchto dat nejsou kladeny žádné požadavky.

Pokud je ale interpretr rozšířen o poskytování vazeb s dalšími prostředky (což jsou často, ale ne vždy, knihovny), interpretovaný program je vpodstatě linkován s těmito prostředky, které používá pomocí vazeb. Pokud jsou tedy tyto prostředky vydány pod GPL, interpretovaný program musí být vydán pod nějakoku licencí s GPL kompatibilní. Příkladem je JNI nebo Java Native Interface: knihovny, ke kterým je takto přistupováno, jsou dynamicky linkovány s javovými programy, které je takto volají.

Další podobný a velmi častý případ je poskytovat s interpreterem knihovny, které jsou sami o sobě interpretovány. Například Perl poskytuje perlové moduly a implementace Javy poskytuje javové třídy. Tyto knihovny a programy, které je volají jsou k sobě vždy dynamicky linkovány.

Následek je, že pokud se rozhodnete použít GPL perlové moduly nebo javové třídy, pak musíte program uvolnit pod licencí kompatibilní s GPL, nezávisle na tom, jakou má licenci perlový či javový interpretr, na kterém tento kombinovaný perlový či javový program poběží.

Píši aplikaci pro Windows s pomocí Microsoft Visual C++ (nebo Visual Basicu) a chci jí vydat pod GPL. Je pod GPL dovoleno můj program dynamicky linkovat s run-time knihovnami Visual C++ (nebo Visual Basicu)?

Ano, protože run-time knihovna běžně doprovází překladač či interpreter, který používáte.

Proč je původní BSD licence nekompatibilní s GPL?

Protože obsahuje specifický požadavek, který v GPL není: konkrétně požadavek o oznámení změn programu. GPL říká:

    You may not impose any further restrictions on the recipients' exercise
    of the rights granted herein.

Ten článek o oznamování změn je právě takovým dalším omezením, a proto je nekompatibilní s GPL.

Revidovaná BSD licence již tuto klauzuli neobsahuje a tím je tento problém vyřešen.

Pokud program zveřejněný pod GPL používá pluginy, jaké jsou požadavky kladené na licenci těchto pluginů?

To záleží na způsobu, jakým program pluginy vyvolává. Pokud program k jejich vyvolání používá fork a exec, potom jsou to oddělené programy a licence hlavního programu je nijak neovlivňuje.

Pokud ale program pluginy dynamicky linkuje, a ty potom vzájemně volají své funkce a sdílejí datové struktury, potom si myslíme, že dohromady tvoří jediný program. V takovém případě pak musí být s pluginy nakládáno jako s rozšířením původního programu. To znamená, že musejí být vydány pod GPL nebo nějakou jinou svobodnou GPL-kompatibilní licencí.

Pokud program dynamicky linkuje plugin, ale komunikace s ním je omezena pouze na vyvolání hlavní funkce, předání určitých parametrů a čekání na výsledek, potom se jedná o případ, který stojí někde na pomezí.

Mohu použít GPL na plugin pro nějaký nesvobodný program?

Pokud program k jejich vyvolání používá fork a exec, potom jsou to oddělené programy a licence hlavního programu je nijak neovlivňuje. V takovém případě tedy na plugin můžete použít GPL a nesetkáte se s žádnými dalšími požadavky.

Pokud ale program pluginy dynamicky linkuje, a ty potom vzájemně volají své funkce a sdílejí datové struktury, potom si myslíme, že dohromady tvoří jediný program. V takovém případě pak musí být s pluginem nakládáno jako s rozšířením původního programu. To znamená, že linkování programu krytého GPL s hlavním programem by bylo porušením GPL. Situaci však můžete vyřešit tím, že k licenci vašeho programu dodáte výjimku, která dovoluje jeho využití v kombinaci s nesvobodným hlavním programem.

Chcete-li se dozvědět více detailů, podívejte se na výše uvedenou otázku, která začíná ,,Píši svobodný program, který využívá nesvobodnou knihovnu.''

Vy jste vydali pod GPL program, který bych rád slinkoval s mým kódem a vytvořil tak proprietární program. Znamená linkování s vaším programem, že i můj program musí být pod GPL?

Ano.

Jestli ano, existuje nějaká šance, že bych mohl získat licenci vašeho programu pod Lesser GPL?

Můžete se zeptat, ale většina autorů bude neústupná a řekne vám ne. Myšlenka GPL je ta, že pokud chcete ve svém programu zahrnout kód pod GPL, musí i váš program být svobodným software. Důvodem je snaha vyvinout na vás tlak, abyste svůj program uvolnili způsobem, který z něj činí součást naší komunity.

Vždy máte legální alternativu náš kód nepoužít.

Jak mohu dovolit likování proprietárních programů s mou GPL-knihovnou pouze přes kontrolované rozhraní?

Do každého souboru na konec licenčního upozornění o distribuci pod GNU GPL přidejte tento text:

    Linking FOO statically or dynamically with other modules is making a
    combined work based on FOO.  Thus, the terms and conditions of the GNU
    General Public License cover the whole combination.

    As a special exception, the copyright holders of FOO give you
    permission to link FOO with independent modules that communicate with
    FOO solely through the FOOBAR interface, regardless of the license
    terms of these independent modules, and to copy and distribute the
    resulting combined work under terms of your choice, provided that
    every copy of the combined work is accompanied by a complete copy of
    the source code of FOO (the version of FOO used to produce the
    combined work), being distributed under the terms of the GNU General
    Public License plus this exception.  An independent module is a module
    which is not derived from or based on FOO.

    Note that people who make modified versions of FOO are not obligated
    to grant this special exception for their modified versions; it is
    their choice whether to do so.  The GNU General Public License gives
    permission to release a modified version without this exception; this
    exception also makes it possible to release a modified version which
    carries forward this exception.

Napsal jsem aplikaci, která linkuje dohromady mnoho odlišných komponent s rozdílnými licencemi. Jsem velmi zmatený/á, protože nevím, jaké licenční požadavky jsou kladeny na můj program. Můžete mi, prosím, říci, jaké licence mám použít?

Abychom mohli zodpovědět tuto otázku, potřebovali bychom vidět seznam jednotlivých částí, které váš program používá, licence těchto komponent a stručný (několikavětný) popisek, jak vaše knihovna používá tyto componenty. Například:

Jaký je rozdíl mezi ,,pouhým seskupováním'' a ,,kombinováním dvou modulů do jednoho programu?''

Pouhé seskupování dvou programů znamená nahrát je vedle sebe na to samé CD-ROM či na jeden pevný disk. Tento termín používáme v případě, že se jedná o samostatné programy, ne součásti jednoho většího programu. V tomto případě, pokud je jeden z nich kryt GPL, na ten druhý to nemá žádný dopad.

Kombinovat dva moduly znamená spojovat je dohromady tak, že tvoří jeden jediný program. Když je jedna z částí krytá GPL, celá kombinace musí být také vydána pod GPL. Pokud to nemůžete nebo nechcete takto udělat, nesmíte je kombinovat.

Co znamená kombinovat dvě části v jeden program? Toto je právní otázka, kterou s konečnou platností rozhodnou až soudcové. My věříme, že správné kritérium záleží jak na způsobu komunikace (exec, roury, rpc, volání funkcí ve sdíleném adresním prostoru, atd.) a na sémantice komunikace (jaký druh informací je vyměňován).

Pokud jsou moduly zahrnuty v jednom spustitelném souboru, je jisté, že jsou kombinovány v jeden program. Pokud jsou moduly navrženy tak, aby běžely slinkované v jednom adresním prostoru, téměř jistě to znamená, že jsou zkombinované v jeden program.

Na druhou stranu roury, sokety a parametry příkazové řádky jsou komunikační mechanismy, které se normálně používají mezi dvěma oddělenými programy. Pokud je ale sémantika komunikace dostatečně důvěrná, jsou vyměňovány kompletní interní datové struktury, i toto by mohlo být základem pro považování programu za jeden velký celek.

Proč FSF požaduje po přispěvatelích jí copyrightovaných programů převedení copyrightu na ni? Pokud jsem vlastníkem copyrightu na GPL program, měl bych to dělat také? Jestli ano, jak?

Naši právníci nám řekli, že pokud chceme být u soudu v nejlepší pozici k vynucení GPL proti narušitelům, měli bychom udržovat copyrightový statut programu co nejjednodušší. Děláme to tak, že požádáme každého přispěvatele, aby buď převedl copyright na své vylepšení k FSF, nebo aby jej dal do public domain.

Také žádáme přispěvatele, aby si od svých zaměstnavatelů (pokud nějaké mají) vyžádali dokument o zřeknutí se copyrightu, abychom si mohli být jisti, že si tito zaměstnavatelé nebudou později dělat nárok na copyright těchto příspěvků.

Kdyby ale všichni přispěvatelé dali svůj kód do public domain, nebyl by žádný copyright, kterým vynucovat GPL. Proto lidem doporučujeme, aby nám copyright na velké části kódu přiřazovali a do public domain dávali jen malé změny.

Pokud se chcete snažit zabezpečit si možnost vynucování GPL na váš program, měli byste také zavést podobná pravidla. Pro více informací prosím kontaktujte <[email protected]>.

Pokud používám nějaký software, který jsem obdržel pod GNU GPL, smím jej modifikovat, vytvořit tak nový program, a ten pak komerčně prodávat?

Smíte komerčně prodávat kopie nového modifikovaného programu, ale pouze pod podmínkami GNU GPL. Například tedy musíte zpřístupnit uživatelům zdrojový program a musíte jim povolit jej modifikovat a redistribuovat tak, jak je to popsáno v GPL.

Tyto požadavky jsou podmínky pro vložení kódu krytého GPL do vašeho vlastního programu.

Pokud používám programovací jazyk C nebo C++ a kompiluji jej GCC, musím software, který napíši, uvolnit pod tou samou licencí, jako GCC?

Používání GCC neklade na licenci vašeho programu žádné požadavky.

Mohu použít GPL i na něco jiného, než jen na software?

GPL můžete použít na jakýkoliv druh práce, u kterého je jasné, co to je zdrojový kód vašeho díla. GPL jej definuje jako formu práce, ve které se dají nejlépe dělat změny.

Pro manuály, učebnice nebo jakýkoliv jiný druh práce, která je určena k výuce, doporučujeme používat řaději GFDL.

Vezměme tuto situaci:
  • X vydává verzi V1 projektu pod GPL.
  • Y přispívá k vývoji verze V2 změnami a novým kódem, který je založen na V1.
  • X chce zkonvertovat V2 na ne-GPL licenci.
Potřebuje X povolení od Y?

Ano. Y musel vydat svoji V2 verzi pod GNU GPL, protože ji založil na X-ově verzi V1. Není žádný důvod, aby Y musel souhlasit s nějakou jinou licencí pro svůj kód. Proto potřebuje X povolení od Y, aby mohl vydat kód pod nějakou jinou licencí.

Chtěl bych použít software krytý GPL v mém proprietárním systému. Mohu to udělat?

Nemůžete spojit software krytý GPL s proprietárním systémem. Cílem GPL je zajistit pro každého svobodu kopírovat, redistribuovat, pochopit a modifikovat program. Pokud byste mohl zakomponovat program krytý GPL do nesvobodného systému, mělo by to za následek, že i tento program krytý GPL by byl nesvobodný.

Systém zahrnující program krytý pod GPL je rozšířená verze tohoto programu. GPL říká, že jakákoliv rozšířená verze programu musí být také krytá pod GPL, pokud je někdy vydána. Takový požadavek klademe ze dvou důvodů: abychom zajistili, že uživatelé, kteří získají software, získají také svobody, které by měli mít, a abychom lidi povzbudili k tomu, aby nám vraceli vylepšení, která udělají.

Na druhé straně často můžete distribuovat program krytý GPL vedle vašeho proprietárního systému. Abyste to mohli udělat, musíte zajistit, aby svobodné a nesvobodné programy komunikovaly na dlouhé lokte, aby nebyly spojeny dohromady tak, že by vpodstatě tvořily jediný program.

Rozdíl mezi tímto a ,,spojením'' software krytého pod GPL s nesvobodným software je jednak otázkou podstaty a jednak otázkou formy. Část týkající se podstaty je tato: pokud jsou dva programy zkombinované tak, že se stávají dvěmi částmi jednoho programu, nemůžete s nimi jednat jako s oddělenými programy. Proto musí GPL krýt celek.

Pokud jsou oba programy dobře oddělené, jako například kompiler a jádro či editor a shell, potom s nimi můžete nakládat jako s dvěma oddělenými programy -- musíte to ale dělat pořádně. Zde je jen problém formy: jak popíšete, co děláte. Proč se o toto staráme? Protože chceme zajistit, že uživatelé přesně chápou, které programy z kolekce mají svobodný statut krytý pod GPL.

Pokud bude někdo distribuovat programy kryté GPL a nazývat je ,,součást'' systému, o kterém uživatelé vědí, že je částečně proprietární, pak by uživatelé mohli být v nejistotě ohledně jejich práv na programy pod GPL. Když ale vědí, že to, co obdrželi, je svobodný program plus vedle něj nějaký jiný, pak jsou jejich práva jasná.

Chtěl bych modifikovat programy kryté GPL a linkovat je s knihovnami pro portování od Money Guzzler Inc. Nemohu šířit zdrojový kód těchto knihoven, takže uživatel, který by chtěl změnit tyto verze, by musel získat tyto knihovny odděleně. Proč to GPL nepovoluje?

Pro to jsou dva důvody:

Ten první je obecný. Pokud bychom povolili firmě A vytvořit proprietární soubor a firmě B distribuci software krytého GPL a spojeného s tímto souborem, udělali bychom v GPL tak velkou díru, že by jí projel i náklaďák. Znamenalo by to dát jim volnou ruku v tom, aby neposkytly zdrojové kódy veškerých modifikací a rozšíření software krytého GPL.

Jedním z našich hlavních cílů je poskytnout všem uživatelům přístup ke zdrojovému kódu, takže se takového následku samozřejmě chceme vyvarovat.

Konkrétnější důvod spočívá v tom, že verze programů linkovaných s knihovnami Money Guzzler by nebyly svobodným software tak, jak tento termín chápeme my. Neměly by úplný zdrojový kód, který by uživatelům umožnil program měnit a a rekompilovat.

Chci distribuovat binární verzi GPL programu bez zdrojových kódů. Místo toho, abych musel později posílat zdrojové kódy uživatelům, kteří si to objednají, stačí umístit zdrojové kódy na internetový server?

Uvítáme, když zpřítupníte zdrojové kódy jakékoliv verze GPL programu přes anonymní FTP, ale to k naplnění sekce 3 Všeobecné veřejné licence GNU nestačí.

Když uživatel řekne, že chce zdrojový kód, musíte mu jej poskytnout. Pokud může od vás nějaký konkrétní uživatel pohodlně získat zdrojový kód přes anonymní FTP, dobře, splní to svůj úkol. Ale ne všichni jsou na síti. I zbytek uživatelů má stejné právo získat od vás zdrojový kód. Musíte tedy být připraven jim kód zaslat na disketě nebo na pásce poštou.

Nejsnazší je samozřejmě zaslat zdrojový kód rovnou s binární verzí.

Mohu umístit binární soubory na svůj internetový server a zdrojový kód na jiný?

GPL říká, že musíte nabídnout přístup ke zdrojovým kódům ,,z téhož místa'', to znamená, vedle binárních souborů. Pokud však uzavřete s jiným serverem dohodu, že bude poskytovat potřebné zdrojové kódy, a umístíte vedle binárních souborů link nebo křížový odkaz na toto místo, myslíme, že to je dostatečné pro naplnění věty ,,z téhož místa.''

Povšimněte si ale, že nestačí najít nějaký jiný web, který náhodou má příslušné zdrojové kódy nyní také, a říci lidem, ať se podívají tam. Zítra by mohly být zdrojové kódy na tom webu již smazány, nebo jednoduše nahrazeny novější verzí toho samého programu. Tím byste se dostali do rozporu s požadavky GPL. Abyste vyvinuli rozumnou snahu být v souladu s těmito požadavky, musíte podepsat s druhým webem dohodu a tak zajistit, že zdrojové kódy tu budou tak dlouho, dokud budete distribuovat binární verzi.

Chci distribuovat rozšířenou verzi programu krytého pod GPL v binární formě. Stačí distribuovat pouze zdrojové kódy původní verze?

Ne, musíte poskytnout zdrojový kód, který odpovídá binárním souborům. Odpovídající kód znamená kód, ze kterého mohou zkompilovat uživatelé identické binární soubory.

Jedna z částí myšlenek stojících za svobodným software je ta, že uživatelé by měli mít přístup ke zdrojovým kódům *programů, které používají*. Proto by při používání vaší verze měli mít zdrojové kódy této verze.

Vyšším úkolem GPL je budovat svobodný svět tím, že zajistí, aby vylepšení svobodných programů byla také svobodná. Kdykoliv vydáte vylepšenou verzi programu pod GPL, musíte tyto vylepšené zdrojové kódy vydat také pod GPL.

Chci distribuovat binární verzi, ale distribuce kompletních zdrojových kódů bych se rád vyvaroval. Co kdybych uživatelům dal spolu s binárními soubory diffy zdrojových kódů oproti aktuální verzi dostupné z FSF a doporučil jim, ať základ získají odsud?

To je dobře myšlený požadavek, ale tato metoda zprostředkování zdrojového kódu ve skutečnosti nefunguje.

Uživatel, který bude chtít získat zdrojové kódy třeba za rok již nemusí mít možnost získat od FSF odpovídající zdrojové kódy. Můžeme již distribuovat novější verzi a ty samé diffy na ni pravděpodobně již nebudou fungovat.

Je tedy třeba, abyste distribuovali kompletní zdrojové kódy, ne pouze diffy.

Chci zpřístupnit binární kódy přes anonymní FTP, ale zasílat zdrojové kódy pouze lidem, kteří si je objednají.

GPL trvá na tom, aby redistributoři binárních souborů bez zdrojových kódů poskytli psanou nabídku zaslat na požádání zdrojové kódy, protože to je jediný způsob, jak můžeme opravdu zajistit, že uživatelé zdrojové kódy dostanou.

Pokud tedy chcete distribuovat binární soubory přes FTP, musíte spolu s nimi distribuovat i zdrojové kódy. To by neměl být problém. Když dokážete najít server, který bude distribuovat váš program, určitě můžete najít nějaký, který bude mít místo i pro zdrojové kódy.

Zdrojové kódy, které poskytujete, musejí přesně odpovídat binární verzi. Konkrétně musíte zabezpečit, aby byly pro tu samou verzi programu -- ne starší ani novější.

Můžete zdrojové kódy zpřístupnit z různých strojů pod podmínkou, že je stejně snadné se k nim dostat, a za předpokladu, že vedle binární verze poskytnete informaci, kde zdrojové kódy hledat.

Jak můžu zajistit, aby každý uživatel, který si stáhne binární verzi, dostal také zdrojový kód?

Toto nemusíte zajišťovat. Dokud poskytujete vedle binárních souborů také zdrojové kódy a uživatelé se mohou podívat a rozhodnout vzít si, co chtějí, splnil/a jste svoji povinnost. Rozhodnutí, zda si zdrojový kód stáhnout, je na uživateli.

Naše požadavky na redistribuci jsou zamýšleny tak, abychom zajistili každému uživateli možnost získat zdrojové kódy, ne abychom jej nutili si je stáhnout, když nechtějí.

Proč jsou některé knihovny kryty klasickou GPL a ne Lesser GPL?

Užití Lesser GPL pro nějakou konkrétní knihovnu znamená pro svobodný software ústup. Znamená to, že jsme částečně upustili od požadavku ochránit uživatelovy svobody a požadavku sdílet vše, co je vybudováno na software krytém GPL. To jsou samy o sobě změny k horšímu.

Občas je ale lokální ústup dobrou stategií. Někdy pomůže užití LGPL u knihovny jejímu většímu rozšíření a to jí zas přinese více vylepšení, lepší podporu svobodného software a podobně. To může být pro svobodný software přínosem, pokud se to bude dít ve velké míře. Ale bude to opravdu tak? O tom můžeme pouze spekulovat.

Bylo by hezké zkusit každou knihovnu na chvíli uvolnit pod LGPL, podívat se, jestli to pomáhá, a případně přejít zpět na GPL. To ale není proveditelné. Jakmile jednou pro nějakou knihovnu použijeme LGPL, změnit to nazpět by bylo velmi obtížné.

Proto se rozhodujeme případ od případu, jakou licenci na knihovnu použít. Zde je dlouhé vysvětlování toho, jak to posuzujeme.

Chtěli bychom používat určitý program GNU v našem projektu proprietárního software, ale nehodí se nám GPL. Učiníte pro nás výjimku? Přineslo by to tomu programu více uživatelů.

Omlouváme se, ale takové výjimky neděláme. Nebylo by to spravedlivé.

Naším cílem není maximalizovat počet uživatelů. Radši se snažíme co nejvíce uživatelům zajistit základní svobody. V tomto cíli nám projekty proprietárního software spíše překážejí, než aby nám pomáhaly.

Občas děláme výjimky, abychom pomohli projektu, který vytváří svobodný software pod jinou licencí než GPL. Musíme však vidět dobrý důvod, proč to nějak pomůže cíli hnutí svobodného software.

Občas také měníme distribuční podmínky nějakého balíku, když to jasně vypadá jako správný způsob, jak pomoci cíli svobodného software. Jsme s tím ale velmi opatrní a budete nám muset předložit velmi přesvědčivé důvody, abychom to udělali.

Proč by na programech mělo být ,,Version 2 of the GPL or any later version'' (GPL verze 2 nebo jakákoliv pozdější)?

Čas od času, a ty intervaly jsou roky, měníme GPL -- občas abychom ji vyjasnili, občas abychom povolili nějaké způsoby užití, které dříve povoleny nebyly, a někdy také proto, abychom zpřísnili nějaký požadavek. (Poslední změna proběhla roku 1991.) Tím, že použijete v každém programu tento ,,nepřímý odkaz'', nám umožníte změnit distribuční podmínky celé kolekce software GNU, kdykoliv GPL zaktualizujeme.

Kdyby toto upozornění na programech nebylo, museli bychom každou změnu dlouze diskutovat s mnoha vlastníky copyrightu, což by bylo prakticky nemožné. Neexistovala by tak žádná možnost, jak udržet podmínky distribuce GNU software konzistentní.

Přepokládejme, že je na programu napsáno ,,GPL verze 2 nebo jakákoliv pozdější verze'' a byla vydána nová verze GPL. Pokud nová GPL dává nějaká další povolení, pak tato povolení budou všem uživatelům okamžitě k dispozici. Jestli ale nová verze nějaký požadavek zpřísní, užívání stávajících verzí programů to nijak neomezí, uživatelé jej mohou stále používat pod pomínkami verze 2. Když program říká ,,Verze 2 GPL nebo jakákoliv pozdější verze'', uživatelé budou mít možnost používat ho pod podmínkami GPL verze 2, i kdyby byla vydána nová verze GPL.

Když však nebudou muset uživatelé tato přidaná omezení u existujícího software respektovat, k čemu to bude dobré? Když již bude GPL verze 3 jednou vydána, vývojáři většiny GPL programů uvolní jejich další verzi s copyrightem ,,Dle GPL verze 3 nebo jakékoliv pozdější verze.'' Potom budou muset uživatelé v dalších verzích programu již následovat podmínky GPL verze 3.

Na druhé straně, vývojáři nejsou povinni toto udělat. Pokud jim to lépe vyhovuje, mohou dovolit uživatelům využívat i předchozí verze GPL.

Proč nepoužívat GPL pro manuály?

Sice je možné GPL pro manuály použít, ale Licence svobodné dokumentace GNU (GNU Free Documentation Licence, GFDL) je pro ně mnohem lepší.

GPL byla navrhnuta pro programy. Obsahuje mnoho komplexních ustanovení, které jsou důležitá pro programy, ale které pro knihy či manuály nemají vůbec žádný význam. Z opačného pohledu, GFDL zase obsahuje ustanovení, které pomáhají nakladatelům svobodných manuálů na nich vydělat.

Povolujeme změny v těch částech textu, které pokrývají nějaká technická témata, ale nedovolujeme změny v sekcích, které citují něčí právní, politický etický postoj. To děláme tak, že explicitně označíme sekce, které nesmí být modifikovány. GFDL stanoví jistá opatření týkající se těchto ,,neměnných sekcí'', GPL by je nedovolovala.

Je důležité povolit změny v technických sekcích dokumentace, aby kdokoliv, kdo provede nějakou změnu v programu, mohl odpovídajícím způsobem také upravit dokumentaci. Nemůžeme po nikom požadovat, aby to udělal, ale doufáme, že tomu tak bude, neměli bychom v tom bránit.

Existují překlady GPL do jiných jazyků?

Bylo by užitečné mít takové překlady GPL do jazyků jiných, než je angličtina. Lidé dokonce i vytvořili překlady a poslali nám je. My jsme se ale nikdy neodvážili je oficiálně potvrdit za platné. To s sebou nese takové riziko, že si je netroufáme přijmout.

Právní dokument je jistým způsobem podobný programu. Překládat ho je jako překládat program z jednoho programovacího jazyku do jiného. Může to udělat jedině právník s dobrou znalostí obou jazyků a i přesto je zde riziko, že se vloudí nějaká chyba.

Kdybychom oficiálně schvalovali překlady GPL, dávali bychom každému povolení dělat cokoliv, co ten překlad říká, že dělat mohou. Pokud by překlad byl úplně přesný, je vše vpořádku. Kdyby v něm ale byla nejaká chyba, výsledkem by mohla být pohroma, kterou bychom již nemohli napravit.

Když je v programu chyba, můžeme vydat novou verzi a stará verze časem víceméně zmizí. Ale jak jednou dáme někomu povolení chovat se v souladu s nějakým konkrétním překladem, neexistuje způsob, jakým bychom mu mohli toto povolení později odebrat, když zjistíme, že to byla chyba.

Lidé, kteří chtějí pomoci, nám čas od času nabízejí pomoc s překladem. Kdyby bylo problémem jen najít někoho, kdo by překlad provedl, tímto by byl vyřešen. Opravdový problém ale tkví v riziku chyby, a nabídka pomoci toto riziko nijak nesníží. Ani náhodou pak nemůžeme autorizovat překlad, který není napsaný právníkem.

Proto v součastnosti neschvalujeme překlady GPL jako globálně platné a závazné. Místo toho děláme dvě věci:

Pokud má interpretr programovacího jazyka licenci, která není kompatibilní s GPL, mohu na něm spouštět GPL programy?

Pokud interpretr pouze interpretuje jazyk, pak je odpověď ano. Interpretovaný program jsou pro interpretr pouze data, GPL nijak neomezuje, jakými nástroji program zpracováváte. Když je ale interpretr rozšířen o poskytování vazeb s dalšími prostředky (což jsou často, ale ne vždy, knihovny), interpretovaný program je vpodstatě linkován s těmito prostředky, které používá pomocí vazeb. Příkladem je JNI nebo Java Native Interface: knihovny, ke kterým je takto přistupováno, jsou dynamicky linkovány s javovými programy, které je takto volají. Pokud jsou tedy tyto prostředky vydány pod GPL-nekompatibilní licencí, je to jako každá jiná situace při linkování s GPL-nekompatibilní knihovnou. To znamená, že:
  1. Pokud píšete kód a uvolníte ho pod GPL, můžete udělit explicitní výjimku, která dává povolení linkovat ho s těmito GPL-nekompatibilními zdroji.
  2. Pokud jste napsal/a program a vypustil/a jej pod GPL, a navrhl/a jej speciálně k tomu, aby pracoval s těmito prostředky, lidé to mohou považovat jako implicitní výjimku, která jim dovoluje linkování s těmito prostředky. Jestli to ale takto myslíte, je lepší uvést to explicitně.
  3. Nemůžete vzít kód něčího programu krytého GPL a takto jej používat nebo do něj přidávat takovéto výjimky. Výjimky mohou přidávat pouze vlastníci copyrightu na program.

Kdo má moc prosazovat GPL?

Jelikož je GPL copyrightovou licencí, moc vynucovat ji mají vlastníci copyrightu na daný konkrétní software. Pokud se setkáte s porušením GPL, měli byste informovat vývojáře daného programu. Buď jsou vlastníky copyrightu oni, nebo jsou s nimi nějak spojeni.

Pokud v nějakém objektově orientovaném programovacím jazyku, jako je Java, použiji třídu pod GPL a nebudu ji modifikovat ani z ní odvozovat třídy nové, jakým způsobem GPL ovlivňuje celý program?

Odvozování od třídy je vytvářením odvozené práce. V tom případě platí podmínky GPL na celý program, ve kterém vytváříte podtřídu té GPL třídy.

Když portuji svůj program do GNU/Linuxu, znamená to, že jej musím uvolnit jako svobodný software pod GPL nebo nějakou jinou licencí svobodného software?

Obvykle je odpověď ne -- není to právní požadavek. Odpověď ale záleží na tom, jaké knihovny používáte a jaké jsou jejich licence. Většina systémových knihoven používá buď GNU Lesser GPL nebo GNU GPL obsahující výjimku, povolující linkování s čímkoliv. Tyto knihovny mohou být využívány v nesvobodných programech, ale v tomto konkrétním případě má Lesser GPL určité požadavky, kterými se musíte řídit.

Některé knihovny jsou zveřejněny pod GNU GPL bez výjimek. Jestli je chcete používat, musíte použít licenci kompatibilní s GPL. Takové knihovny jsou ale většinou specializované a na jiných platformách neexistují, takže co se týče pouze portování, zřejmě je nebudete vůbec potřebovat.

Váš software však samozřejmě není příspěvkem do naší komunity, dokud není svobodný. Lidé, kteří si váží hodnoty svobody jej odmítnou používat. Užitek z něj budou mít pouze lidé, kteří budou ochotni své svobody se vzdát. To znamená, že váš software bude v praxi fungovat jako lákadlo pro lidi, aby se svobody vzdali.

Jestli se budete chtít jednoho dne ohlédnout za svou kariérou a cítit, že jste nějak pomohli růstu dobré svobodné společnosti, měli byste udělat váš software svobodným.

Zrovna jsem zjistil, že jedna společnost má kopii programu pod GPL a musím platit, abych ji dostal. Neporušují GPL tím, že jej nedají volně k dispozici na internetu?

Ne. GPL po nikom nepožaduje, aby použil k distribuci internet. Ani po nikom nepožaduje, aby program redistribuoval. A i když se někdo rozhodne program redistribuovat, tak (mimo jeden speciální případ) GPL neříká, že musí distribuovat kopii zrovna vám nebo nějaké jiné konkrétní osobě.

GPL požaduje to, aby člověk, který software obdrží, měl svobodu distribuovat vám program, když chce. Jakmile jednou vlastník copyrightu někomu program distribuuje, tento člověk jej může distribuovat vám či komukoliv jinému podle toho, jak uzná za vhodné.

Mohu vydat program s licencí, která říká, že můžete distribuovat modifikované verze pod GPL, ale nesmíte pod GPL distribuovat verzi originální?

Taková licence by si protiřečila. Podívejme se, jaké by měla implikace pro uživatele.

Předpokládejme, že začnu s originální verzí (budeme ji nazývat A), přidám nějaký kód (řekněme 1000 řádek) a vydám tuto modifikovanou verzi (říkejme jí B) pod GPL. GPL tvrdí, že kdokoliv může opět změnit verzi B a vydat výsledek pod GPL. Takže já (nebo někdo jiný) smažu těchto tisíc řádek a tím vytvořím verzi C, která má tentýž kód jako A, ale je nyní krytá GPL.

Pokud se pokusíte tuto cestu zablokovat tím, že v licenci explicitně zakážete reprodukci původní kopie identické s A pod GPL vymazáním těch řádek z B, licence vpodstatě říká, že nesmím plně využívat verzi B všemi způsoby, jaké povoluje GPL. Jinými slovy, licence ve skutečnosti nedovoluje, aby uživatel vydal modifikovanou verzi B pod GPL.


[ Anglicky | Francouzsky | Italsky | Korejsky | Polsky | Portugalsky ]
Návrat na domovskou stránku GNU.

FSF & GNU informace & otázky na [email protected]. Další možnost jak kontaktovat FSF.

Komentáře k těmto web stránkám na [email protected], jiné otázky zasílejte na [email protected].

Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA

Doslovné kopírování a šíření tohoto celého dokumentu na jakémkoliv médiu je dovoleno v případě, že bude toto upozornění zachováno.

Updated: $Date: 2005/05/05 19:37:12 $ $Author: novalis $