WordPress kniha

Kapitola 13 – Usměrnění vývoje

Autor příspěvku Tomáš Cirkl

Po WordPress 1.5 došlo ke změně ve vývoji softwaru. Došlo ke změně verzovacího systému z CVS na více moderní verzi Subversion (SVN). [^fn-1] Nejvíce aktivní přispěvatelé v té době byli Ryan a Matt. Po této změně se nikdo jiný z původních vývojářů již do přispívání nezapojil.

‘Committer’ (do češtiny by se dalo přeložit jako Přispěvatel) je někdo, kdo vloží do centrálního repozitáře nějakou změnu. Počet lidí, kteří takovou změnu mohou udělat se liší projekt od projektu, kde se rozhoduje na základě struktury a filozofie. Otázka, kdo by měl mít přístup do WordPress repozitáře se tedy znovu vracela. Pravidelně se objevovala vlákna, že by měl být udělen přístup více lidem.

Přechod z CVS na Subversion předznamenal delší období, kdy došlo ke zúžení WordPress vývoje. Přispěvatelé vytvořili patch, nahráli jej do Mosquito (později na trac), [^fn-2] a kód byl prohlédnut jedním z přispěvatelů a následně vložen do hlavního repozitáře. Po čase se vše ještě zúžilo, když se Mattovi zájmy posunuly jinam a Ryan řídil vývoj. Toto “zúžení” vývojářského stylu mělo své výhody i nevýhody a často bylo tématem diskuze v komunitě, speciálně pak u wp-hackers. Výhoda toto procesu je v tom, že neshody v kódu se objeví v emailovém seznamu ještě předtím, než se dostanou do repozitáře. Nevýhoda je v tom, že jeden člověk musí projít každý patch, zatímco frustrovaní vývojáři čekají, než se jejich patch do repozitáře dostane.

WordPress začínal být znám jako softwarový projekt zdarma, který má definovaný vývojářský proces a vývojářskou infrastrukturu. Ryanovi předchozí zkušenosti vedli k těmto změnám. WordPress se lišil od Linux, který měl pouze jednoho přispěvatele – zakladatele projektu Linuse Trovalda – WordPress měl dva Matta a Ryana. Během let se řady rozšířili a přispěvatelů bylo více. Dalším rozdílem byli “údržbáři”, kteří spravovali jiný subsystém před tím, než publikovali patch. To znamená, že Torvald nekontroloval tisíce patchů, které byly vkládány. Kontroloval pouze část a zbytek delegoval na údržbáře. I když se WordPress v budoucnosti tomuto systému přiblížil, nikdy jej zcela nepřevzal.

Existuje spousta důvodů, proč lidé požadovali přístup do schvalovacího procesu: zrychlení vývoje, zabránění situací, kdy patch čeká měsíce na kontrolu, vytvořit vyváženější projektovou strukturu. Přidání nových přispěvatelů do projektu se stalo hlavním rozhodnutím a dramatická změna v projektu se přiblížila k bodu volného vývoje, jako tomu bylo u verze WordPress 0.7. Když projekt začínal, každý, kdo prokázal nějaké těchnické zkušenosti a minimální snahu vložit příspěvek, získal přístup. Ale jak projekt a čísla rostli, bylo velmi důležité stanovit nějaký druh filtrovacího mechanizmu. Přispěvatel je filtr, který rozhoduje, jaký kód se dostane dál. Když někdo dostane přístup do repozitáře, znamená to, že se jedná od důvěryhodnou osobu. Je nezbytné, aby přispěvatelé věděli, který kód se může do WordPress dostat.

Kare Fogel popsal přispěvatele jako “jedinou formální třídu lidí ve všech open source projektech”. Napsal: “Přispěvatelé jsou nevyhnutelný ústupek od disktriminace v systému, který je jinak nediskriminační jak to jen jde.” I přes veškerou snahu je přispěvatel funkce a vkládání je symbol důvěry. Obě věci společně s potřebnými zkušenosti ohledně kódu a víru v projekt jsou nezbytné. Právě to by měl být rozdíl u lidí, kteří mohou a nemohou získat přístup.

Přispěvatelé poskytují kontrolu kvality. Rozhodnutí, kdo získá přístup, nejprve předchází povinnost najít lidi, kteří dobře rozumí kódu, ale jsou také dobří v procházení kódu jiných lidí. To znamená být dobrý v rozpoznání míst, v kterých může být kód vylepšen a poskytování konstruktivní zpětné vazby. Ale jsou zde i další sociální zkušenosti, které jsou společné s možností stát se přispěvatelem. Člověk musí souhlasit s ideály projektu. Ve WordPress to znamená být plně oddán projektu, který na první místo staví uživatele. Přispěvatelé také musejí “umět chodit v sandboxu“. Někdo může umět psát skvělý kód, ale pokud nejsou schopni pracovat s ostatními, tak se nikdy nestanou dobrými přispěvateli. Je důležité učinit správné rozhodnutí o tom, kdo dostane přístup, protože jakmile bude jednou přidělen, je těžké jej odebrat.

V pokusu se vyhnout mentalitě “oni a my”, kdy přispěvatelé mohou získat vyšší status než ostatní, měl WordPress pouze dva přispěvatele. To znamenalo, že vše mělo stejná pravidla a hodnotící proces. Otevření více lidem mohlo vést k nespokojenosti mezi těmi, kteří přístup nedostanou. Ale neotevření by vedlo k tomu, že vývojáři by z důvodu frustrace nepokračovali ve svých projektech. Malé množství Přispěvatelů by vedlo k nahromadění obrovského množství patchů čekající na posouzení.

Mezi Přispěvateli a těmi, kteří projekt udržují by se vytvořila bariéra neznáma. Kdo získá přístup do repozitáře a na jak dlouho? Jaký status příspěvek získá? Měli by být Přispěvatelé jen hlavní vývojáři? A kdo vlastně jsou “hlavní vývojáři”? Během let se tyto otázky v různých formách neustále objevovaly ve vývoji.

[^fn-1] Systém pro verzování software a správu změn. Každá změna je identifikována pomocí čísla a jména osoby, který ji provedl. Často doplněné o komentář s informací o změně. Verzovací systém umožňuje udržet informace o změnách a nabízí jednoduchý způsob jak při potřebě vrátit změny.

[^fn-2] Mosquito byl první systém pro zachytávání chyb ve WordPress. Později se vše přesunulo na trac.

Zdroj: Milestones: The Story of WordPress – 13. Development in a Funnel

O autorovi

Tomáš Cirkl

Baví mě Internet a zvláště pak redakční systém WordPress. Jsem pravidelným účastníkem a přednášejícím na WordCamp Praha a WordPress konferencích.

Zanechat komentář

Získejte více informací o WordPress!

Připojte se do našeho emailového seznamu a nenechte si ujít informace, novinky a návody ze světa WordPressu.

Úspěšně jste se zapsali do našeho newsletteru. Děkujeme!

Tomáš Cirkl

Tomáš Cirkl

WordPress specialista

Blog WPlama.cz píši už více než 3 roky. O WordPress přednáším a pořádám školení. Pro své klienty vytvářím a spravuji webové stránky.