středa 31. října 2007

Neagilní open source projekty

Mám rád open source knihovny. Ke svojí práci používám řádově desítky až stovky open source knihoven. Nebudu zde sepisovat všechny výhody open source, nýbrž vypíchnu jednu nevýhodu, která mě mě neskutečně irituje. Onou nevýhodou je malá agilnost ve vztahu ke komunitě. Alespoň moje zkušenost je negativní.

Nedávno jsem potřeboval nějaký fix v Hibernatu a v issue trackeru pro to existoval záznam. Sedl jsem tedy, fix napsal, přidal unit test a to všechno jsem společně s diffem přilepil k onomu záznamu. Po nějaké době bez odpovědi jsem se naštval a poslal to přímo člověku odpovědnému za danou komponentu. Ani od něj nedorazila žádná odpověď. Další příklad. O víkendu dorazila míra ohýbání DbUnit hranice, kdy jsem byl nucen sáhnout přímo do zdrojáků a rozšířit jej. Poučen z předchozích nezdarů jsem rovnou patch poslal jednomu z autorů DbUnitu s připojeným vysvětlením o co se jedná. Opět žádná odpověď.

Nevím jestli jsem měl smůlu na projekty, ale podobných malých zkušeností jsem udělal více. Překvapující je to především u Hibernatu, protože člověk by očekával, že v zádech s Red Hatem bude o podporu postaráno. Marná sláva. Vzhledem k tomu, že jim z toho asi netečou peníze, tak není ani podpora. Abych byl upřimný, zaznamenal jsem i pozitivní zkušenost. Nedávno jsem reportoval jednu chybu ve Springu a odpověď přišla velice rychle.

Věřím, že Hibernate (JBoss ;-) je jenom výjimka potvrzující moje soukromé pravidlo. To pravidlo zni: pokud za projektem nestojí někdo v něm komerčně zainteresovaný, je projekt agilní jak lidovci v kauze Čunek (pro neznalé politických reálií - přístup mrtvého brouka). Firma která za projektem stojí, má přirozeně zájem na tom, aby byly služby (dokumentace, podpora/konzultace, práce s komunitou) kvalitní. Důvod je ten, že nic jiného ani v případě open source vydělávat nemůže.

V případě, že za projektem nikdo komerčně nestojí je jenom otázka času, kdy to s projektem začne jít z kopce. To není chyba autora(ů) toho projektu, protože na to přirozeně nemusí být čas ani prostředky. Čest výjimkám... Řekl bych, že cesta k větší agilitě open source projektů by mohla vést přes zpětné zainteresování firem, které daný open source komerčně využívají. Určitou část pracovní doby by měl vývojář vyhrazenou na to, aby mohl zpětně přispívat do open source řešení, které firma využívá. Vznikla by tak přirozená vazba „komerčně zainteresovaný“.