WordPress kniha

Kapitola 22 – Zrychlení cyklu vydávání

WordPress kniha - Zrychlení cyklu vydávání
Autor příspěvku Bára C.

Shuttle nebyl jedinou částí projektu, která se vlekla. Mezi verzí WordPress 2.0 inspirovanou Shuttle a další verzí WordPress 2.1 uplynul více než rok. Matt toto období popisuje jako „temné období v historii vývoje WordPressu, ztracený rok“. Nastal čas pro zefektivnění procesu vývoje.

Přístup společnosti WordPress k novým verzím dává každé hlavní verzi dvě čísla: 1.5, 2.0, 2.9, 3.4, 4.0. Opravné verze dostávají další desetinnou čárku (například 2.0.1). Mnoho jiných softwarových projektů, jako například Drupal, dává každé hlavní verzi kulaté číslo; v průběhu let se číslo verze zvyšuje. Desetinná číslovka tomu zabraňuje, i když WordPressu chvíli trvalo, než se ustálil na pravidelném číslování.

V počátcích byl cyklus vydávání sporadický. Čísla verzí skákala nahodile. Některá vydání přišla za několik měsíců, zatímco mezi verzemi 1.2 a 1.5 uplynulo 265 dní – v kódové základně bylo tolik změn, že WordPress přeskočil přechodná čísla verzí a přešel rovnou z verze 1.2 na 1.5. Verze 1.6 byla nafouknuta na 2.0, a to kvůli množství funkcí v ní obsažených a kvůli tomu, že mezi jednotlivými vydáními uplynulo 314 dní. Ale prodleva mezi verzí 2.0 (vydanou 31. prosince 2005) a verzí 2.1 (vydanou 22. ledna 2007) byla dosud nejdelší.

Mailový seznam byl aktivní a projekt přilákal více vývojářů než kdy jindy. WordPress byl stažen 1,5 milionkrát. Ale navzdory aktivní konverzaci nikdo nedodával kód. Příspěvek k vydání WordPressu 2.1 s množstvím nových funkcí ukazoval na neustálou touhu přidat ještě jednu funkci, místo aby se čekalo na její zařazení do další verze. Vydání plná funkcí přinášela nesčetná vylepšení, ale za cenu zpoždění.

Zpoždění frustrovalo přispěvatele kvůli dlouhým cyklům vydávání a kvůli tomu, že přístup k revizím byl stále omezen na Matta a Ryana. Každý projekt svobodného softwaru přistupuje k přístupu k revizím jinak a ve WordPressu se mísí lidé, kteří podporují řízenou politiku revizí ve stylu Linuxu, a ti, kteří upřednostňují otevřený přístup. Pro mnoho vývojářů byla restriktivní politika revizí částečně na vině zpoždění.

Ryan tvrdil, že definovaný trychtýř zabraňuje situacím, kdy „k hádkám, při nichž se pálí mosty, dochází spíše v úložišti než v komentářích k lístkům“. Pokud je počet odevzdávajících omezený, diskuse o přístupu a implementaci probíhají ještě předtím, než se jakýkoli kód dotkne hlavního repozitáře, odkud je obtížné jej odstranit. Politika otevřených revizí umožňuje svižnější vývoj, ale „volná kontrola vede ke špagetovému kódu a flamewars kvůli nepodstatným otázkám,“ tvrdí Douglas Daulton, zastánce trychtýře, v příspěvku wp-hackers.

V rámci těchto diskusí Ryan kodifikoval proces odevzdávání, který je součástí vývoje dodnes:

  • Ke každé revizi musí být přiložena jízdenka.
  • Před odevzdáním je kód zkontrolován nejméně dvěma lidmi – jeden z nich provede revizi kódu a druhý integrační/architektonickou revizi.
  • Tyto recenze provádějí důvěryhodní přispěvatelé.

V březnu 2006 byly patrné postupné pozitivní změny. Ryan navrhl, aby se kanál #wordpress-dev na IRC zaměřil jako doplněk kanálu #wordpress, který se stal místem pro obecnou konverzaci a podporu. Mark Jaquith poukázal na úspěch systému Bug Gardening při otevírání tracu; rozšíření oprávnění pro „bug gardenery“ zodpovědné za třídění ticketů rozdělilo pracovní zátěž a vedlo k „celé řadě lidí, kteří samostatně opravují chyby, odesílají záplaty a nechávají je odevzdávat“. Další pozitivní změnou byla e-mailová konference trac, která proměnila trac z prostého sledování chyb na místo pro cílenou diskusi a omezila tendenci wp-hackerů bloudit v konverzačních králičích norách.

Jak práce na WordPressu 2.1 pokračovaly, Ryan navrhl, aby se WordPress 2.0 dostal do Debian stable, oficiální verze open-source operačního systému Debian. WordPress již byl v testovací a nestabilní distribuci, které obsahují balíčky připravené k začlenění do stabilní verze. Aby mohl být WordPress 2.0 zařazen do Debian stable, musel by být udržován po dobu tří až pěti let, včetně backportování bezpečnostních problémů, aby bylo zajištěno, že všechny předchozí verze zůstanou stabilní. Mark Jaquith se ujal úkolu udržovat větev WordPress 2.0 a projekt se zavázal udržovat ji po dobu tří let, tedy do roku 2010.

Krátce po svém nástupu do čela dědictví získal Mark Jaquith přístup k revizím. Mark se na WordPressu podílel od roku 2004 a do projektu přišel z Movable Type. Za dva roky své práce přispěl mnoha příspěvky, včetně úspěšného systému zahradničení chyb. Bylo to znamení, že se trychtýř začíná rozšiřovat, a začátek období, kdy – pomalu, ale jistě – přibývali další revizoři.

Přístup k závazkům byl nabízen střídmě; nebyl udělován na základě znalostí kódování nebo množství práce, kterou vývojář odvedl. Přidání nového revizora znamenalo důvěru, že bude dodržovat zásady projektu, který je zaměřen především na uživatele. „Nešlo jen o to, že jste prokázali odhodlání přispívat,“ říká Peter Westwood (westi), „ale také o to, že jste prokázali porozumění étosu komunity, jejímu sdílenému přesvědčení a filozofii“.

Přidání dalšího revizora vývojový cyklus nezrychlilo, a tak se tým vážněji podíval na vývojový proces WordPressu – nebo jeho nedostatek. Na wp-hackers se rozběhla diskuse o přechodu na 120 denní cyklus vydávání a Matt se podělil o své myšlenky, jak by měl časový plán vydávání vypadat:

  • 2 měsíce bláznivé zábavy a divokého vývoje, kde je možné cokoli.
  • 1 měsíc trochu leštění věcí a výkonu.
  • Zmrazení funkcí.
  • 1 měsíc testování s veřejným vydáním beta verze na začátku.

Reakce komunity byla pozitivní. Struktura 120 dnů poskytla konkrétní termín a kratší cykly vydávání znamenaly, že funkce nemusí zdržovat vydání, protože další verze teoreticky přijde předvídatelně. (V praxi to často záleželo na tom, o jakou funkci se jednalo, kdo stál v jejím čele a jak daleko byla). WordPress 2.1 byl první verzí, která byla dodávána s konkrétním datem vydání další verze: 23. dubna pro WordPress 2.2.

Zveřejnění termínů vydání dalo projektu pevné termíny, které se začaly považovat za slib – slib termínu vydání, který si uživatelé mohli naplánovat. Projekt sice nestihl další termín, ale jen o několik týdnů; WordPress 2.2 vyšel 16. května 2007.

Zdroj: Github.com – 22. Speeding up the Release Cycle

O autorovi

Bára C.

Věnuji se reklamě ve všech jejích podobách - grafice, copywritingu a fotografii.

Zanechat komentář

Black Friday 2022 ve světě WordPress (šablony, pluginy, služby)

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ž 8 let. O WordPress přednáším a pořádám školení. Pro své klienty vytvářím a spravuji webové stránky.