Jsem rád, že i na základě mnou sepsaného příspěvku, se na oficiálním fóru včera (21.10.2007) objevil docela obsáhlý post, který se snaží celou situaci vyjasnit. Příspěvek je docela dlouhý a v angličtině. Je však natolik zajímavý, že jsem do vás svůj čas investoval...
V posledních 2 týdnech po vydání RC3 verze jsem zaznamenal některé dotazy na fóru a mailové konferenci. Viděl jsem zde stížnosti na to, že RC3 verze je spíše jen ukázkou technologie než skutečný release candidate (verze skoro určená k vydání jako stabilní – pozn. překladatele). Někteří lidé si myslí, že stále jen přidáváme funkce a provádíme změny funkčnosti.
V tomto článku se pokusím, dle mého nejlepšího svědomí a v maximální otevřenosti, o popsání aktuálního stavu vývoje a dát na otázky odpověď.
Definice release candidate verze
Nejdříve je nutno říci, že existuje mnoho názorů na to, co je release candidate verze a co to pro lidi znamená, pro jednoho může být release candidate verze to, co pro jiného beta verze. Osobně jsem si vždy myslel, že release candidate verze:
“Release candidate verze je verze s potenciálem stát se finálním produktem připraveným k vydání, pokud se neobjeví fatální chyby. V této fázi produkt obsahuje již všechnu plánovanou funkčnost a neobjevují se žádné závažné chyby. V této fázi je kód produktu již kompletní.
Vydání je označeno za kompletní ve chvíli, pokud se vývojový tým shodne, že již nebude přidáván žádný nový zdrojový kód. Mohou zde však být opravy, které samozřejmě opravují chyby. I tak zde mohou být změny v dokumentaci a v datových souborech a také změny v kódu pro testování nebo utility. Nový kód může být přidán v další verzi.”
Tohle není zrovna učebnicový příklad
Ve světle předchozího textu musím souhlasit s tím, že naše RC verze nejsou zrovna učebnicovými příklady release candidate verze. Myslím si, že je pro to dost důvodů :
1. Máme velmi omezené množství člověkohodin, při pouze 5 lidech z 20 aktivních vývojářských pracovních skupin je skoro nemožné dávat si nějaká přehnaná předsevzetí. Řečeno po pravdě, právě jsme zrušili celou Q&T pracovní skupinu prostě jen proto, že mnoho lidí z ní bylo neaktivních a zůstává to jen na komunitě, aby odhalila problémy. Protože je většina testů komunity prováděno až po vydání RC verze, je to právě ten okamžik, kdy se na problémy přichází.
2. Potýkáme se s novou a vcelku neotestovanou kódovou základnou, její přijímání je teprve v ranné fázi. Někdy se objeví problémy, které vyžadují změny v API nebo intenzivní přepracování a to samozřejmě vede k novým chybám. Radši dělám tuto práci teď, dokud jsme v udržovacím módu, když to způsobí jen další chyby. Poslední věcí, kterou chci zdůraznit je to, že musíme nejdříve vydat 13 opravných verzí za jeden rok, abychom dosáhli relativní stability kódu, podobně jako to bylo u verze 1.0.x.
3. Setkáváme se regresními chybami programu zásluhou složitosti zdrojového kódu. To jsme očekávali. Bylo by velmi optimistické od nás očekávat že vytvoříme a přepracujeme všechen kód hned napoprvé, zvláště poté, to nemáme regresní testování. A opět nás nedostatek člověkohodin donutil nastavit priority, ale regresní testování mezi nimi nebylo. I když to uděláme, je regresní testování uživatelského rozhraní velmi náročná a vyčerpávající práce.
Nesouhlasím s tím, že do verze 1.5 přidáváme novou funkčnost, ale rozumí tomu, že tyto názory existují. Nová funkčnost, která by nebyla vyloženě nutná pro odstranění chyb, nebyla do verze 1.5 přidána od chvíle, co jsme dosáhli RC verze. Provedli jsme mnoho změn a optimalizací kódu. Poslední změny do struktury frameworku jsme provedli na základě problémů s pamětí v tzv. Legacy módu (mód, kdy je nová Joomla kompatibilní se starou verzí – pozn. Překladatele, jsou toho dobrým příkladem. Ano, vyžadují rozsáhlé změny a přinesly nové chyby, ale bez nich nebyl tento mód stabilní. Myslím si, že je to část jakéhokoliv RC cyklu. Fakt, že kód verze 1.5 je úplně nový způsobí, že je zapotřebí mnoha změn, což opět vede k chybám.
Takže tedy souhlasím s tím, že RC verze nejsou to, co by si někdo mohl pod typickou RC verzí představit. Osobně bych rád viděl uvedení spíše beta 3 a možná i beta 4 verze a mohlo by to vyřešit problémy s pochopením toho, co teď děláme. Vývojový tým se však rozhodl takto. Udělali jsme chybu? Osobně si myslím, že ne, protože ve chvíli, kdy jsme tak činili, se to jevilo jako správný krok.
Zaměření se na projekt
Joomla! Projekt prochází největší změnou ve vývoji, jakou kdy udělal a proto bych chtěl všechny požádat o to, abyste na chvíli polevili a zhluboka se nadechli. Prosím nevyvíjejte neadekvátní tlak na osoby dělající svou práci. Jsou to dobrovolníci, kteří to dělají proto, protože je to baví. Vyvíjení tlaku jim to potěšení vezme, ale vývoj to neurychlí.
Měli bychom vidět to, že Joomla! je živá a vyvíjející se úspěšná skupina. Je to projekt, ne produkt. Příliš mnoho je nyní zaměřeno na verzi 1.5, produktu, Nenechte nás ztratit nadhled projektu.
Když se Joomla! oddělila od Mamba, vše, co jsme si vzali byl produkt, kód. Neměli jsme servery, stránky, struktury, procesy, … peníze. V minulých dvou letech jsme dřeli na to, aby byl projekt úspěšný, úspěch, který normálně vezme 3 až 5 let. Za pouhé 2 roky jsme vyrostli do opravdu mezinárodního projektu s více než 250 pracovními skupinami našich členů po celém světě, rozdělených do 5 skupin. Provozujeme a udržujeme 5 serverů, 8 stránek, … jsme blízko 5 milionů stažení. Viděli jsme, že se scházíte na setkáních, pracovních skupinách, Joomla! dnech … a na událostech kolem open source programů po celém světě. Jmenujte jeden dobrovolníky řízený projekt, který to zvládnul. Víte o nějakém? Já ne.
Buďme hrdí na tento úspěch a poděkujme všem dobrovolníkům, kteří nás dostali tam, kde jsme dnes. Je to jen o trochu více než 2 roky, kdy se vyklubal první zub. Za poslední rok jsme přešli od lezení k pomalému vstávání, nepokoušejte se nás nutit běhat před tím, než začneme chodit.
Co to pro nás znamená ?
Co to pro vás znamená? Inu, zatímco jen pozorně sledujete, ptáte se na fóru, očekáváte novou verzi, radši si vyhrňte rukávy a připojte se do pracovní skupiny a skutečně přispějte. Potřebujeme nové vývojáře, testery, autory dokumentace, advokáty, obchodníky, designéry …. zkrátka, potřebujeme vás! Pokud chcete přispět, myslím si, že určitě existuje skupina, která vás ráda uvítá, pokud ne, zmiňte se a my ji pro vás vytvoříme.
Znamená to, že nemůže začít vyvíjet stránky na verzi 1.5? Ne tak docela. Potřebujeme zpětnou vazbu. Místo vyvíjení stránek na verzi 1.5 byste se měli zastavit a udělat plán požadované funkčnosti a ne strávit několik týdnů úpravami šest měsíců staré verze. Buďte připraveni aktualizovat a otestovat vaše stránky kdykoliv, kdy bude k dispozici nová RC verze.
Náhled do budoucnosti
Pro nadcházející týdny tohoto měsíce očekávám vydávání RC verzí v souladu se strategií vydávat brzy, vydávat včas. Interval bude asi 4 – 5 týdnů. Kolik RC verzí bude před vydáním stabilní verze 1.5 nevím a abych byl upřímný, ani mne to nezajímá. Tak dlouho, až bude příští RC verze stabilnější než předchozí a stále dokola a pak si myslím, že se k ní dostaneme.
Až se příště budete ptát někoho z pracovních skupin na otázku, kdy bude vydána verze 1.5, prosím nedělejte to. Jediná odpověď, kterou můžete dostat je : „Bude to, až to bude hotové!“ Místo toho se spíše ptejte „jak mohu pomoci?“. Myslím si, že se vám dostane velmi otevřená a přátelská reakce. Zamyslete se nad tím prosím!