Mezi zdejšími čtenáři a příznivci open source a free software se pohybují i vývojáři. Rád bych se touto formou zeptal na výhody a nevýhody otevření zdrojových kódů jejich projektů.
Před časem byl na abclinuxu.cz uveřejněn rozhovor s výkonným ředitelem Opera Software, který sdělil důvody, proč tento prohlížeč není Open Source. K tomuto se v diskusi objevilo několik (vesměs negativních) komentářů, které toho ovšem moc nevysvětlily.
Výhody Open Source
Podle mě nesouvisí se zdrojovým kódem jako takovým. Zručný grafik může vytvořit pěknější ikony a sladit celkový vzhled dalako lépe, než pověřený programátor dočasně prohlášený za grafika. Znám člověka, který do open source hry Cube vytvořil hudbu k několika mapám. Koneckonců i ty mapy nemusí vytvářet přímo vývojáři. Což ale není open source. Tohle je komunitní záležitost.
Nevýhody Open Source vývoje:
Zaslaný patch musí někdo zkontrolovat. Mnohdy je rychlejší napsat požadovanou funkcionalitu sám, než se prodírat cizím patchem (který se obvykle nedrží nastolené štábní kultury). Tohle považuji za největší nevýhodu tohoto stylu vývoje softu.
Proto je obvykle lepší, když uživatel zašle požadavek na funkci a vývojový tým, který zná kód daleko lépe, než kdokoliv cizí, ji na přání uživatele napíše. Tohle je v podstatě opak předchozího. Buď se zvýší režie na kontrolu patchů, nebo se zvýší režie na komunikaci mezi vývojáři a komunitou.
Dále je to omezená kontrola nad produktem. Pokud něco uvolním jako OpenSource, kdokoliv to může z principu věci okopírovat a vydávat za své dílo. Proti čemuž se jen těžko bojuje.
„aby psal aspoň trochu slušně“
To, bohužel, nemohu potvrdit. Všechny zdrojáky, které jsem viděl, byly neskutečně prasácké. Možná je to dáno výběrovým efektem daným věkem lidí na abclinuxu.cz, koukal jsem ale i jinde. Ti lidé možná z nadšení z umění svého prvního programovacího jazyka uveřejnili bastl. Nevím. V komerční sféře zákazník donutí program fungovat. Jinak programátor resp. jeho zaměstnavatel další peníze neuvidí. A dobrý podnikatel chce stálý příjem. Fungující program do kterého lze přidávat další funkcionalitu už prostě musí nějak vypadat. Jinak je každá další implementovaná vlastnost nesmírně drahá.
„že to za půl roku nezabalí nebo nenasadí vydřidušské ceny“
To je pravda. Ale samotný open source na to nestačí. Ještě je potřeba dobrý vývojový model a spousta nezávislých vývojářů. Pokud je vývojový tým pod křídly jedné firmy (narážím na Oracle a prodej Sunu) a tato uzavře další vývoj, tak si s tím komunita prostě neporadí. Jsou velké projekty jako (Open)Solaris a MySQL, které jen horko těžko bude někdo přebírat.
Což má za následek přesun zájmu k čistě open-source. Alespoň já tedy opouštím MySQL a přecházím o PostgreSQL a uvažuji co s Javou.