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.
Zkratku GNU GPL vyslovujeme jako [gnú dží pí el].
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 <maintainers@gnu.org>.
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ů.
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.
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.
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.
Ať již uděláte to či ono, modifikovanou verzi programu musíte distribuovat pod GPL.
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.
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.
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.
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.
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.
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.
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 <tasks@gnu.org>. Můžeme doporučit lidem napsat svobodnou knihovnu s tou samou funkcí.
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.)
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.''
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.
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ě.
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.
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ě.
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.
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 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ěží.
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 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í.
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.''
Vždy máte legální alternativu náš kód nepoužít.
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.
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.
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 <licensing@gnu.org>.
Tyto požadavky jsou podmínky pro vložení kódu krytého GPL do vašeho vlastního programu.
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.
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á.
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.
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í.
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.
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.
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.
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.
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í.
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.
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.
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.
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.
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:
To znamená, že lidem povolujeme vytvořit neoficiální překlad GPL, ale neschválíme ho jako právně platný a závazný.
Neschválený překlad nemá žádnou právní moc a mělo by to v něm být explicitně uvedeno. Měl by být označen takto:
Tento překlad GPL je neformální a není oficiálně schválený Nadací pro svobodný software jako platný. Pokud si chcete být naprosto jisti, co je a není dovoleno, nahlédněte do originální GPL (v angličtině).
Neschválené překlady však mohou posloužit jako rada ke správnému porozumění anglické GPL. Pro mnoho uživatelů je to postačující.
Přesto by si ale měli obchodníci používající GNU software ve svých komerčních aktivitách a lidé, kteří GNU software veřejně distribuují na ftp, prostudovat opravdovou anglickou GPL a ujistit se, co všechno je dovoleno.
Uvažujeme o tom, že bychom publikovali překlady, které by byly právně platné pouze v jedné zemi. Tímto způsobem bychom zajistili, že pokud je v překladu nějaká chyba, bude omezena na tuto jednu zemi a celková škoda nebude tak velká.
I to by ale vyžadovalo značnou odbornost a úsilí nějakého sympatizujícího schopného právníka, než by byl takový překlad hotov, takže nic takového nemůžeme v nejbližší době slíbit.
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.
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é.
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.
FSF & GNU informace & otázky na gnu@gnu.org. Další možnost jak kontaktovat FSF.
Komentáře k těmto web stránkám na webmasters@www.gnu.org, jiné otázky zasílejte na gnu@gnu.org.
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 $