\"/
\"/ \"/    

Svobodný software

Ladislav Lhotka, CESNET, z.s.p.o.
Ročník XV - číslo 1, říjen 2004
Citace: L. Lhotka. Svobodný software. Zpravodaj ÚVT MU. ISSN 1212-0901, 2004, roč. XV, č. 1, s. 11-16.
verze pro tisk: PDF
Tematické zařazení: Software obecně - principy, tvorba
Článek je součástí seriálu Svobodný software
 předchozí článek | následující číslo 

Jednoho únorového dne v roce 1993 jsem na svém domácím PC vůbec poprvé instaloval Linux - byla to dnes už neexistující distribuce SLS zvíci třiceti disket, s kernelem 0.99pl6. Pamatuji si, že mě už tehdy zachvátil vzrušující pocit účastníka revoluce, ač jsem rozhodně nemohl tušit, kam to Linux a software okolo něj za deset let dotáhnou. Různý volně dostupný software jsem sice v té době už používal (GNU Emacs, TeX aj.), ale toto byla vlastně první ucelená alternativa komerčnímu softwaru.

Software, který se již tehdy označoval jako svobodný (free) a později často jako open source, dosahuje nejen pozoruhodné šíře a členitosti, ale také nesporné kvality a robustnosti, která k němu přivádí v houfech nové uživatele. Takový vývoj je určitě překvapivý. Svět svobodného softwaru totiž jaksi popírá klasické poučky kapitalismu: Všechno je sice podobné jako u Adama Smithe a Davida Ricarda, jen tou neviditelnou rukou zjevně nehýbe primární touha po zisku, ale daleko spíše ryzí tvořivost a také duch spolupráce, jakýsi genius communitatis. Proto si myslím, že svobodný software může být potravou nejen pro naše náhradní elektronické mozky, ale občas i pro ty opravdové.

Tento článek je úvodem k seriálu o svobodném softwaru, který bude vycházet ve Zpravodaji ÚVT MU v průběhu příštího roku. Cílem seriálu bude jednak připomenout principy, na nichž je svobodný software postaven, ale také popsat zajímavé související jevy a trendy, které lze pozorovat jak v komunitě svobodných programů, tak i ve zbytku softwarového světa.

Hackerská tradice

Pohled do historie výpočetní techniky může snadno vést k poněkud cynickému závěru: Nové a převratné věci v této oblasti vznikly jaksi neplánovaně, na koleně a mnohdy i téměř načerno, přičiněním vynikajících jednotlivců či neformálních skupin, na hony vzdálených od standardizačních komisí, firemních strategií a dlouhých projektových peněz. Příklady? Unix i Linux, TeX, TCP/IP, GNU, WWW, Napster, blogy, ... Jinými slovy - za mnohými tvůrčími impulsy stojí hacker, který se programováním především baví a rád ostatním hackerům ukazuje na svých programech, jak je dobrý. Zaujalo mě, co aktuálně řekl na podobné téma písničkář Karel Plíhal (příloha HN Víkend, 23.2.2004): "Takhle [...] jsme začínali i my s Nohavicou, Dobešem, Janouškem, ... Hráli jsme si navzájem nové písně, tiše jsme si záviděli, když se někomu něco povedlo. Bledá závist je dobrý motor pro tvorbu."

I když se dnes ve svobodném či open source softwaru angažuje i řada komerčních subjektů, jeho podhoubím vždy byl a stále je svět hackerů. Zdůrazněme ale a dvakrát podtrhněme: Původní a správný význam slova "hacker" je prost pejorativního nádechu počítačového kriminálníka, který mu podsouvají masová média. Podle [3] znamená osobu, (1) jejíž zálibou je zkoumání detailů programovatelných systémů a posouvání jejich možností, (2) programující nadšeně až návykově, a (3) upřednostňující vlastní programování před teoretizováním o něm. Myslím, že v češtině by mu mohl být nejblíže výraz "kutil".

Počítačový hacker podobně jako vědec bytostně potřebuje volnou výměnu nápadů (v tomto případě ve formě algoritmů a zdrojového kódu) a také kritické oko ostatních (peer review). V minulosti narážel rozmach hackerství na bariéru danou soudobými komunikačními možnostmi - jednotlivé komunity byly proto poměrně malé, uzavřené a geograficky lokalizované. Teprve Internet přinesl kýžené médium pro téměř neomezenou výměnu informací. Není proto jistě nahodilé, že se počátek revoluce svobodného softwaru docela přesně kryje s globalizací Internetu na přelomu 80. a 90. let.

Svobodný software a copyleft

Objeví-li se v některém on-line žurnálu zásadnější zmínka o licencích svobodného softwaru, je téměř najisto zaděláno na dlouhou a šťavnatou diskusi. Jak už to tak bývá, líté náboženské šarvátky nevedou jen zastánci svobodného softwaru s ostatními, ale, a mnohdy zejména, také mezi sebou.

Dva hlavní přístupy ke svobodnému softwaru jsou reprezentovány dvěma dnes již klasickými licencemi - BSD a GNU GPL. Prvně jmenovaná licence je historicky starší a nazývá se podle jednoho z hlavních zdrojů svobodného softwaru v akademickém prostředí, kalifornské univerzity v Berkeley1. Její podmínky jsou poměrně měkké, program chráněný touto licencí lze celkem libovolně používat, kopírovat a modifikovat. Licence BSD také umožňuje případné modifikované verze programu šířit i pod jinou licencí, tedy například i takovou, která dalším uživatelům už neposkytne zdrojový kód k provedeným modifikacím a zakáže jim nový program kopírovat a modifikovat. Licence BSD a jí podobné přímo odrážejí obecný anglosaský přístup ke státem financovanému výzkumu - jeho výsledky (včetně softwaru) jsou považovány za veřejný statek a jsou k dispozici všem občanům i firmám, které jejich efektivním využitím generují svůj zisk a tím nepřímo i příští daňové příjmy státu.

V roce 1983 se jistý Richard Stallman, špičkový programátor a hacker v nejlepším slova smyslu, cítil natolik deprivován rozpadem komunity volně sdíleného softwaru v tehdejší Laboratoři umělé inteligence při bostonském MIT, že se rozhodl - namísto jistě nadějné kariéry v tvořícím se softwarovém průmyslu - něco zásadního udělat pro záchranu ohroženého druhu počítačového hackera. Začátkem roku 1984 proto zahájil projekt označovaný rekurzivní zkratkou GNU (GNU's Not Unix), jehož cílem nebylo nic menšího než vytvoření kompletního operačního systému složeného pouze ze softwaru, jenž odpovídal jeho gustu a pro který také začal razit označení free. Pro podporu této své ideje začal jednak sám intenzivně programovat některé komponenty systému GNU a v roce 1985 také založil nadaci Free Software Foundation (FSF), která začala mimo jiné připravovat i potřebnou právní základnu. Především byl přesněji vymezen vlastní pojem svobodný software (free software). Podle FSF musí programy, které se tak chtějí označovat, splňovat následující podmínky:

  1. Program je možno používat (spouštět) k jakémukoli účelu.
  2. Uživatel může studovat, jak program pracuje, a podle potřeby jej libovolně modifikovat. Předpokladem naplnění této podmínky je ovšem dostupnost zdrojového kódu programu.
  3. Program lze neomezeně kopírovat a kopie dále šířit (zadarmo nebo za úplatu).
  4. Program je možno zdokonalovat a zdokonalené verze zveřejňovat. To opět předpokládá přístup ke zdrojovému kódu.

Zde je na místě terminologická odbočka. Anglický termín "free software" trpí dvojakostí významu adjektiva "free", které znamená jak "volný" či "svobodný", tak i "zadarmo". Free software se v definičním smyslu vztahuje k prvnímu významu, což FSF a Stallman často zdůrazňují na příkladu: "free" as in "free speech", not "free beer". V češtině se jako ekvivalent "free software" nejčastěji používá "svobodný software". Osobně bych dal raději přednost variantě "volný software", protože "svobodný" lze chápat spíš tak, jako by onu svobodu požíval právě software, a nikoli jeho uživatel. Výraz "volný software" však bohužel koliduje s termínem "volné dílo", jak je používán v autorském zákoně 121/2000 Sb., tedy ve smyslu public domain. Proto asi nezbývá, než se přiklonit k termínu "svobodný software".

Vraťme se ale zpět k výše uvedeným podmínkám. Je evidentní, že software pokrytý licencí BSD je všechny splňuje, a je tedy v tomto smyslu svobodným softwarem. Stallman a FSF však jdou dále - snaží se zajistit, aby všechny odvozeniny svobodných programů zůstaly také svobodnými, což už licence BSD a jí podobné nezaručují. Tomuto účelu slouží zajímavý právní nástroj - tzv. copyleft, který je de facto aplikací Cimrmanova "úkroku stranou" na poli autorského zákona: Software se autorizuje, avšak páky autorského práva se nasadí ve prospěch trvalého zajištění možnosti volného nakládání se softwarem i jeho odvozeninami pro všechny další uživatele, tedy neomezeného kopírování, šíření a pozměňování, což jsou činnosti normálně autorským zákonem zakázané. Princip copyleftu je vyjádřen v právním dokumentu, který vydala FSF pod názvem GNU General Public Licence. Licenci GNU GPL se bude podrobně věnovat některý z dalších dílů tohoto seriálu, v podstatě se ale v ní říká zhruba toto: Milý uživateli, autor programu vám umožňuje toto své dílo libovolně užívat, kopírovat, upravovat a dále šířit v původní či modifikované podobě za předpokladu, že

Originální text GNU GPL je dostupný na stránkách FSF [1] a k dispozici je i můj neoficiální český překlad2.

Komunismus a totalitarismus

Softwarový průmysl má ke svobodnému softwaru celkem vyhraněný a ze svého pohledu i logický vztah: zatímco programy s licencemi typu BSD vítá, ochotně absorbuje a chápe jako dílčí náhradu za zaplacené daně, programů s GPL se zpravidla nepokrytě štítí. Kategorický požadavek GPL na zpřístupnění zdrojového kódu ke všem modifikacím je totiž pro většinu manažerů a právníků softwarových firem něco zcela nemyslitelného. Konkrétně třeba představitelé Microsoftu také používání licencí typu BSD v akademickém prostředí několikrát otevřeně žehnali, proklínajíce přitom zároveň licenci GNU GPL. Sám šéf Steve Ballmer ji opakovaně označil za komunistický vynález. To je ovšem zejména v USA bubák nejtěžšího kalibru. My, kdo máme za sebou příslušná školení, se na otázku softwarového komunismu můžeme podívat přece jen trochu objektivněji.

Vezmeme-li si z komunistické myšlenky to lepší, tedy heslo "každý podle svých schopností, každému podle jeho potřeb", pak musíme uznat, že na Ballmerově tvrzení něco je. Pavel Satrapa napsal [5]: "Ano, software s otevřeným zdrojovým kódem má leckteré charakteristické znaky komunismu a není na tom nic špatného." To, co je v materiálním světě čirou utopií, může být eventuálně ve virtuálním světě softwaru docela dobře možné. Softwaru totiž ani v nejmenším neubude, pokud jej nabídneme k použití někomu jinému. Tím se liší například od dvanáctileté irské whisky.

Teď to horší: Jak je známo, komunismus se diskreditoval především tuhým totalitarismem, který byl zaveden ve všech státech, jež k němu měly namířeno. Hnutí svobodného softwaru lze vyčítat leccos, ale totalitarismus rozhodně nikoli, o čemž se lze snadno přesvědčit nahlédnutím do archivů poštovních konferencí všech větších projektů. Je to naopak svět komerčního softwaru, který má ve své monopolistické a globalizované podobě tendenci k totalitním praktikám a škodlivé softwarové monokultuře.

Výsledek našeho dialektického rozboru je tedy jasný: Stallman je dobrý komunista a Ballmer zlý komunista.

Open source

Jádro operačního systému Linux a valná část jeho systémových programů je šířena s licencí GNU GPL. Její lehce komunistické stigma a také obecné přesvědčení, že to, co je zadarmo, nemůže být nikdy dobré, způsobilo, že v obchodním světě byl Linux dlouho považován za tabu. K zásadnímu průlomu došlo 22. ledna 1998, kdy firma Netscape oznámila, pod likvidačním konkurenčním tlakem Microsoftu, že uveřejní zdrojový kód ke svému populárnímu prohlížeči.

Skupina předních představitelů svobodného softwaru (Eric Raymond, Bruce Perens, Tim O'Reilly a jiní) došla tehdy k názoru, že tento bezprecedentní krok je třeba podpořit marketingovou kampaní, která k podobnému rozhodnutí dovede i další softwarové firmy. Prvním jejich krokem bylo vylepšení image svobodného softwaru v očích byznysmenů. Cíleně proto upozadili společenské a etické aspekty svobodného softwaru, které jsou v pojetí FSF zcela hlavní, a začali zdůrazňovat praktické výhody pro uživatele, vývojáře i producenty softwaru. Věrni marketingovým poučkám zavedli pro odlišně pojatý obsah i nové jméno: Open Source Software (OSS). Aby se toto označení nedalo překroutit a zneužít, zaregistrovali je jako certifikační známku a program a založili také neziskovou korporaci - Open Source Initiative3, která uděluje programům a licencím příslušný certifikát. K jeho získání je potřeba splnit deset podmínek Open Source Definition [2], které v podstatě rozvádějí v technických podrobnostech výše uvedená kritéria svobodného softwaru. Počet schválených licencí je v současné době větší než 50 a zahrnuje i obě klasické licence - BSD a GNU GPL.

Kampaň Raymonda a spol. slavila nesporný úspěch: řada firem (Oracle, Informix, IBM, HP, SGI, Novell, nejnověji i Sun aj.) se v té či oné formě přiklonila k používání nebo vývoji OSS a termín "open source" začal být běžným hostem na stránkách odborných, ale též masových médií. Důsledkem je třeba i fakt, že dnes mohu pomocí svého open source prohlížeče hladce a bezpečně obsluhovat svůj bankovní účet. To je věc, která ještě před pár lety vypadala nepravděpodobně a v případě absolutního monopolu Internet Exploreru by byla vyloučená.

Dílčím negativním důsledkem tohoto vývoje je nové schizma mezi zastánci původního pojetí svobodného softwaru a novým, pragmatičtějším proudem pod vlajkou open source. Stallman a FSF při každé příležitosti upozorňují, že se v rétorice OSI vytrácí etický imperativ svobodného softwaru, tedy svoboda uživatele. Ač si tím Stallman získal pověst otravného karatele, myslím, že je dobré se nad jeho varováními aspoň občas zamyslet, abychom vinou přílišného pragmatismu neuvízli v nějaké pasti, třeba takové, do níž se svobodný software snažila lapit společnost SCO.

Na úplný závěr dlouhého povídání o licencích se sluší zmínit jinou neziskovou korporaci - Creative Commons4 - v níž dominují především právníci. Nabízí autorům tvůrčích děl, tedy nejen programů, alternativu k plnému copyrightu ve formě sady celkem jednoduchých a srozumitelných licencí, které v různých poměrech míchají jednotlivé ingredience, o nichž jsme mluvili v souvislosti se svobodným softwarem (a také některé další).

Sociologie svobodného softwaru

Bylo by bláhové domnívat se, že pouhá softwarová licence, byť by byla sebelepší, je schopna udržet pohromadě tak veliké a různorodé skupiny programátorů, jaké pozorujeme u řady projektů svobodného softwaru. Naštěstí v těchto specifických společenstvech, kde se většina členů navzájem zná jen prostřednictvím emailu, existují i jiné, neformální mechanismy, které vytvářejí přirozenou hierarchii autorit. Nedochází tak třeba příliš často ke štěpení projektů, které open source licence v principu umožňují a které také někteří škarohlídi prorokovali. Ne že by mezi vývojáři neexistovaly rozpory - naopak, jsou poměrně časté, někdy i hodně hluboké a emotivní. Ve většině případů se je ale daří vyřešit věcnými argumenty a většinovým konsensem. Ukáže-li se však rozpor nepřekonatelným, k rozštěpení dojde a nic zvláštního se také neděje, viz nedávný případ projektu XFree86.

Zajímavou otázkou, na niž si netroufám odpovědět, je, zda v komunitách svobodného softwaru vládne něco jako demokracie. Je sice pravda, že emailové konference většiny projektů jsou v podstatě otevřené komukoli, ale faktické "hlasovací právo" mají jen ti, kdo problematice aspoň trochu rozumějí a jsou schopni i něčím konstruktivním přispět. Projeví-li se v konferenci nějaký mameluk, bývá ostatními rychle a razantně umlčen. Lze se ovšem také domnívat, že v diskusích mají navrch vlezlé a průbojné typy na úkor introvertních melancholiků, a také ti, kdo lépe vládnou jazykem, v němž je konference vedena - tedy skoro vždy angličtinou. Jenže tak už to na světě chodí... Systém přijímání rozhodnutí, jak je zaveden v řadě projektů svobodného softwaru, má ve skutečnosti zřejmě nejblíže k meritokracii, tedy vládě založené na individuálních mandátech, jejichž síla je přímo úměrná prokázaným schopnostem. Mimochodem, sám Linus Torvalds občas s typicky neurčitou mírou nadsázky popisuje projekt vývoje jádra Linuxu jako osvícenou monarchii.

Linuxová komunita, ač je z pohledu licencí založena na stejných principech jako třeba projekt GNU, také přišla se svérázným modelem vývoje softwaru, založeném na principu sněhové koule. Do té doby se mělo za to, že každý software, tedy i svobodný, musí být založen na solidním návrhu a předem detailně promyšlené blokové struktuře. Linux tuto představu staví do značné míry na hlavu, přesto se ale komunitě vývojářů i přes dílčí potíže daří nejen celou věc udržet pohromadě, ale dokonce ji poměrně rychle posouvat kupředu. Zajímavě o tomto paradoxu píše Eric Raymond ve svém stěžejním díle [4].

Závěr

Stopa, kterou open source či svobodný software zanechal ve světě počítačových programů, je dnes už nepřehlédnutelná a stěží vymazatelná. Označení "revoluce" ovšem vypadá trochu zvláštně. Ne že by někteří protagonisté neměli dostatečný plnovous, ale přece jenom revoluční masy si představujeme jako uvědomělý, obětavý a vojensky ukázněný dav, který sleduje jednu vůdčí myšlenku. Komunitě hackerů asi není nic vzdálenějšího, než tato charakteristika. Prostě v dnešním postmoderním světě už ani revoluce nejsou, co bývaly.

V tomto úvodním článku seriálu o svobodném softwaru jsem záměrně použil poněkud kaleidoskopický styl, mimo jiné proto, že většina čtenářů Zpravodaje ÚVT je nejspíš s tématem obeznámena. V dalších pokračováních bychom se měli soustavněji a do větší hloubky věnovat některým vybraným tématům.

Literatura

[1] GNU General Public License, version 2 [online]. Boston: Free Software Foundation, 1991. http://www.fsf.org/licenses/gpl.html
... zpět do textu
[2] The Open Source Definition, version 1.9 [online]. Open Source Initiative, 2004. http://www.opensource.org/docs/definition.php
... zpět do textu
[3] RAYMOND, E.S. The New Hacker's Dictionary. Boston: MIT Press, 1996. 547 str. ISBN 0-262-68092-0. http://www.catb.org/~esr/jargon/
... zpět do textu
[4] RAYMOND, E.S. The Cathedral & the Bazaar. Sebastopol (California): O'Reilly & Associates, 2001. 208 str. ISBN 0-596-00108-8. http://www.zvon.org/ZvonHTML/Translations/cathedral-bazaar/front_all.html
... zpět do textu
[5] SATRAPA, P. Vladimír Iljič Torvalds aneb jak je to s tím komunismem [online]. Lupa, 29.5.2001. http://www.lupa.cz/clanek.php3?show=1571
... zpět do textu
setting
1 BSD = Berkeley Software Distribution
... zpět do textu
2 http://staff.cesnet.cz/~lhotka/gnugpl-cz.html
... zpět do textu
3 http://www.opensource.org
... zpět do textu
4 http://creativecommons.org
... zpět do textu
Zpět na začátek
ÚVT MU, poslední změna 14.11.2011