Hlavní navigace

Ohloh: open-source svět pod drobnohledem

Jan 'Kovis' Struhár

Kolik je open-source projektů? V jakých jazycích jsou obvykle vytvářeny a kdo na nich vlastně pracuje? Odpovědět na tyto otázky je velmi nesnadné, přesto to není nemožné. Projekt Ohloh si klade za cíl nahlédnout pod pokličku mnoha open-source projektů a přinést celkový pohled do otevřeného světa.

Co je to Ohloh?

Ohloh je web společnosti Ohloh Inc., která si dala za úkol zmapovat „krajinu otevřeného software“. Základními prvky takové krajiny jsou lidé a samozřejmě projekty, na kterých pracují.

Projekty

Registrace projektu

Každý může zaregistrovat (nejen) svůj open-source projekt, serverová farma Ohloh.net si následně stáhne zdrojové texty ze zadaného repositáře a provede jejich zevrubnou analýzu. Podporovány jsou version control systémy CVS, SubVersion a Git. Projekty hostované například na SourceForge se tedy zapojují do Ohlohu velmi snadno. Projekt existuje od roku 2004 a v současnosti je v něm registrováno přes 12 800 projektů.

Analýza kódu

Zanedlouho po registraci je kód projektu automaticky stažen a analyzován. Tato fáze obvykle proběhne jen několik hodin po registraci projektu. Aplikují se na něj softwarové metriky, které spočítají řádky kódu, podíl komentářů, podíl různých programovacích jazyků na projektu a vůbec zjistí poměrně velké množství informací.

Aplikují se ale i sofistikovanější statistické postupy – podle algoritmu COCOMO se odhadne čas strávený na projektu a odhadne se jeho relativní finanční náročnost. Vývojáři tak mohou sledovat, jakou má jejich projekt tržní náklady. Analýzou commitů se zjistí, který vývojář je nejaktivnější, v jakém jazyce se nejvíc programuje a časový vklad se sčítá za všechny registrované projekty.

Sleduje se i počet vývojářů, kteří pracují na projektu, a zda se tým v uplynulém roce zvětšil nebo zmenšil. Ohloh sleduje i vývoj počtu commitů a podle nich usuzuje, v jakém stavu projekt právě je a zda je aktivní. Analýza upozorňuje i na možné licenční konflikty ve zdrojových textech projektů. Data se samozřejmě z repositářů získávají opakovaně a obnovují se přibližně v týdenních cyklech.

Některé výsledky analýzy (aktivita v čase, počet přispěvatelů) lze následně porovnávat v grafech i mezi projekty. Každý projekt přispívá také do statistik používanosti jednotlivých jazyků – jeden kolega, který má rád Tcl, se zhrozil jeho klesající popularitou a rozhodl se, že zvrátí tento trend zveřejněním svých soukromých archivů.

Tagy

Každému projektu se dají přiřadit tagy, které jsou velmi obdobné meta-tagům z webových stránek – slouží ke kategorizaci projektů a určuje se podle nich podobnost s jinými projekty. Srovnání s podobnými projekty pro vás může být inspirující.

Widgety

Ohloh poskytuje pro každý projekt několik widgetů, což jsou objekty, který můžete začlenit do svých vlastních stránek. Jako například widgety projektu Apache Ant:

ohloh_ant.png

Widgety jsou k dispozici i pro uživatele, jako je třeba můj detailní widget:

ohloh profile for kovis

Tím se přirozeně přenášíme k tomu, co Ohloh poskytuje pro lidi.

Lidé

Další funkce webu se týkají lidí, kteří pracují na open-source software. V této souvislosti zejména spolutvůrců některého projektu, i když to není podmínkou.

Lokalita uživatele

Registrovaný uživatel může vyznačit své bydliště na mapě GoogleMaps, takže pro každý projekt je vidět, odkud pocházejí jeho vývojáři nebo uživatelé.

Software stacks

Každý uživatel může vytvořit své osobní portfolio aplikací, které používá – takzvaný stack. Míra používanosti je sama o sobě je měřítkem popularity, pokud uživatelé zveřejní svou lokalitu, může se autor často používaného balíku kochat pohledem na mapu, na které jsou rozeseté praporky „jeho“ uživatelů.

Podle svého software stacku můžete snadněji najít open-source projekt, ve kterém byste se mohli uplatnit, pokud jste se rozhodli, že je na čase se připojit k fenoménu svobodného vývoje, ale nemáte vhodný námět na vlastní projekt.

Kudos

Pokud chcete některému členu komunity projevit uznání, udělíte mu pochvalu neboli kudo. Udělená kudo se denně vyhodnocují a promítnou se do žebříčku uživatelů.

Počet „commitnutých“ řádků kódu a vyjádřených vzájemných pochval považují někteří lidé za pochybné měřítko kvality a zručnosti programátora. Já osobně si myslím, že je to jedno z relevantních měřítek, třebaže zdaleka ne jediné – kvantita a kvalita jsou prostě nezávislé veličiny. Kudo, která jsem udělil, putovala lidem, kteří dělají projekty, jež jsou pro mě velmi užitečné, třebaže se o nich nepíše v úvodnících magazínů.

Jiné zajímavosti

Ohcount

project_thin_bad­ge.gif (GIF 13806 bytů)

Software Ohcount je jedním z programů, který zpracovává zdrojový kód ostatních projektů při analýze. Je samozřejmě na Ohlohu zaregistrovaný a je k dispozici jako open source v laboratořích Ohlohu.

Pozadí společnosti

Společnost Ohloh Inc. založili v roce 2006 bývalí manažeři z Microsoftu Jason Allen a Scott Collison. Společnost provozující server údajně profituje z reklamy a z inzerce.

Na FAQ stránkách, podle mého neprávem, chybí výklad názvu webu a společnosti. Poslal jsem proto představitelům firmy přímý dotaz s žádostí o objasnění původu názvu. Odpověděli mi, že vlastně sami neví, že to „tak nějak vzniklo“ – ale že je tu zvuková podoba s havajským surfovacím prknem. Nicméně našinci to stejně moc nezní, na Moravě by se asi ujal Ohloch nebo po změně mluvnického rodu (ta) Ohloha, podle vzoru obloha.

Závěr

Na Ohlohu se mi líbí jak zpracování webové aplikace, tak i samotná data, která web nabízí. Je snadné najít lidi, kteří zpracovávají podobné projekty jako vy, nebo zjistit, kdo jsou lidé, kteří pracují na vašem oblíbeném projektu, odkud jsou a v jakých jiných projektech, které ještě neznáte, jsou nebo byli zapojeni. Vyzkoušejte si web sami, uvidíte, že budete některými údaji velmi překvapeni.

Našli jste v článku chybu?