Freesoftware 4 - Ono to funguje!

Stále ze všech stran slyšíme, jak někdo pochybuje o tom, že model svobodného software bude fungovat. To neví nikdo jistě, ale faktem je, že dokázal vyrůst v téměř monopolním prostředí, zatímco ostatní komerční firmy to nedokázaly. Co ale za tím stojí a proč vlastně takový zdánlivý CHAOS jako svobodný software funguje a zdá se, funguje dobře?
Snad prvním úspěšným kusem software z GNU projektu byl GNU Emacs od Richarda Stallmana. Ještě dnes ho mnoho lidí používá a nemůže si ho vynachválit. Přesto pokud ho uvidí normální uživatel z platformy Windows, zděsí se. I já jsem toho názoru, že nepotřebuji mít spuštěny dva operační systémy najednou (až se budete učit ovládat GNU Emacs, tak pochopíte o čem mluvím) a používám jiný editor. Ale to, zda se zděsí normální uživatel nevypovídá nic o kvalitě software. Možná už je uvádění příkladu GNU Emacsu jako úspěšného projektu svobodného software zprofanované, to však ale nic nemění na tom, že je to dobrá ilustrace.

Jak jsem řekl, GNU Emacs byl v již době svého vzniku velmi dobrý produkt. Velmi rychle si našel své uživatele. Někteří si jej stahovali přes Internet, ale někteří psali Richardu Stallmanovi: „Hej, líbí se mi tvůj editor, jak mohu získat kopii?” V té době byl Stallman zrovna bez práce (opustil MIT AI labs, aby si mohl být jist, že si nikdo nebude chtít přivlastnit GNU) a to byl jeden z důvodů, že místo toho, aby prostě odepisoval, ať si to stáhnou z internetu, tak jim začal nabízet, že jim GNU Emacs zkopíruje na disketu a za nějaký peníz pošle. A ačkoliv se to může zdát čtenáři seznamujícímu se se svobodným software zvláštní, ti lidé si ho opravdu kupovali. Nebylo to mnoho, ale stačilo to na to, aby s tím mohl Stallman v nejhorším vyžít, pokud by neměl žádné jiné příjmy.

Důležité bylo ale i jiné zjištění, než že svobodný software lze prodávat. Mnoho lidí věřilo, že „velké“ projekty, jakým je třeba i GNU Emacs musí být vyvíjeny centralizovaně v uzavřeném týmu. Ne v nějakém rozdrobeném modelu lidí spolupracujících z různých míst. GNU Emacs však jako první ukázal, že decentralizovaná komunita lidí přispívajících svými troškami do mlýna internetu dokáže úspěšně stvořit i takto kompletní produkt.

Zamyšlením nad tímto poznatkem začíná i Eric S. Raymond svoji esej Katedrála a Tržiště.

Věřil jsem, že nejdůležitější software (operační systémy a opravdu velké nástroje jako třeba Emacs) musí být stavěny stejně jako katedrály, pečlivě opracovávány jednotlivými čaroději nebo malými skupinkami kouzelníků pracujících v příjemném osamění a publikujících výsledky své práce až ve vhodný čas.

Vývoj ve stylu Linuse Torvalda -- publikuj brzy a často, přenes na ostatní vše, co můžeš, buď otevřený téměř až k bodu promiskuity, to bylo velké překvapení. Linuxové společenství více připomíná velké hlučné tržiště různých metod a postupů, než tichou oddanou práci na stavbě katedrály. Linuxové archivy, které přijímají příspěvky od ,kohokoliv` jsou toho důkazem. Zdálo by se, že z něčeho takového se může koherentní a stabilní systém vynořit pouze sérií zázraků.

Eric Raymond se snažil tento systém pochopit a poté, co ho nejen pochopil, ale také otestoval na vývoji jednoho projektu svobodného software, fetchmailu, sepsal tuto esej jako zpětnou analýzu fungování věcí v komunitě svobodného software (nicméně připomeňme, že Raymond je představitel proudu Open Source, nikoliv proudu svobodného software; podrobněji se o tom zmiňuji ve třetím dílu tohoto seriálu). Ačkoliv je to již poměrně starý text, na jeho pravdivosti se dodnes nic nezměnilo a myslím, že ani do budoucna nezmění.

Raymond formuloval několik základních bodů projektu svobodného software:

1 - Každý dobrý program začíná tím, že řeší potíže samotného programátora.

2 - Protože dobří programátoři vědí co psát, velcí vědí co přepsat (a znovu použít)

3 - Pokud máte správný přístup, zajímavé problémy si vás najdou samy.

4 - Když ztratíte zájem o program, vaší poslední povinností je předat jej schopnému nástupci.

5 - Pokud jednáte s uživateli jako se spolupracovníky, je to nejsnazší cesta k rychlému vylepšení kódu a efektivnímu odstraňování chyb.

6 - Publikuj brzy, publikuj často. A naslouchej svým zákazníkům.

7 - Pokud máte dostatečně velkou základnu spolupracovníků a testovatelů, téměř každý problém bude rychle charakterizován a jeho řešení bude pro někoho jednoduché.

8 - Pokud zacházíte s vašimi uživateli tak, jako by byli vaším nejcennějším kapitálem, oni se vaším nejcennějším kapitálem doopravdy stanou.

9 - Stejně důležité jako mít dobré nápady, je schopnost rozeznat dobré nápady uživatelů. Občas je to druhé dokonce lepší.

10 - Pokud chcete pracovat na zajímavém problému, začněte tím, že naleznete problém, který zajímá vás osobně.

11 - Pokud má koordinátor projektu k dispozici médium, alespoň tak dobré jako je Internet, a dokáže vést bez toho, aby rozkazoval, mnoho hlav je nevyhnutelně lepší, než jedna.

Ve skutečnosti pojmenoval Raymond bodů více, ale některé se vztahují víceméně pouze na programátory a tak jsem vybral jen ty obecné, které mohou něco přinést i neodborné veřejnosti. Než ale tento dokument opustím, odcituji ještě jeden odstavec:

A možná to ani nemělo být takové překvapení. Sociologové již před lety objevili, že průměrný názor velkého množství stejně dobrých (nebo špatných) pozorovatelů je podstatně spolehlivější než názor jakéhokoliv náhodně zvoleného pozorovatele. To se nazývá Delphi efektem. Zdá se, že Linus prokázal, že tento jev se týká i tvorby operačního systému, že Delphi efekt dokáže zkrotit i tak komplexní záležitost, jakou je konstrukce jádra OS.

Ve skutečnosti dnes již víme, že se nejedná jen o jádro OS. Existuje řada velmi komplexních projektů, které jsou tímto modelem vyvíjeny. Mimo těch serverových, jako Apache, PostgreSQL a jiné, i ty uživatelské. Podívejte se třeba na GIMP (GNU Image Manipulating Program), KDE a GNOME. Nejsou toto příklady velmi komplexních projektů, které byly úspěšně vyvíjeny od začátku v otevřeném prostředí?

Jako argument proti svobodnému software se často říká, že tento model nebude fungovat proto a proto a proto. Ok, ale on již funguje, takže každý, kdo takto argumentuje, vlastně plácá nesmysly. Často slyším, že takto se nedá vyvíjet software, že programátoři by neměli co jíst. Ok, ale on se takhle vyvíjí a vzešlo z něj spousta skvělého software a ti programátoři ještě neumřeli. Znamená to snad, že programátoři nepotřebují jíst? Ten software tu je a ti programátoři jsou živí. Jediné, co s z toho dá logicky vyvodit, je fakt, že model svobodného software dokáže produkovat kvalitní software, ale jeho programátoři tím viditelně nijak netrpí.

Lidi (včetně mě) zajímá motivace. Nicméně proč tvrdit, že lidé nebudou mít motivaci psát svobodný software, když tu kolem nás již je spousta svobodného software a ti lidé ho stále vytvářejí. Spousta takových námitek byla vyvrácena prostým faktem. Model vývoje freesoftware, jakkoliv se to někomu může zdát absurdní, prostě funguje a funguje i pro velmi komplexní a složité projekty. Eseje jako Katedrála a Bazar jsou hodnotné právě tím, že se zpětně ohlíží za tím vším a snaží se popsat „jak to?”, že lidé dělají tohle a tohle a „jak to?”, že to vlastně všechno funguje. Takový retrospektivní pohled je velmi důležitý a odhaluje komunitě cosi z jejího nitra, z toho co všichni berou jako samozřejmost, ale teď mohou jít a přečíst si to černé na bílém. Krom toho odhaluje komunitu i nováčkům a úplně cizím lidem, což je jen dobře. Pro začínajícího programátora svobodného či otevřeného software by to měla být téměř povinná četba. Proč na vše přicházet znovu, když je to již jednou někým popsané?

Mnoho lidí, zejména těch, kteří politicky nedůvěřují volnému trhu, očekává, že společnost sebeřídivých egoistů bude fragmentovaná, bude ochraňovat svá území, bude plýtvat zdroji, vše tajit, bude k sobě nepřátelská. Ale toto očekávání je jasně vyvráceno například překvapivou různorodostí, kvalitou a hloubkou dokumentace k Linuxu. Je to zázrak, když si uvědomíme jak programátoři nenávidí psaní dokumentace. Jak je tedy možné, že programátoři Linuxu jí produkují tolik? Je zřejmé, že Linuxový volný trh v sebeuspokojování funguje lépe při nastolení ctnostného chování, než masivně financované dokumentační útvary poskytovatelů komerčního software.

Poznámka: Pozorný čtenář si jistě všiml, že jsem místo termínu Free Software začal používat termín svobodný software. Již dříve jsem se rozhodoval, zda nezačít nazývat freesoft nějak jinak, ale až teď jsem učinil definitivní rozhodnutí přikročit k takovému kroku. Richard Stallman sám často mluví o tom, že ho dost překvapilo, že takové množství lidí chápe slovo free ve slově Free Software ve smyslu ceny, ne svobody. Jelikož díky tomu, že obě tato slova jsou v angličtině stejná, došlo k velkému omylu. A protože oba významy jsou úplně odlišné a ten odkazující se na cenu dává projektu úplně jiný význam, bylo napsáno mnoho textu a řečeno mnoho slov s cílem vysvětlit lidem, jak to je doopravdy. Bohužel lidé stále nechápou/nechtějí chápat původní význam Free Software. Ačkoliv na GNU.Org je doporučení, aby ostatní jazyky, kde jsou obě slova rozlišitelná, nepoužívali anglický termín Free Software, ale zavedli termín ve vlastním jazyce, kde nebude docházet k omylům, v Čechách se usadil mírně pozměněný termín anglický – freesoftware nebo prostě jen freesoft. A co hůře, od freesoft je již jen krůček k freeware. Lidé zaměňují Free Software i s freeware, což je úplně jiný model, který nemá s Free Software Movement nic společného. Bylo by dobré poznamenat, že v Evropě se opravdu v různých jazycích ujalo spíše lokální pojmenování tohoto fenoménu, než že by bylo přejato spojení anglické. Dokonce se nyní i v angličtině razí pojmenování Libre Software, místo zavádějícího Free Software. Když si tak pročítám diskuze nejen zde na Živě, říkám si, že tato nešťastná záměna byla jednou z věcí, které svobodný software poškodily nejvíce. Jak vidíte, v předchozí větě jsem použil českého překladu svobodný software a to je slovní spojení, jakým budu odteď Free Software nazývat. Zároveň apeluji na všechny čtenáře, aby se ke mně připojili a používali radši označení svobodný software.

Jeden čtenář se zde na diskuzním fóru ptal, co to znamená „svobodný software“. Znamená to snad software, který je svobodný? Co to je svobodný software? To znamená, že v rámci zákonů a etiky si může dělat, co chce? Zřejmě tedy dlužím vysvětlení. Opravdu, svobodný software (Free Software, Libre Software) není úplně výstižný termín. Správně by to mělo býti něco jako software, co dává svobodu, nebo software, co nese svobodu, ale tato spojení jsou jak v češtině, tak v angličtině příliš dlouhá a tak se jeví jako lepší řešení používat zkrácenou formu svobodný software. Připojme se k ostatním zemím, kde se používají přeložené názvy a nikdo tak nemůže být mystifikován špatným překladem.

freie Software (německy), software libero (italsky), software libre (španělsky), jiyuu-na software (japonsky) ...

Další překlady naleznete na GNU. Možná již tam bude i překlad do češtiny, včera jsem ho odeslal.

Diskuze (83) Další článek: Napster se připojuje k MusicNet

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,