Zajímá vás, kolik vývojářů skutečně stojí za slavými projekty, bez marketingového mlžení? Pokusím se vyvrátit jeden mýtus, který někdy zaznívá proti Nette Framework, ale je docela možné, že vás tím připravím o iluze. Čtěte proto jen na vlastní nebezpečí 🙂

O jaký jde mýtus? Pod Jakubovým článkem o vývoji open source projektů padl komentář:

Přesně tohle (tj. velmi malý počet vývojářů) je důvod proč dělám v Zendu a ne v Nette. Nette je skvělé protože ho dělá David. Jakmile s tím přestane, tak půjde do kytek i kdyby mělo komunitu sebelepší.

Musím oponovat: projekt může zakladatele přežít vlastně jen tehdy, pokud sebelepší komunitu má. Nette Framework je svou komunitou už pověstný. Dovolím si zopakovat slova z minulého článku: podívejte se na české fórum, kde jsou desetitisíce příspěvků. Žádný jiný webový framework u nás tak aktivní a početnou komunitu nemá.

Ale vraťme se k počtu klíčových vývojářů u jednotlivých projektů. Obvyklá představa, že za každým významným projektem stojí početný tým vzájemně nahraditelných vývojářů, začala brát za své, když před dvěma lety vyšla zpráva, že projekt Thunderbird opouštějí oba hlavní vývojáři. Ano, zarážející je už to slůvko „oba“. Odchod pouhých dvou vývojářů Scotta MacGregora a Davida Bienvenu způsobil, že nad celým projektem se začala stahovat mračna.

Dejme to do souvislosti se zajímavými čísly, které nabízí server Ohloh. O projektu Thunderbird mi prozradil, že má úctyhodných 24073 commitů (commit je jeden příspěvek do kódu od jedné osoby). Přičemž na ty dva zmíněné vývojáře připadá 30 % commitů:

Opakuji: celých 30 % vývoje Thunderbirdu obstarali dva programátoři, jejichž odchod může být pro projekt smrtelný.

Nebudu chodit kolem horké kaše a podívám se stejnou metodikou na zoubek Zend Framework. Na obří framework, či spíše knihovnu, za jehož popularitou stojí jméno společnosti Zend a pro nějž hovoří „stovky vývojářů“ + několik „placených“. Nechme promluvit čísla:

Ano, 52 % frameworku je práce čtyř lidí. A pozor: na 2 hlavní vývojáře připadá 32 % frameworku, tedy situace je ještě malinko „dramatičtější“ než v případě Thunderbirdu. Přesto nepochybuji, že pokud ty dva vývojáře srazí tramvaj (nebo šalina), vývoj frameworku by sice na nějakou dobu ustrnul, ale bude pokračovat dál.

Zend Framework přitom patří ještě mezi ty méně ohrožené projekty. Co třeba slavné Ruby on Rails? Na grafu vidíte poměr commitů dvou hlavních vývojářů:

Pouhým dvěma vývojářům patří majorita. A ptám se: je snad Ruby on Rails odmítané proto, že by mohla Davida Heinemeiera Hanssona srazit šalina? Nebo naopak se bere jeho vize a pevné uchopení projektu jako výhoda? A obává se někdo, že ti dva nejsou placení vývojáři?

Když už brousíme mimo PHP, podívejme se na nejslavnější framework pro Python – Django:

O čtyři procenta víc než v předchozím případě. Bez dalšího komentáře.

Tak zpět do PHP luhů a hájů. Kromě Zend Framework a Nette Framewok se u nás těší největší popularitě asi CakePHP. Podle statistik jde o dílo tří hlavních vývojářů:

Ještě bych měl zmínit PRADO, kde téměř kompletní vývoj má pod palcem dvojice programátorů:

Z uvedených příkladů jde rozhodně o nejvyšší hodnoty. V tomto případě bych si už netroufl paušálně tvrdit, že by projekt pokračoval navzdory odchodu dvou vývojářů pod tramvaj – musel bych nejprve dobře znát komunitu kolem PRADO.

Ale ať skončíme pozitivně. Nakonec jsem si nechal projekt, který rozložením sil vychází jednoznačně nejlépe a tím je Symfony:

Nicméně i zde existuje dominantní jedinec, vůdce stáda, který převažuje nad ostatními.

Je vážně tak zle?

Ale vůbec ne! Pochopte prosím, že mým cílem nebylo vás strašit, ale pouze uvést do reality a demaskovat marketingové pozlátko. Raději zdůrazním, že

  • jednotlivá čísla vůbec nic nevypovídají o kvalitách projektů
  • nelze je použít ani jako vodítko při rozhodování

Naopak je přirozené a logické, že všechny projekty jsou dílem několika málo osobností. Tak je to na světě zařízené. A naopak, čím více lidí má právo commitovat, tím více se do kódu dostane balastu. Jak se dokáže ten který projekt vyrovnat se ztrátou vůdčích osob je vždycky nejisté. V případě Nette Framework mě těší vědomí, že konečně po 5 letech vývoje mám naději, že by se vyrovnat dokázal.

Doplnění: Karmi mi v komentářích připomněl důležitou věc, kterou jsem v článku opomněl a způsobil tak nedorozumění. Článek odkrývá skutečnost, že za úspěšnými projekty stojí vždy jen pár nesnadno nahraditelných osobností (úkolem marketingu je vytvořit opačný dojem). Je ale potřeba dodat, že u dobře fungujících open source projektů se pozice těchto osobností v čase mění. Nejprve jsou to výhradní autoři a programátoři, aby se časem přesunuli do pozice těch, kteří projekt vedou a dávají mu vizi. A třeba úplně přestanou psát kód.