Hlavní navigace

Tvorba open source softwaru: jak úspěšně řídit projekt (+ soutěž)

Petr Krčmář

V Edici CZ.NIC vyšla další česká kniha. Tentokrát jde o titul Karla Fogela, který se zabývá pohledem na lidský prvek při řízení a správě open-source projektů. Většina z nich totiž začíná jako nápad jednoho člověka, ale pokud se má stát projekt skutečně velkým a úspěšným, je potřeba více než jen umění programovat.

Autor Karl Fogel skutečně ví, o čem píše. Sám se totiž podílí či podílel na vývoji několika velkých open-source projektů jako Subversion, CVS, Launchpad či Emacs. Má tedy velké množství praktických zkušeností s různými typy vývojářských skupin, s jejich řízením, chybami i selháním. Právě o těchto tématech je jeho kniha.

Marketing a PR není sprosté slovo ani v open source

Pokud vás při přečtení názvu knihy napadlo, že půjde o další příručku pro programátory obsahující informace o vývojářských nástrojích, jste na omylu. Toto je kniha z kategorie „pro manažery“. Ovšem nenechte se zmýlit, nejde v ní ani o byznysové poučky plné newspeaku. Kniha vám vysvětlí, jak byste měli vést svůj otevřený projekt.

Vývojáři a marketing jsou dva oddělené světy, které se vzájemně nenávidí. Je to bohužel přirozený důsledek naprosto rozdílného přístupu k věci. Zatímco programátor chce, aby věc dokonale fungovala a prodávala se sama o sobě, marketér jej tlačí do nesmyslných věcí jako jsou vzhled, barvičky, tlačítka a ikonky. Lidé z marketingu zase bývají nešťastní z programátorů, které zajímají ozubená kolečka a hejblátka, ale úplně kašlou na vnější dojem.

Aby byl ale projekt úspěšný, je třeba oba tyto světy sblížit a zajistit jejich spolupráci. Aplikace musí samozřejmě dobře fungovat, ale zároveň je třeba ji udělat tak, aby byla použitelná i pro uživatele, který nebyl u jejího vývoje. Instalátor je pitomost, prostě to tam nakopčím, spustím ty dva skripty, založím databázi a je to.

Právě špatná komunikace a prezentace (uvnitř projektu i vně) bývá nejčastějším důvodem, proč jinak zajímavé projekty končí. Autor knihy tvrdí, že podle jeho zjištění více než 90 % open-source projektů selže. Buď přestanou úplně produkovat svůj software nebo se dostanou do nějakého podivného stavu, který odrazuje jak uživatele, tak i nové vývojáře. Samozřejmě za tím mohou stát klasické problémy všech projektů jako špatná cílová skupina, nejasné zaměření či špatný návrh. Kniha se ale těmito „obecnými“ problémy prakticky nezabývá. Namísto toho rozebírá situaci specifickou právě pro open source.

Open source není všelék

 



Autor velmi realisticky uvádí, že otevření projektu automaticky nevyřeší jeho problémy. Mnoho projektů totiž čeká, že po vydání tiskové zprávy „od dnešního dne to vydáváme pod GPL“ se seběhnou stovky vývojářů a začne se „něco“ a „nějak“ samo dít. Naopak tím jen přicházejí problémy nové a je třeba hodně úsilí, aby se otevření konkrétního projektu dobře zúročilo.

Dalším velkým problémem, který jako uživatelé open source dobře známe, je špatná prezentace směrem ke koncovým uživatelům. Dokumentaci napíšeme, až to bude hotové. Problém ale je, že to nikdy nebude hotové, takže se obvykle ta dokumentace nenapíše vůbec. Stejně tak instalátor, uživatelské fórum, pořádný web. Z hlediska vývojářů je na to vždycky dost času, ale uživatel ztratí automaticky zájem, pokud to není teď hned.

Velmi podceňovanou oblastí je také řízení projektu. Jak řízení? My se na tom podílíme rovným dílem všichni! Každý projekt potřebuje vedení, směrování, práci se zdroji. Zní to jako prázdné fráze, ale je to tak. Pokud se nechá různorodá skupina dobrovolníků úplně bez usměrnění, projekt se rozpadne, protože nebude nikdo, kdo by řekl, co se má dělat teď a co chceme mít hotové za rok. Podstatné ovšem je, že na dobrovolníky nemůžete jít příliš zostra, jinak vám také utečou. Klasické manažerské kurzy jak za týden dostat líné podřízené do latě jsou vám tady k ničemu.

Další významnou skupinou problémů představují mezilidské vztahy. Před několika lety zažil velké potíže projekt Gentoo, kterému začali utíkat vývojáři kvůli osobním rozepřím a neshodám. Do podobných projektů se totiž zapojují různě založení lidé z různých prostředí a kultur a i při malicherných hádkách může být k napadání velmi blízko. Je to debil, nebudu se s ním bavit! To dokáže demotivovat prakticky každého.

Politika se dělá i tady

Dalším programátorsky „sprostým slovem“ je politika. Je to něco zbytečného, špatného a vůbec v projektech nepotřebného. Tady přece není nic k vyjednávání, tohle je jednoznačně lepší řešení! Ne vždycky je možné objektivně rozhodnout, která varianta je lepší. V takovou chvíli přijde ke slovu politika. Ta nemá s vývojem kódu přímo nic společného a většinu lidí může otravovat. Je ale naprosto nutná a objeví se u každého většího projektu.

Je přirozené, že se začnou objevovat snahy o vytýčení pozic některých členů, posílení vlastního vlivu či zmírnění vlivu někoho dalšího. Politika je zkrátka stav, k němuž dochází, když se lidé neshodnou, a úspěšné projekty jsou ty, které rozvíjejí politické mechanismy ke konstruktivnímu zvládání neshod.

Jako člen či dokonce vedoucí projektu si musíte uvědomit, že každý zvolený krok má i své politické důsledky. Přímo či nepřímo ovlivňuje další účastníky projektu, motivuje je, nebo naopak demotivuje, naštve je, uklidní či znervózní. Pokud například někomu svěříte důležitou funkci, projevíte mu určitou důvěru a posunete tím určitým způsobem jeho pozici v projektu. To může mít nedozírné následky a je třeba se je naučit předvídat a využívat.

Největším problémem ale bývá, když se některé věci probírají tajně, problémy se řeší skrytě nebo se neřeší vůbec. Vzniká tím napětí, pocit nedůvěry, dojem z tajemných zákulisních tlaků a projekt se začne otřásat v základech. U otevřených projektů je kromě otevřenosti kódů důležitá také transparentnost v rozhodování, řešení problémů a komunikaci vůbec.

Kudy ano a kudy ne?

Kniha Karla Fogela se snaží všem potenciálním účastníkům otevřených projektů ukázat, jak se to má dělat správně. Zároveň ale předkládá i řadu špatných příkladů, aby bylo jasně vidět, jak problémy začínají, jak se rozvíjejí a kdy je možné s nimi ještě něco udělat.

Kniha se zabývá především komunikací se všemi okolo – s ostatními vývojáři, s uživateli, s testery a dalšími, kteří se motají kolem projektu. Je ovšem rozkročena mezi několik různých témat: založení projektu, volba jména, volba licence, příprava techniky, komunikační kanály či finance. Ovšem věnuje se i technické stránce vývoje: jak vydávat nové verze, jak komunikovat s ostatními, či jaké nástroje použít při řešení chyb.

Rozhodně se netýká jen lidí stavících se do role „vedoucích projektu“, ale zajímavé postřehy v ní najdou vůbec všichni, kteří se nějak dobrovolně zapojují. Hladký běh projektu totiž vyžaduje dobrou souhru všech. Nejen při programování, ale stejnou měrou i při komunikaci a řízení.

Informace o knize

Název: Tvorba open source softwaru
Autor: Karl Fogel
Vydavatel: CZ.NIC
Vazba: brožovaná
Počet stran: 312
Cena: 299 Kč
ISBN: 978-80-904248-5-2

Knihu je možné zdarma stáhnout v naší knihovně nebo koupit u CZ.NIC či vyhrát v naší soutěži.

Soutěž o tři výtisky

Pokud máte zájem o tištěný výtisk knihy, můžete se zúčastnit naší soutěže. Odpovědi je možné posílat do úterý 17. července 2012 do 23:59 hodin. Ze správných odpovědí budou vylosováni tři výherci, kteří obdrží poštou výtisk knihy.

Soutěž už byla ukončena a výherci byli vyhlášeni.

Našli jste v článku chybu?