
Free software, Open Source, FSF, OSI, RMS, ESR, GPL, LGPL ... Zmatek?
Free software, Open Source, DFSG, OSD, FSF, OSI, SPI, RMS, ESR, GNU, GPL, LGPL, ...
Zmatek? V úvodním článku o svobodném softwaru jsme zmínili některé
nejednoznačnosti, související například s definicí svobodného softwaru, s jeho
terminologickým označením nebo chápáním svobody. Tentokrát se pokusíme na tyto
nejednoznačnosti podívat trochu podrobněji.
Definice svobodného softwaru
Minule jsme uvedli nejzákladnější požadavky na software, který má být považován za
svobodný. Občas je ovšem zapotřebí stanovit přesnější hranici a z různých
praktických důvodů určit a zdůvodnit, proč je nějaký konkrétní software
považován za svobodný či nikoliv. Proto postupem času vzniklo několik
přesnějších definic svobodného softwaru.
Jedním z nejvýznamnějších okamžiků v historii svobodného softwaru bylo zahájení
projektu GNU (GNU's Not
Unix!). Projekt v roce 1984 založil Richard M. Stallman (RMS), jeden z členů proslavené
hackerské komunity na MIT, jako reakci na nástup proprietárního softwaru, který
napomohl rozpadu této komunity a podle Stallmanova názoru negativně působil na
mezilidské vztahy vůbec. Cílem projektu GNU bylo (a dodnes je) vytvořit kompletní
operační systém podobný Unixu, složený plně ze svobodného softwaru. Pro
podporu tohoto projektu Stallman založil nadaci Free Software Foundation (FSF). Již v názvu nadace se
objevil (nejen) Stallmanem používaný pojem free software. Přídavné jméno
free zde vyjadřuje svobodu, jíž chtěl Stallman svým projektem dosáhnout.
Na stránkách FSF je pojem free software poměrně podrobně definován
pro potřeby projektu GNU. Definice vychází z cílů projektu a lze ji považovat
za poměrně dobré vodítko. Nicméně nebyla univerzálně přijata jako dostatečně
precizní, v některých oblastech je nutná přesnější definice.
Potřebu přesnější definice svobodného softwaru v určitý okamžik pocítili
účastníci projektu Debian.
Tento projekt se zabývá tvorbou distribucí svobodných operačních systémů,
zejména GNU/Linuxu. Na rozdíl od projektu GNU se nezaměřuje primárně na tvorbu
softwaru jako takového, nýbrž se snaží především posbírat software existující a
uvést jej do podoby, kdy všechny jeho komponenty konzistentně spolupracují a
vůči uživateli se tváří dostatečně uniformním způsobem. Takových distribucí
operačního systému existuje celá řada, například v případě GNU/Linuxu je velmi
známý Red Hat. Jedním
z unikátních rysů Debianu je však jeho Společenská
smlouva, která jasně deklaruje stoprocentní založení Debianu na svobodném
softwaru. Společenská smlouva Debianu je doplněna dokumentem Debian
Free Software Guidelines (DFSG), definujícím pojem svobodný software
přesněji, právě z hlediska potřeb tvůrců distribuce a jejích uživatelů.
Primárním autorem těchto dokumentů byl Bruce Perens, tehdejší vedoucí projektu
Debian.
Debian Free Software Guidelines byly poměrně úspěšným pokusem o definici
svobodného softwaru. V komunitě svobodného softwaru se staly neformálně
uznávanou obecnou definicí a byly později také přejaty jako základ Open Source
Definition, o které se ještě zmíníme. Definice doplňuje nejzákladnější
požadavky na svobodný software například o možnost šíření softwaru společně
se zdrojovými kódy i v binární podobě, o univerzální platnost licence,
neomezující některé skupiny lidí nebo oblasti použití programu, či
o neomezování nesouvisejícího softwaru způsobem jako je třeba zákaz šíření
programu dohromady s proprietárním softwarem.
Free software nebo Open Source?
Svobodný software se nepotýká pouze s nejednoznačností své definice, nýbrž
i s jazykovými nejednoznačnostmi. Slovo free má v angličtině více významů,
mezi nimiž je kromě svobodný i význam zadarmo. Právě v tomto významu si
pojem free software často vykládají lidé, kteří nejsou s problematikou
svobodného softwaru obeznámeni do dostatečné hloubky. V komerčním světě pak
takové chápání svobodného softwaru mnohdy znamená jeho odmítnutí.
V roce 1998 společnost Netscape spustila práci na svobodné verzi svého webového prohlížeče. Jednalo se
o další milník v historii svobodného softwaru, protože se do té doby nestávalo
často, aby významná společnost jeden ze svých hlavních a velmi populárních
produktů přeměnila z proprietárního softwaru na svobodný. Mnohými lidmi byl
tento krok chápán jako skutečný průlom svobodného softwaru do komerčního světa.
Během přípravy tohoto kroku se skupina lidí v čele s Ericem S. Raymondem
(ESR), známým popularizátorem a přispěvatelem svobodného softwaru, a Brucem
Perensem, již zmíněným bývalým vedoucím projektu Debian, rozhodla svobodný
software komerčnímu světu přiblížit více. Založili proto neziskovou organizaci
Open Source Initiative
(OSI) a začali pro svobodný software prosazovat nový název Open Source.
Název Open Source byl od počátku podložen svojí definicí Open
Source Definition (OSD), která byla v první verzi v podstatě totožná
s Debian Free Software Guidelines a došlo také k pokusu registrovat
Open Source jako obchodní značku, tehdy prostřednictvím další neziskové
organizace Software in the
Public Interest (SPI) zaštiťující projekt Debian.
Co bylo cílem zavedení nového označení pro svobodný software? Především
odstranění oné nejednoznačnosti slova free, zejména s ohledem na jeho vůči
komerci negativní vyznění v možném, přestože v kontextu svobodného softwaru
nesprávném, výkladu zadarmo. Navíc slovem free je často označován
i software proprietární, který je například zdarma šířen. Nový
termín Open Source, podložený poměrně jasnou definicí a chráněný obchodní
značkou, měl pomoci k nápravě těchto problémů, pragmatickou volbou a propagací.
Termín Open Source některé nedostatky termínu free software odstranil, jiné
však naopak zavedl. Především již vůbec neklade důraz na svobodu a dále taktéž
trpí určitou nejednoznačností, protože může vzbuzovat dojem, že Open Source je
jakýkoliv software s dostupnými zdrojovými texty, ať už svobodný nebo
nesvobodný. Richard Stallman termín Open Source z těchto důvodů odmítl.
Mezi FSF a OSI vzniklo určité pnutí, přestože obě organizace podporují svobodný
software, každá tak činí z jiného důvodu a stojí v čele jiného hnutí. Poněkud
zjednodušeně lze říci, že pro FSF je nejdůležitější svoboda softwaru, zatímco
pro OSI jeho lepší vývojový model, s patřičným komerčním přijetím a podporou.
Více podrobností se lze dozvědět například ve Stallmanově zdůvodnění odmítnutí pojmu Open Source a ve stručném
popisu historie OSI.
Je nějaký technický rozdíl mezi free softwarem a Open Source softwarem?
Důsledně vzato, malý rozdíl tu je. Například definice free softwaru na
stránkách FSF požaduje svobodu provádět privátní změny v kódu bez povinnosti je
jakkoliv zveřejňovat, zatímco OSD tento požadavek nemá. (Jedná se o skutečně
praktický požadavek motivovaný ochranou soukromí, některé licence požadují,
abyste jakékoliv vámi provedené změny v softwaru publikovali.) V praxi jsou
však oba termíny většinou používány v totožném významu a vzájemně zaměňovány.
Mnohdy vyjadřují osobní příklon k některému ze dvou výše naznačených přístupů
ke svobodnému softwaru a velmi často jsou bez nějakých úvah prostě přejímány od okolí, tak jak
činíme se synonymními výrazy, které slyšíme okolo sebe.
Spolupráce svobodného softwaru s proprietárním
Nemůžeme pominout ještě jeden další názorový rozdíl týkající se svobodného
softwaru. Co myslíte, je svobodnější člověk, který nemůže být nikdy uvězněn,
nebo člověk, který má "svobodu" se nechat uvěznit? Přesně takový je
nejzásadnější rozdíl mezi dvěma dnes asi nejčastěji používanými licencemi
svobodného softwaru, GNU General Public License (GPL), případně její méně
striktní verzí GNU Lesser General Public
License (LGPL), a licencemi ve stylu BSD.
Když Richard Stallman zakládal projekt GNU, hledal pro svůj vlastní software
vhodnou licenci. Zatímco licence proprietárního softwaru využívají autorské
právo k omezení práv uživatele v nakládání se softwarem a uživatelská
práva
oproti programům bez licence omezují, Stallman v podobě GPL
vytvořil licenci, která autorské právo naopak používá k zajištění svobody
softwaru a oproti programům bez licence uživatelům uděluje práva širší.
Princip je následující: Uživatel dostává právo program rozšiřovat a měnit,
avšak pouze za podmínky, že využije-li cizí kód chráněný GPL ve svém vlastním
kódu, smí tento svůj kód šířit (pokud má v úmyslu jej šířit) pouze pod tou
samou licencí,
tedy opět GPL. Musí tedy příjemci upraveného GPL kódu dát stejná práva, jaká
byla prostřednictvím GPL poskytnuta jemu samotnému.
Tak je zajištěno, že svobodný kód nemůže být využit v kódu
proprietárním.
Důležité je, že podobná omezení se v případě programů chráněných GPL vztahují
pouze na kód, nikoliv již třeba na spouštění programu a obvykle ani na výstupy
GPL programem produkované. Můžete tedy například využít editor Emacs pro
editaci proprietárního softwaru. Tuto volnost GPL neposkytuje z důvodu, že by
Stallman při vytváření GPL takové užití chtěl podporovat, ale proto, že by bylo
velmi obtížné a kontraproduktivní mu zabránit.
Zajímavé situace ovšem vznikají u knihoven a zásuvných modulů, kdy dochází
k propojování (linkování) programů, které je na hranici sdílení a nesdílení
kódu. Na takové použití se ustanovení GPL obvykle vztahují. (Používáme slova
obvykle, protože právnické dokumenty obvykle nepostihují všechny možné
myslitelné situace a konečné slovo často mívá až soud.) A to oběma směry, ať
už dochází k propojení GPL programu s proprietární knihovnou nebo naopak
propojení proprietárního programu s GPL knihovnou.
Onou nejednoznačností aplikace GPL na propojování programů s knihovnami
zajímavosti propojování GPL softwaru a proprietárního
softwaru nekončí. Kdyby byl uvedený princip neslučitelnosti svobodného
s nesvobodným aplikován důsledně, nebylo by možné šířit většinu GPL
programů zkompilovaných pro proprietární systémy. Například u velké většiny programů psaných
v jazyce C by tím došlo k linkování se systémovou proprietární knihovnou
libc. V době, kdy GNU projekt startoval, neexistovalo žádné dobře použitelné
jádro operačního systému, jako je dnes například Linux nebo některé z řady BSD
systémů, a takové omezení by tedy bylo pro svobodný software fatální. Proto
GPL obsahuje klauzuli, která takové linkování za určitých podmínek dovoluje.
V případě propojování proprietárního kódu s GPL knihovnou je však GPL již zcela
striktní -- není to možné. I zde však Stallman zvolil pragmatický přístup,
umožňující lepší rozšiřování svobodného softwaru. V případě, že knihovna
nahrazuje již existující proprietární knihovnu s podobnou funkcionalitou, bývá
šířena pod LGPL. LGPL, coby "méněcenná GPL", chrání pouze samotný kód
knihovny, neklade však již restrikce na linkování. Je tak umožněno nahradit
proprietární knihovnu svobodnou knihovnou, aniž by to mělo licenční důsledky
pro spouštění proprietárních programů tuto knihovnu využívajících.
Na rozdíl od GNU licencí, licence ve stylu BSD použití kódu softwaru nijak výrazně
neomezují. Kód šířený pod takovou licencí můžete obvykle bez problémů použít
v kterémkoliv jiném programu, ať už svobodném nebo proprietárním. Samozřejmě
také můžete bez potíží používat knihovny i zásuvné moduly pod touto licencí
v jakémkoliv jiném programu. V případě některých knihoven se autoři uchylují
k LGPL jako určitému kompromisu, nikoliv ze strategických důvodů rozšiřování
svobodného softwaru, nýbrž prostě proto, že záměrně nechtějí omezovat užití
knihovny, na druhou stranu si ale nepřejí přímé využívání svého kódu
v proprietárních programech.
Někdo považuje absenci omezení na propojování svobodného a proprietárního
softwaru za výhodu, někdo naopak za nedostatek. To už je věcí subjektivního
názoru a rozhodující je názor autora kódu. Pokud autor využije cizí svobodný
software pod licencí ve stylu BSD, obvykle jeho rozhodování není omezeno.
Naopak využije-li cizí GPL kód, jeho rozhodnutí je omezeno pouze na možnost
šířit využívající kód pod GPL, nešířit ho vůbec, anebo cizí GPL kód
nepoužít. Proto někteří odpůrci GPL označují tuto licenci za "virus", jím
jednou "nakažený" kód se jej již nemůže zbavit (ledaže by to dovolili všichni
zúčastnění autoři kódu). Takto je například navždy chráněno jádro Linux,
obsahující GPL kód již tolika lidí, že možnost jeho přeměny na proprietární
software je prakticky vyloučena.
Na závěr poznamenejme, že GNU GPL je poměrně komplikovaná licence a výše
uvedené je pouhým nakousnutím její problematiky, nikoliv vyčerpávajícím
přehledem.
|