Free software a komerční svět -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Thus spake the master programmer: "Let the programmer be many and the managers few -- then all will be productive." -- Tao of Programming Toto je malý článek o vztahu komerčního světa a free software. Pokud zrovna přemýšlíte nad tím, o jaký vztah se vůbec může jednat, pak je právě pro Vás. Tyto dvě věci opravdu nejdou na první pohled vůbec dohromady a výraz komerční free software zní přibližně stejně jako zlaté stříbrné hodinky. Dlouho tomu skutečně tak bylo a free softwarové programy byly vyvíjeny spíše po pracovní době některými nadšenci. Pravděpodobně první, kdo předpověděl fakt, že free software jednou dosáhne kvalit komerčních produktů, byl Richard Stallman ve svém GNU manifestu. Předpověděl také, že free software se stane jednou zajímavým pro komerční firmy, což bylo ve své době nesporně velmi odvážné tvrzení. Nicméne nedokázal si představit, jak by tyto firmy mohly být užitečné vyjma distribuce programů či poskytování záruky. Ostatní jeho nápady uvedené v GNU manifestu zněly poněkud podivně. Celý GNU manifest vyznívá protikomerčně a je z něho cítit touha po jakémsi socializmu v programování, kde programy nebudou mít vlastníka, jejich vývoj bude financován se softwarových daní a peníze budou přerozdělovány jakousi státní organizací. Tato představa většinu pragmaticky uvažujících lidí dokonale odradí. Je známou pravdou, že člověk nejlépe nakládá se svými penězy, když je utrácí pro sebe. Pokud kupuje dárek pro druhého, nezajímá se už tolik o jeho užitečnost a nejhůře využívá logicky cizí peníze utrácené pro cizí účely, což by byl příklad této organizace (stejně jako většiny ostatních státních organizací). A proto je tato vize v naší prohnilé kapitalisticé společnosti v nejbližších letech neuskutečnitelná. Protikomerční pozice GNU odsunula free software mezi nadšence, kde se několik let vesele vyvíjelo. GNU Manifest se začal vyplňovat o asi 10 let později počátkem devadesátých let, kdy díky Linuxu GNU dosáhlo svého prvotního cíle poskytnout operační systém profesionální kvality a stalo velmi populární. Opravdu vznikly firmičky zabývající se distribucí free softwaru. U některých z nich (jako je Redhat, Caldera či Cygnus) už nelze mluvit jenom o malých firmičkách a jejich aktivity se brzy velmi rozrostly. Vyjma poskytování technické podpory i aktivně podporují nejznámější vývojáře a pouští se více či méně úspěšně i do vlastního vývoje free softwaru. Mnoho mých známých velmi překvapila celkem hezká krabice distribuce RedHat s profesionálně vyhlížejícím designem, barevně potištěnými CD a obstojně tlustým (na Microsoftí poměry) manuálem. Linux a GNU už několik let nevypadá jako amaterský experiment několika podivínů. Firmám se opravdu začalo vyplácet utrácet peníze za něco, co potom bude zdarma jednoduše proto, že to zvýší odbyt jejich ostatních produktů. Přesto, že GNU programy jsou zadarmo, hodně lidí si CD koupí apod. Většina z těchto firem ale stále vidí hlavní zisk v prodeji čistě komerčních programů pod GNU/Linux. Další zajímavou Stallmanovou vizí bylo chápání pojmu free software na jiné úrovni, než je klasické komerční/zadarmo. Vysvětluje, že programy mohou být komerční a nekomerční podle toho, jestli jsou vyvíjeny za účelem zisku, nebo pouze pro radost z programování (či jiné slasti). Nezávisle na tom ale mohou být proprietary, nebo free. U proprietary (vlastnického) programu si jeho autor ponechává zdrojové kódy, tajemství jeho funkce (například tím, že algoritmus patentuje) či jiná důležitá práva (omezuje použití, modifikaci apod). Drtivá většina programů byla proprietary. I autoři freewaru většinou neposkytovali zdrojové kódy a tajili své algoritmy a existovalo pouze poměrně málo opravdu free programů (TeX, X apod.), které byly opravdu free. Stallman ale jako první začal uvažovat i o free komerčním programu, tedy programu, jež je sice vyvíjen za účelem zisku, ale je stále dostupný jako free sofware. Programy patřící kategorie komerčnícho free sofwaru se začaly objevovat poměrně často. Jedním velice známým příkladem je distribuce Linuxu RedHat, kde jeho autor (komerční firma) vyvinula mnoho free sofwaru (správce balíků atd.) jenom proto, aby učinila svoji distribuci populárnější a měla tak dobrý zisk z prodeje CD a dokumentace, technické podpory a některých komerčních produktů založených na této distribuci. Navíc se velmi pěkně chová k jednotlivým vývojářům, vyplatí se jí posílat CD s instalací zdarma (aby zvýšila popularitu) a podporovat nezávislé vývojáře i jinak. RedHat je živoucím příkladem, že Stallmanova vize proti všem předpokladům funguje. Tato firma (narozdíl například od Caldery) neměla žádný velký počáteční kapitál a její aktivity v rámci proprietary sofwaru jsou poměrně malé. Jinou méně známou firmou je Cygnus, která se primárně zabývá vývojem specializovaných systémů do různých zařízení. Pro překlad těchto programů ale používá GNU C a proto se jí vyplatí tento překladač aktivně vyvíjet a podporovat. Vyvíjí také další rozšíření GNU C pro některé společnosti vyrábějící procesory (takové firmy rády zaplatí, aby získaly kvalitní překladač pro jejich platformu), a stará se například i o port GNU C pro Windows. Proto i GNU C lze považovat zcela překvapivě za poměrně komerční program. Zde zřejmě velmi kladně zapracoval další chytrý Stallmanův nápad, tedy copyleft, který chrání před komerčním zneužitím GNU. Každá taková firma je povinna své vylepšení do GNU programů zveřejnit a napomoci tak vývoji. V poslední době ale dochází k dalším překvapivým změnám. Důležitým krokem byl pravděpodobně velmi známý článek Erika Raymonda Catedrall and Bazaar. Zde si všiml velmi zajímávého faktu, že Linux je vlastně první větší projekt, který vyvracuje známé přesvědčení o neparalelizovatelnosti programování. Dlouho panovala představa, že komplikované a provázané programy musí být vyvíjeny malou skupinou lidí, která se snadno domluví na různých detailech a že přidání více programátoru vnese do projektu zvětší zmatek a často má i záporný efekt. Navíc mnoho lidí tvrdí, že program se musí zveřejnit teprve v rozumně použitelném stádiu, aby se neodradily uživatelé. Linus porušil všechna tato pravidla. Zveřejnil hned první naprosto nepoužitelnou verzi programu a na Linuxu pracují stovky až tisíce vývojářů, což bylo v té době zcela ojedinělé. Erik tento postup nazval Bazarem. Všiml si mnoha jeho vlastností. Linus například jeden čas vydával kernel dokonce dvakrát deně, aby poskytl uživatelům a vývojářům každodení odměnu za jejich práci. Toto má jednoznačně kladný efekt, což je naprosto v rozporu z tvrzením většiny knih. Erik si všiml, že takový otevřený model přináší mnoho výhod. Kód je hned testován mnoha uživately, chyby jsou mnohem rychleji nalezeny a často je opraví i samotní uživatelé. Navíc program čte více lidí, více lidí má nápady k jeho vylepšení a tak je efektivita i u tak velkého množství vývojářů vysoká. Erik ve svém článku popisuje, jak se úspešně pokusil tento postup napodobit na jednoduším programu pro přenos pošty - fetchmail. Prakticky tedy otestoval, že tento nový postup není vázán na jakéhosi poloboha jménem Linus, ale je jednoduše reprodukovatelný. Tento postup sice nebyl až tak nový a používal se i jinde. Erik ale jako první o tom napsal jímavý článek a inspiroval tak mnoho lidí k úvahám nad jejich projekty. Díky jeho článku například vznikl projekt Egcs (což je odnož GNU C s otevřeným vývojovým modelem) a Bazaar je tedy podrobován testům na ještě řádově složitějším problému, než je kernel. Mnoho pesimistů totiž argumentuje tím, že kernel Linuxu stále ještě není dostatečně provázaný program, algoritmy jsou jednoduché a o valnou část návrhu se postarali pánové z Bellových laboratoří před dvaceti lety. Na druhou stranu optimaluzijící překladač ale patří k nejkomplikovanějším programům vůbec a proto úspěch Egcs snad tyto obavy vyvrátí. Od té doby vzniklo i mnoho dalších velmi úspešných projektů s Bazarovým vývojem. Namátkou například GIMP (kreslící program dnes srovnatelný s Photoshopem), GNOME, KDE (desktopy srovnatelné z Windows) a další, které se rozvíjejí takovou rychlostí, že jsem si ji před dvěma roky nedokázal představit. Nejdůležitější na tomto článku asi je, že zaujal nejenom vývojáře free softwaru, ale i komerční firmy. Manageři zřejmě dostali pocit, že takové uvolnění zdrojových kódů jejich firmě pomůže. Někteří doufají, že tisíce vývojářů zdarma pomohou firmě předhonit konkurenci a firma potom vydělá na komerčních doplňcích, jiní doufají, že uživatelé si opraví chyby. Erik Raymond se je pokusil ještě více navnadit zavedením pojmu Open Source Software místo free software. Tento pojem zní lépe uším managerovým a hůře uším Stallmanovým. Navíc vznikla definice open source softwaru a tak by mělo docházet k méně zmatkům. První vlaštovkou byla Mozilla, která loni zcela nečekaně uvolnila zdrojové kódy Netscape. Erik Raymond a další toto viděli jako jednu z největších šancí free softwaru, protože to byl první seriózní pokus komerční firmy to otestovat. Vývoj na Netscape 5.0 prý běží v plném proudu a tak i přes velmi špatné počáteční předpoklady (velký a špatně napsaný kód, vyžadování komerčních knihoven apod.) se tento projekt zřejmě docela zdárně rozvíjí. Nevím sice, jestli to Mozille pomůže vymanit se z komplikované situace, jakou ji Microsoft vyrobil, ale snad se z Netscapu stane přece jeno o něco stabilnější a spolehlivější program. První alphaverze prohlížeče Mozilla (jak se nový free softwarový Netscape jmenuje) jsou již na světě. Neumí Javu ale jinak vypadají kratší, rychlejší a snad i stabilnější. To je rozhodně víc, než bych čekal. Mozilla ale nezůstala sama. Mnoho dalších firem zvažuje free software a to nejenom malé firmičky. Free software se sice tímto pouští na tenký led, kde nikdo přesně neví, co se stane. Nikdy se nic podobného netestovalo ale vypadá to, že i přes mnohé počáteční potíže (neznalost problematiky se strany komerčních firem, nebo zcela zbytečné vyvtváření nových free softwarových licencí nekompatibilní s GPL) věc funguje a prospívá na obou stranách. Je pravda, že některé firmy se snaží vydělat tím, že uvolní jádro programu a nechají si platit za doplňky, ale i to považuji za přínosně a zatím se to neděje příliš často. Nedavno skupina vývojářů Mac OS začala uvažovat o uvolnění zdrojových kódů. Chtějí použít vlastní licenci AAPL, která by byla podobná GPL. Vidí to jako jednu z cest, jak získat více vývojářů na jejich stranu a uskutečnit velké změny v jejich operačním systému (použít mikrojádro Mach apod.). Také se začínají obávat Linuxu. Podle odhadů RedHatu má totiž Linux 5 až 10.5 miliónů uživatelů a jejich počet i spokojenost stále narůstá obrovským tempem a proto se Apple začíná obávat odsunutí do ústraní. Nenechala na sebe dlouho čekat ani IBM, která se jen tak do žádných větších experimentů nepouští. Zveřejnila zdrojové kódy PKI (public key infrastructure), pro Linux uvolnila překladač jazyka REXX, překladač Javy, prý je téměř hotová IBM DB2 pro Linux a zvažuje se port Javovského VisualAge. Nedávno zveřejnila informace o programu pro podporu free softwarového WWW serveru Apache a dokonce zaměstnanci tvrdí, že se v laboratoři IBM pracuje na portu Linuxu pro IBM S/390. Zcela nečekaným krokem bylo také uvolnění zdrojových kódů některých důležitých programů, jako je například modul pro emulaci Windows z OS/2, což může výrazně pomoci Linuxovému emulátoru Wine. Mezi další nově free softwarové programy patří i známy distribuovaný operační systém Amobea apod. V posledních týdnech začaly vznikat dokonce i nové firmy s cílem vyvíjet free software. Nejaktivnější je zřejmě ABI, která nedavno vydala první vývojovou prerelease svého budoucího word procesoru. Mnoho firem v současné době alespoň distribuuje své programy zdarma (Be uvolnila BeOS, firma Sun nedávno Solaris - klon UNIXu (a pokud se ji podaří vyřešit licenční potíže, možná zveřejní i zdrojové kódy)), nebo převádějí své programy pro Linux (nedavno proběhl doslova závod mezi velkými databázovými programy o to, kdo bude dříve a lépe podporovat Linux a tak i důležité produkty jako Interbase, Oracle nebo DB2 fungují pod Linuxem. Mnoho z nich je k dispozici dokonce zdarma). Mezitím se vývoj nezastavil ani na nekomerčním poli. KDE 1.0 přineslo první stabilní a uživatelsky přijemný desktop, GIMP je první opravdu pěknou aplikací pro "koncové uživatele", LyX se stává komkurence schopným "Word Procesorem", nová verze gcc konečně přináší podporu Pentií a Pentií Pro, Samba 2.0 se stává nejrychlejším file serverem pro Windows. Navíc Linux zvítězil jako produkt s nejlepší technickou podporou a testy prokázaly mnohem větší stabilitu Linuxu a GNU utilit, než u podobných komerčních projektů. Pracuje se na národní podpoře. KDE, GNOME a mnoho GNU programů už umí Česky a X consorcium vydalo nový standard pro klávesnice, který by snad jednou měl vyřešit potíže z mrtvou klávesou pod X11. Protože je mnoho free softwarových programů neobyčejně kvalitních, začínají být zajímavé i pro nepočítačové společnosti. Linux byl použit při tvorbě filmu Titanic, v Los Alamos na superpočítači složeného z 68 PC (pro emulaci atomové bomby), už dvakrát byl na oběžné dráze apod. Nedavno Linux News zveřejnily souhrn událostí ve světě Linuxu za rok 1998. Je to opravdu zajímavé čtení. Vzniklo mnoho nových společností a programů. Je zajímavé sledovat změny v názorech novinářů od "Linux nikdy nebude široce používán" až k "vždycky jsem tvrdil, že Linux je seriózním konkurentem Windows NT". Za zmínku také stojí Hallowenské dokumenty, které jsou první reakci Microsoftu na Linux a jsou opravdu zajímavým čtením (ať byly stvořeny za jakýmkoli účelem) Vzhledem k tomu, kolik se toho událo jen v několika týdnech, tento rok bude rozhodně velmi zajímvým a myslím, že se máme na co těšit. Na domácí stránce open source (www.opensource.com) se dočtete: "Open Source: the Future is Here" a také, že "Open-source is an idea whose time has finally come". Možná to není ani tak nadnesené. Musíme si ale dát pozor, protože se toho také může hodně zkazit. Byl bych nerad, aby free softwarové programy byly tak nestabilní, jako některé komerční, nebo aby jejich používání bylo omezováno stejně protivně jako u shareware. Doufám ale, že k tomu nedojde. výheň