Dodatek k článku "Ruby 1.9.0 - zpackané vydání?"
Můj týden starý článek Ruby 1.9.0 - zpackané vydání? vyvolal poměrně silnou negativní odezvu. Přesněji řečeno, tuto odezvu vyvolal spíše článek Jakuba Šťastného Ukvapené vydání Ruby 1.9?, který vyšel na Rootu. Tento článek ale z toho mého vycházel a odezva na něj se tak dotýká i mě.
Čeho se odezva týkala? Můj (i Jakubův) článek kritizoval způsob vydání Ruby 1.9 a vycházel přitom z toho, že 1.9 je v zásadě další běžná verze tohoto jazyka. To není pravda – Ruby 1.9 je verze vývojová a není určena pro běžné uživatele. V tomto kontextu pak zmíněná kritika ztrácí z velké části význam.
Kde byla chyba?
V komunikaci.
Pro běžného čtenáře je věc jasná – podívá se na web a u Ruby 1.9 vidí zřetelné označení development release. Cesta k napadání článku za ignorování základních faktů je volná.
Běžný čtenář už bohužel nevidí to, že definice toho, co to vlastně 1.9 je, se v čase dost měnila. Ještě v roce 2006 bylo například Ruby 1.9 označováno za budoucí stabilní verzi a i některé Matzovy maily z podzimu 2007 nevyznívají rozhodně jednoznačně.
Mojí chybou bylo, že jsem Matzova prohlášení ve stylu "1.9 bude možná méně stabilní než bychom chtěli" interpretoval jako "1.9 bude v zásadě stabilní, jen bude mít trochu více bugů, než je u nových verzí Ruby zvykem", zatímco realita byla spíš něco jako "1.9 bude jen o málo víc než aktuální snapshot vývojového stromu".
Na druhou stranu, nejsem jediný, kdo byl zmaten. Třeba v mailing listu debian-ruby se ještě během podzimu o 1.9 také diskutovalo jako o příští stabilní verzi.
Jak by se nedorozumění dalo předejít?
Když pominu chybu na mé straně, zbývá jedno – zlepšit komunikaci na straně vývojářů Ruby.
Komunikací myslím především jasně, včas a veřejně (tj. na webu, ne v nějakém zapadlém mailing listu) definovat, co jednotlivé verze znamenají a jaká je motivace jejich vydání. Pomohl by i podrobnější plán vývoje do budoucna.
Nástrojem komunikace je ale třeba i číslo verze – 1.9 vypadá na první pohled jako následovník 1.8. Označení verze například jako "2.0 Development Snapshot 1" by reálný stav věci myslím vystihovalo lépe a nikdo by tuto verzi určitě nepovažoval za stabilní.
Vývojáři Ruby s Matzem v čele by si měli uvědomit, že Ruby už není malá hračka, ale nástroj, na nějž mnozí spoléhají a jehož vývoji přizpůsobují i vývoj svých produktů. A na to, co tvůrce jazyka jednou o nějaké budoucí verzi řekne, lidé spoléhají a leckdy na základě toho investují do něčeho nemalé úsilí.
A co z článku zůstává?
Myslím, že i přes výše uvedené zůstávají některá tvrzení z mého článku v platnosti. Ani vývojovou verzi není například správné vydávat s nefunkčními testy. A stále se domnívám, že vývoj Ruby je až příliš chaotický a Matz není dobrý vedoucí projektu. Když už pro nic jiného, tak proto, že výše uvedené problémy v komunikaci nevidí a/nebo neřeší.