Čtvrté pokračování seriálu o open source softwaru [1] věnoval Luděk Matyska problematice softwarových patentů. Je docela dobře možné, že právě neblahé prolínání patentové ochrany do sféry autorského práva bude velkou překážkou rozvoje open source softwaru, a nejen jeho. Souboj na evropském patentovém poli v poslední době připomíná houpačku: Evropská komise a Rada EU se nadále snaží obejít odmítavé stanovisko Evropského parlamentu a prosadit co nejdříve svou verzi směrnice "o patentovatelnosti vynálezů realizovaných počítačem", která by otevřela značné možnosti pro skryté patentování počítačových programů. Je povzbudivé, že český Senát ve svém usnesení z 31. března 2005 podpořil odmítavé stanovisko EP a doporučil vládě zasadit se o demokratické a neuspěchané projednání této otázky v orgánech EU a trvat na jasném odmítnutí počítačových programů jakožto předmětu patentové ochrany. Velkou iniciativu v boji proti softwarovým patentům vyvíjí také poslankyně EP Zuzana Roithová, viz její webové stránky1. V polovině května 2005 se legislativní výbor EP rozhodl požádat o pomoc právní experty a připojit ke směrnici dodatky, které by zcela jednoznačně znemožňovaly patentování "čistých" počítačových programů. Takže uvidíme...
V tomto článku se však chci vrátit zpět k problematice softwarových licencí a detailněji analyzovat úhelný kámen svobodného softwaru - Obecnou veřejnou licenci GNU (GNU GPL). Pokusím se vysvětlit její hlavní zásady, problémy její aplikace v našem autorském právu a také pravděpodobný budoucí vývoj, který bude zřejmě - světe div se - mimo jiné velmi významně reflektovat otázku softwarových patentů. Zdůrazňuji, že jako laik obojího práva si nedělám nárok na správnost svých právních interpretací a uvítám v tomto směru kritické vyjádření autorskoprávních expertů.
Obecná veřejná licence GNU je na první pohled trochu zvláštní tím, že kromě obvyklých formulací práv a povinností uživatelů obsahuje i vysvětlení záměru a návod k použití. Takové pasáže v jiných softwarových licencích najdeme stěží. Je to především tím, že GNU GPL není určena pouze jako licence k programům Free Software Foundation, nýbrž je nabízena k použití i jiným autorům, kteří píší svobodný software a nepřejí si jeho využití v programech, které by už svobodné nebyly.
Poselství GNU GPL je v tomto směru celkem jasné a v ideálním světě by proto mohlo stačit stručné a jasné vyjádření takového záměru autora. Realita je bohužel jiná, a tak musí GPL nasadit legislativní páky, které mají zabránit všelijakým chytrákům v obcházení autorovy vůle. Hlavním trikem je tzv. copyleft, o němž jsem se zmínil již v úvodním článku tohoto seriálu: software se opatří copyrightem (tedy výhradním právem kopírování) tak, jak je v anglosaském právním systému obvyklé, licenční podmínky však zároveň umožní komukoli studovat zdrojový kód a program v podstatě libovolně používat, kopírovat, modifikovat a dále šířit - ovšem za předpokladu, že všechna odvozená díla poskytnou svým uživatelům tatáž výše uvedená práva.
Čeští právníci se vesměs shodují na tom, že v našem právním systému se GPL ve svém původním znění nehodí jako přímý podklad pro licenční smlouvy. Podrobnější argumentaci je možno nalézt například v článku [2]. Sdružení ZASTUDENA.cz připravilo upravený český překlad GNU GPL, který licenci přizpůsobuje platnému autorskému zákonu 121/2000 Sb. Takovýto postup má ovšem podle mého názoru také své nevýhody. Originální anglická verze GNU GPL je podepřena autoritou FSF i vahou desítek tisíc programů, které ji používají (jen na serveru freshmeat.net je jich asi dvacet tisíc). A nejedná se přitom zdaleka jen o programy napsané v USA či Velké Británii. Je proto otázka, nakolik je účelné uchylovat se k jinému, téměř neznámému licenčnímu textu, který takovéto zázemí nemá.
Případné nekompatibilní formulace GNU GPL ale podle mého názoru nepředstavují fakticky žádný velký problém. Pokud to totiž jako autor programu myslím s GPL opravdu vážně, nemám se v podstatě čeho obávat: uživatel se buď může podřídit GPL, což je mým záměrem, anebo musí respektovat obecná ustanovení autorského zákona, která kopírování a jiné činnosti povolené v GPL zakazují. Teoreticky hůře by na tom mohl být uživatel, pokud by se v dobré víře řídil ustanoveními GPL a proradný autor by posléze prohlásil licenci za neplatnou a žaloval uživatele z porušení autorského zákona. Nedovedu si ovšem představit, jak by takový autor-padouch mohl s podobnou žalobou uspět, když de facto uživatele uvedl neplatnou licencí v omyl. Otázka platnosti či neplatnosti GPL tak může mít zásadní význam jen pro právníky firem, které se pokoušejí GPL obejít anebo balancovat na hraně toho, co GPL povoluje.
O tom, že GNU GPL má svou právní sílu i v zemích s autorským právem vycházejícím z revidované bernské úmluvy z r. 1971 (kam patří i ČR), svědčí zkušenost z Německa: Zemský soud v Mnichově vydal již dvě opatření proti firmám Sitecom a Fortinet, které GPL porušily tím, že ve svých výrobcích užívaly upravený Linux bez toho, že by zveřejnily zdrojový kód svých modifikací. Je třeba říci, že v obou případech dotyčné firmy své "opomenutí" napravily. Bližší informace k oběma případům lze najít na www.gpl-violations.org.
Jednou z dlouhodobě sporných otázek interpretace licence GPL je pojem odvozeného díla (v angličtině derivative work). Náš autorský zákon 121/2000 Sb. jej nijak nedefinuje, pouze v §2, odst. 4 uvádí, že
Předmětem práva autorského je také dílo vzniklé tvůrčím zpracováním díla jiného, včetně překladu díla do jiného jazyka. Tím není dotčeno právo autora zpracovaného nebo přeloženého díla.
Termín "derivative work" použitý v originálu GNU GPL má naproti tomu přímou oporu v autorském právu USA. US Code uvádí v titulu 17, kapitole 1 a §101 toto (přeložil LL): <
"Odvozené dílo" je dílo založené na jednom či několika dříve existujících dílech. Může jím být překlad, hudební aranžmá, dramatizace, beletrizace, filmová verze, zvuková nahrávka, umělecká reprodukce, zkrácená nebo zhutněná verze či jakákoli jiná forma, v níž může být dílo prezentováno anebo do níž může být transformováno či adaptováno. Dílo sestávající z edičních úprav, poznámek, rozvinutí či jiných modifikací, které jako celek představují originální autorské dílo, jsou "odvozeným dílem".
V případě specifických děl, jimiž jsou počítačové programy, nám však ani tato definice příliš nepomůže. Vyplývá z ní ovšem nepochybně, že program vzniklý modifikací zdrojového kódu předlohy je odvozeným dílem, ale jak je tomu v jiných případech? Je spojení programu s knihovnou, jež je chráněna GPL, dílem odvozeným z této knihovny? Záleží na tom, je-li toto spojení (linking) statické, dynamické anebo má dokonce formu vzdáleného volání procedury (RPC) po síti? Tyto a podobné otázky si často kladou ti, kdo mají zájem o využití nějakého programu pod GPL, ale přitom nemohou nebo nechtějí zveřejnit svůj zdrojový kód.
Lawrence Rosen [3] uvádí následující orientační kritéria, podle nichž lze rozhodnout, zda je daný program odvozeným dílem:
Zdůrazněme, že výše uvedená kritéria se tak docela nekryjí s názorem Richarda Stallmana a FSF, zejména proto, že otevírají cestu k poměrně snadnému obcházení GPL. Kupříkladu lze vzít program pod GPL, přidat k němu minimální API pro připojování modulů a výsledek publikovat opět pod GPL. O porušení licence nemůže být zatím ani řeči, ovšem modifikovaný program se tím otevírá rozšířením, která by podle Rosenova výkladu nemusela podléhat GPL. Takové a podobné případy tvoří nepříjemnou šedou zónu, v níž se právní názory liší a definitivní stanovisko v každém konkrétním případě by musel zaujmout až soud.
Výše uvedený scénář byl již prokazatelně a opakovaně použit v jádře
Linuxu, které jako celek podléhá licenci GPL. Jak je všeobecně známo,
Linux umožňuje už drahnou dobu (tuším od verze 1.2) připojovat k jádru
za běhu moduly s nejrůznějšími funkcemi, od ovladačů zařízení přes
souborové systémy až po základní věci jako je třeba přidělování
paměti. Linus Torvalds v minulosti opakovaně vyhlásil, že tyto moduly
nedědí automaticky licenci GPL, pokud ovšem využívají pouze
"oficiální" rozhraní jádra, tj. zejména systémová volání. Jenomže:
vezmeme-li v úvahu distribuovaný charakter vývoje jádra, kdo je
vlastně schopen určit, co je oficiální součástí jádra a co již ne?
Známým případem je třeba ovladač pwc
pro USB kamery Philips,
který byl složen ze dvou částí, u jedné z nichž nemohl být z důvodu
výrobcových licenčních omezení zveřejněn zdrojový kód. Druhá část
ovladače proto (vedle realizace části funkcí) také připravila
"háčky" pro připojení proprietární části ovladače. Ovladač v této
podobě existoval poměrně dlouhou dobu, než se prosadil názor - podle
mého správný - že tento ovladač porušuje GPL, a proto byl z jádra
odstraněn. Jeho autor se tímto krokem cítil velmi dotčen a vyvolal v
poštovní konferenci linux-kernel poměrně ostrou
diskusi. Nakonec se ale ukázalo, že ovladač lze napsat i v licenčně
čisté a navíc i technicky lepší podobě.
V hlavní distribuci jádra Linuxu je tedy ještě celkem možné prosadit zásady, které zabrání erozi GPL. Daleko horší je to ale v případě samostatných zařízení, které používají Linux uvnitř a mohou si jej jakkoli upravovat i bez souhlasu Torvaldse nebo jiných vývojářů jádra. Byli bychom možná překvapeni, kolik takových zařízení dnes na trhu najdeme: jsou to různé směrovače WiFi, datové projektory atd. V těchto případech často není ani snadné prověřit, v jaké podobě byl program chráněný GPL použit.
Pro speciální účely vypracovala FSF jinou licenci, která se nazývá "Menší obecná veřejná licence GNU" (LGPL, Lesser General Public License). V jejím původním názvu bylo místo "Lesser" použito slovo "Library", čímž bylo naznačeno předpokládané hlavní užití této licence pro ochranu softwarových knihoven. Změnou názvu chtěla FSF zdůraznit nejen to, že licence může být použita i pro jiné programy než knihovny, ale také - a možná hlavně - že softwarové knihovny mohou být v mnoha případech chráněny standardní GPL.
Stanovisko FSF vůči programům používajícím knihovny je v LGPL vyjádřeno zhruba takto: Program, který je napsán tak, že vůbec nevyužívá zdrojový text knihovny, není dílem odvozeným z knihovny, ale "dílem využívajícím knihovnu". Proto se jej netýká (jakákoli) licence, s níž je šířena knihovna. Složitější (ale velmi častý) případ nastane tehdy, používá-li program hlavičkové soubory, které jsou součástí knihovny. V LGPL se uvádí, že program není považován za dílo odvozené z knihovny v případě, že se z hlavičkových souborů používají pouze číselné parametry, schémata a přístupové body datových struktur, malá makra a malé in-line funkce (dlouhé nejvýše deset řádků).
Jakmile se však program "spojí" s knihovnou do binární formy, výsledek už je dílem odvozeným z knihovny. Je-li tedy knihovna chráněna GPL, lze výsledný binární program šířit pouze za předpokladu splnění podmínek GPL.
Licence LGPL je méně restriktivní v tom smyslu, že umožňuje spojit program s knihovnou a výsledek šířit pod jakoukoli licencí a třeba jen v binární podobě. Musí se ale přitom poskytnout (nebo nabídnout bezplatné poskytnutí) zdrojový kód knihovny, popřípadě použít vhodný mechanismus sdílené knihovny. V posledním případě se předpokládá, že si uživatel knihovnu nainstaluje nezávisle na programu.
Samozřejmě jakékoli úpravy vlastní knihovny již dědí její licenci, tedy LGPL. V textu LGPL je rovněž výslovně uvedeno, že autor modifikované verze může, bude-li chtít, změnit její licenci na GPL.
Zřejmě největším nedostatkem Obecné veřejné licence GNU (verze 2) je její citelné zastarávání. Text GPL je, až na drobné kosmetické úpravy, starý téměř patnáct let. Uvědomíme-li si, že v té době neexistoval web ani Linux, je docela obdivuhodné, že GPL si i po tak dlouhé době udržuje své výsadní místo.
Řešení některých nejpalčivějších problémů však nelze dále odkládat, a proto skupina expertů koordinovaných nadací FSF započala práci na přípravě nové verze GPL (zřejmě půjde o verzi 3). Zatím nebyl publikován žádný návrh jejího textu, podle dílčích náznaků některých osob, které se na přípravě podílejí, se ale zdá, že hlavní změny můžeme čekat v těchto oblastech:
První návrh textu GPL verze 3 se očekává ještě během roku 2005. Záměrem FSF je podrobit novou licenci před jejím přijetím velmi zevrubné diskusi za účasti všech zainteresovaných skupin včetně softwarového průmyslu. Výsledkem by pak měla být licence přijatelná pro daleko širší okruh producentů softwaru a také lépe slučitelná s jinými licencemi svobodného softwaru. Tím by se také mohl eventuálně zredukovat už poměrně nepřehledný a stále rostoucí počet licencí typu FOSS (Free or Open Source Software). Jisté je ovšem také to, že nová GPL rozhodně nepůjde proti přesvědčení Richarda Stallmana, a tak žádné průlomové změny nečekejme.
V pěti pokračováních seriálu o svobodném a open source softwaru jsme se dotkli většiny hlavních zásad i sporných otázek tohoto stále významnějšího segmentu informační společnosti. Je dobře, že se v druhém pokračování dostalo i na hlas z opačného břehu, přece jen dialog je pro čtenáře jistě zajímavější, a že jsme se neomezili je na otázky licencí a autorských práv a zdůraznili potenciální nebezpečí softwarových patentů.
Nerad bych ale tímto seriál definitivně ukončil. Názory tří zúčastněných autorů jistě ani zdaleka tuto problematiku nevyčerpávají. Kupříkladu zcela chyběl hlas zastánců licencí typu BSD, které mají právě v brněnské akademické komunitě velmi silnou pozici. Nechme proto tomuto seriálu otevřený konec! Určitě bude zajímavé se k tématu po čase vrátit.
[1] | MATYSKA, L. Softwarové patenty. Zpravodaj ÚVT MU 15(4), Brno, 2005.
... zpět do textu |
[2] | RAMBOUSKOVÁ, L. Autorský zákon. Sborník semináře
SLT 2001, Konvoj, Brno, 2001. http://www.cstug.cz/slt/01/plne_texty/11.pdf ... zpět do textu |
[3] | ROSEN, L. Derivative works. Linux Journal 103, January 2003, str. 96.
... zpět do textu |