<<<OBSAH  >>>ENCSEN/CSZVONPreklady

10. Spolecensky kontext otevreneho software

Je velkou pravdou, ze nejlepsi programy zacinaji tak, ze autor sam potrebujete vyresit sve kazdodenni problemy, a siri se proto, ze se ukaze, ze takovy problem trapi mnoho ostatnich uzivatelu. To nas vede zpet k pravidlu 1, ktere je preformulovano do mozna uzitecnejsi podoby:
18. Pokud chcete pracovat na zajimavem problemu, zacnete tim, ze naleznete problem, ktery zajima vas osobne.
Tak zacal i Carl Harris s popclientem a ja s fetchmailem. To se ale vi uz davno. To zajimave, co nam Linux a fetchmail prinesl, je dalsi krok. Vyvoj programu ve velke skupine vyvojaru a uzivatelu.
V knize The Mythical Man-Month, Fred Brooks tvrdi, ze programatoruv cas neni nastavitelny. Pokud pridate programatory do projektu, ktery se opozduje, opozdi se jeste vice. Dokazuje, ze slozitost a problemy s komunikaci se zvysuji se ctvercem poctu programatoru, zatimco mnozstvi prace stoupa pouze linearne. Toto tvrzeni se pozdeji stalo Brookovym zakonem, ktery je casto povazovan za predmet viry. Kdyby ale tento zakon platil beze zbytku, Linux by nemohl existovat.
Klasicka kniha Geralda Weinberga : "`The Psychology Of Computer Programming'', obsahuje neco, co muzeme pri zpetnem pohledu povazovat za nesmirne dulezitou opravu Brookova tvrzeni. V jeho diskuzi "nesobeckeho programovani" Weinberg tvrdi, ze ve skupinach, ve kterych si vyvojari nechrani svuj kod a vybizeji ostatni, aby jim pomohli vyhledavat chyby a navrhovat vylepseni, projekty probihaji mnohem rychleji nez jinde.
Weinbergova terminologie mozna zabranila tomu, aby jeho analyza ziskala takove prijeti, jake si zasluhovala, clovek se musi usmat pri myslence, ze Internetovsti hackeri jsou "nesobecti". Nicmene, myslim, ze jeho argumenty nebyly nikdy tak aktualni jako dnes.
Historie Unixu nas mela pripravit na to, co se nyni ucime z Linuxu (a co jsem v mensim meritku overil experimentalne tak, ze jsem umyslne kopiroval Linusovi metody). Tedy to, ze zatimco kodovani zustava vicemene samotarskou aktivitou, opravdu velke myslenky se uskutecnuji tehdy, pokud je vyuzita pozornost a mozky cele spolecnosti. Vyvojar, ktery vyuziva pouze vlastni mozek v uzavrenem projektu musi zaostat za vyvojarem, ktery dokaze iniciovat otevreny evolucni projekt, ve kterem se odhalovani chyb a vylepseni venuji stovky lidi.
Tradicnimu Unixovemu svetu bylo zabraneno v dotazeni tohoto pristupu nekolika faktory. Jednim z nich byly pravni omezeni, ruzne licence, obchodni tajemstvi a zajmy. Dalsi prekazkou (pri zpetnem pohledu) bylo to, ze Internet jeste nebyl na dostatecne urovni.
Pred levnym Internetem existovala prostorove omezena spolecenstvi, jejichz kultura podporovala Weinbergovo "nesobecke programovani", ve kterych mohl programator snadno prilakat mnoho divaku a spolupracovniku. Bellovi laboratore, MIT AI laboratore, UC Berkeley se staly legendarnimi domovy vynalezu a jsou stale velmi plodne.
Linux byl prvym projektem, ktery vedome a uspesne vyuzil cely svet jako svoji studnici talentu. Nemyslim si, ze je nahodne, ze Linux vznikal v dobe zrodu WWW a ze Linux opustil sva batoleci leta se zacatkem nastupu Internetu do bezneho povedomi(1993-1994). Linus byl prvni, ktery se naucil hrat podle novych pravidel, ktere nastolil vsudypritomny Internet.
Zatimco levny Internet byl nutnou podminkou pro to, aby se Linuxovy model uplatnil, myslim, ze to nebyla podminka dostacujici. Dalsim nesmirne dulezitym faktorem byl vyvoj stylu vedeni a vytvoreni zvyku, ktere umoznily vyvojarum ziskat dalsi spolupracovniky a vyuzit vsechny moznosti tohoto media.
Ale jaky je styl vedeni a jake jsou tyto zvyky? Tyto zvyklosti nemohou byt zalozeny na sile, a i pokud by byly, tak by vedeni z pozice sily nemohlo prinest vysledky, ktere vidime. Weinberg cituje z autobiografie "Memoary Revoluce", kterou v 19. stoleti napsal rusky anarchista Petr Alexejevic Kropotkin.
"Jelikoz jsem se narodil v rodine, ktera vlastnila nevolniky, zapocal jsem svuj aktivni zivot, jako vsichni mladi muzi v mem veku, s pevnou virou v nutnost povelu, prikazu, trestu atd. Brzy jsem ale musel ridit dulezite zalezitosti a jednat se [svobodnymi] muzi, ve kterych kazda chyba mela zavazne nasledky. Zacal jsem ocenovat rozdil mezi cinnosti na zaklade prikazu a discipliny a cinnosti na zaklade spolecneho porozumeni. To prve obdivuhodne pracuje pri vojenske prehlidce, ale nema zadnou cenu ve skutecnem zivote, kde cile muze byt dosazeno pouze usilim mnoha spolupracujicich mysli.
"Velke usili mnoha spolupracujicich mozku, to je presne to, co projekt jako Linux vyzaduje, a model rizeni zalozeny na povelech je zcela nemozny v prostredi dobrovolniku v anarchistickem raji, ktery nazyvame Internet. Aby mohli pracovat a soutezit efektivne, programatori, kteri chteji vest projekty zalozene na spolupraci, se musi naucit, jak ziskat a povzbuzovat skupiny lidi se spolecnym zajmem, jak neurcite naznacuje Kropotkin svym "principem porozumeni". Musi se naucit vyuzivat Linusuv zakon.
Drive jsem se zminil o "Delphi efektu" jako o moznem vysvetleni Linusova zakona. Jeste silnejsi analoga s prispusobivymi systemy ale nabizi biologie a ekonomie. Linusuv svet se v mnoha ohledech chova jako volny trh nebo ekologie, spolecnost sobeckych individui, ktere se snazi maximalizovat uzitek a pri tomto deji vznika sebeopravujici se spontanni rad vice propracovany a ucinnejsi, nez muze dosahnout jakekoliv centralni planovani. Zde bychom meli hledat "princip porozumeni".
"Uzitkova funkce, kterou Linuxovy programatori maximalizuji neni klasicky ekonomicka, ale lze ji spojit s uspokojenim vlastniho ja a ziskanim dobre reputace mezi ostatnimi programatory. (Nekdo by mohl nazvat toto chovani altruisticke, ale tento pohled ignoruje fakt, ze altruismus je sam o sobe formou uspokojeni vlastniho ja pro altruistu). Dobrovolna spolecenstvi, ktera pracuji podobnym zpusobem nejsou ve skutecnosti vzacna, podobnym, ve kterem jsem zapojen jiz velmi dlouho je okruh pratel science fiction, ve kterem je vyslovne uznavano, ze hlavnim motivem pro spolupravi je zvyseni vlastni reputace mezi ostatnimi.
Linus tim, ze se uspesne postavil do role ochrance projektu, ktery je z velke casti rozvijen nekym jinym a tim, ze ziskaval podporu pro projekt dokud se projekt nestal sebeudrzujicim, ukazal, ze plne pochopil Kropotkinovo pravidlo sdileneho porozumeni. Kvasi-ekonomicky pohled na Linuxuv svet nam umoznuje pochopit, jak se tento princip uplatnuje.
Muzeme nahlizet na Linusovy metody jako na zpusob, jak vytvorit ucinny trh v uspokojovani vlastniho ja, tim, ze pripouta sobectvi individuelnich programatoru co nejpevneji k obtiznym cilum, ktere mohou byt dosazeny pouze vytrvalou spolupraci. V projektu fetchmailu jsem ukazal (ackoli v mensim meritku), ze tato metoda muze byt napodobena s dobrymi vysledky. Mozna, ze jsem vse delal s plnejsim vedomim a systematicteji nez Linus sam.
Mnoho lidi, zejmena tech, kteri politicky neduveruji volnemu trhu, ocekavaji, ze spolecnost seberidivich egoistu bude fragmentovana, bude ochranovat sva uzemi, bude plytvat zdroji, vse tajit a bude k sobe nepratelska.Ale tot ocekavani je jasne vyvraceno napriklad prekvapujici ruznorodosti, kvalitou a hloubkou dokumentace Linuxu. Je to zazrak, kdyz si uvedomime, jak programatori nenavidi psani dokumentace. Jak je tedy mozne, ze programatori Linuxu ji produkuji tolik? Je zrejme, ze Linuxuv volny trh v sebeuspokojovani funguje lepe pri nastoleni ctnostneho chovani nez masivne financovane dokumentacni utvary poskytovatelu komercniho software.
Fetchmail i Linux ukazaly, ze pokud dostatecne odmenim ego mnoha jinych programatoru, silny vyvojar-koordinator muze vyuzit Internet, aby ziskal mnoho spolupracovniku, aniz se projekt zhrouti v chaoticky zmatek. Takze ja navrhuji nasledujici protiargument k Brookove zakonu.
19. Pokud ma koordinator projektu k dispozici medium alespon tak dobre jako Internet a dokaze vest bez prikazu, mnoho hlav je nevyhnutelne lepsi nez jedna.
Myslim si, ze budoucnost otevreneho software bude stale vice patrit lidem, kteri vedi, jak se chovat v Linusove hre, lide, kteri opusti katedralu a vezmou si trziste za sve. Tim nechci rici, ze uz nezalezi na individualnich vizich a velkych schopnostech. Spise si myslim, ze budoucnost patri lidem, kteri zacnou s individualni vizi a velkymi schopnostmi a ty potom zmnohonasobi ve vytvorenych skupinach se spolecnym zajmem.
A mozna nejen budoucnost otevreneho software. Zadny vyvojar v uzavrenem projektu nemuze mit takovou nabidku talentu pro vyreseni problemu, jako se nachazi ve spolecenstvi Linuxu. Jen malokdo si muze dovolit najmout vice nez 200 lidi, kteri prispivali do fetchmailu.
Mozna ze nakonec kultura otevreneho software zvitezi ne proto, ze je moralne spravna, nebo ze hamoneni software je moralne spatne (za predpokladu, ze tomu druhemu verite, ja ani Linus ne), ale jednoduse proto, ze uzavrene projekty nemohou vyhrat v evolucnim zapase s otevrenym systemem, ktery muze vynalozit o nekolik radu vice kvalifikovaneho casu na reseni problemu.

<<<OBSAH  >>>ENCSEN/CSZVONPreklady