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ň