Depuis trois ans maintenant, le Toulousain Squoring Technologies établit son classement AgileRanking qui évalue sur 42 critères la santé globale de 28 projets open source représentant plus de 7 000 contributeurs et répartis en trois catégories : web, développement et outils. Au fil des mois, la société a constaté une progression constante du dynamisme et de la réactivité des équipes « pour corriger les bugs », ce qui atteste d’une maturité dans la gestion collective des projets, mais elle note aussi une certaine volatilité sur la popularité dont ils bénéficient avec des « phénomènes d’engouement et de mode » pour certains d’entre eux, nous a confirmé Hélène Sardin, DAF et directrice marketing de la société. Les réseaux sociaux influent notamment sur l’intérêt qui leur est porté.
En revanche, cette versatilité n’affecte pas la qualité du code de façon globale, celle-ci restant satisfaisante avec une note de 4 sur 5, tous projets confondus. Plus le projet s’installe (20 mois d’existence et plus), moins cette qualité apparaît sensible à variations.
Chaque projet peut être visualisé suivant différents indicateurs.
Du CMS à la bibliothèque de machine learning
Dans la première catégorie de son AgileRanking, Squoring Technologies a placé des solutions de gestion de contenu (CMS) et certains frameworks web. On y trouve Django, Django CMS, Joomla, MediaWiki, PyroCMS, Reddit, Symfony, Tornado et WordPress. Dans le deuxième groupe figurent des projets axés sur le développement (générateurs de code, environnements de test…) : Acceleo, CakePHP, JUnit, Laravel, libGDX, Liferay Portal, Linux drivers Phalcon, PHPUnit, SLF4J, Spring Framework et Widlfly. Enfin, le troisième groupe réunit des outils comme Ansible (plateforme d’automatisation IT), Brackets (éditeur de code), Elasticsearch (moteur de recherche), Jenkins (intégration continue de services), Kodi (lecteur média), MongoDB (base de données NoSQL) et scikit-learn (bibliothèque de machine learning en Python).
Les 42 indicateurs retenus (*) pour prendre le pouls de ces 28 projets fournissent des indications sur trois axes : l’adoption globale de la communauté, l’activité de l’équipe de développement et la qualité du code. Depuis la création de son AgileRanking, Squoring Technologies a analysé plus de 250 millions de lignes de code. Sur le classement établi cet automne, les 7 projets qui affichent la santé la plus florissante, en dépassant le score global de 63%, sont Django CMS, Django, le framework PHP Laravel, PyroCMS, le moteur de recherche Elasticsearch, CakePHP et le framework de test PHPUnit.
Fortes disparités sur la qualité du code et l'activité des contributeurs
Parmi les enseignements tirés de ses évaluations régulières, Squoring constate des différences entre les grandes familles d’outils. Les logiciels pour le web et les réseaux sociaux présentent la meilleure qualité de code, tandis que les outils de développement enregistrent la meilleure progression sur l’activité de leurs contributeurs. Quant à la troisième catégorie de projets, qui rassemble des outils de différentes natures, elle reflète l'ensemble des tendances observées au niveau du portefeuille global des 28 projets.
Sur l'évolution de la catégorie Outils de l'Agile Ranking, le projet MongoDB (en vert) se détache du lot par sa popularité sur les réseaux sociaux, mais reste en retrait sur la maintenabilité.
Au bout de trois ans d’analyse, le recul obtenu sur l’évolution de ces projets open source montre de fortes disparités sur deux des trois axes étudiés : la qualité du code source et l’activité des contributeurs. Au fil des mois, le classement général fait dont apparaître de grandes variations ce qui, commente la société toulousaine, témoigne de la vitalité du monde open source. Si certains projets présentent une santé stable, comme Django ou Laravel, d’autres pâtissent parfois de l’apparition d’un fork ou d’un projet concurrent qui draine ses contributeurs. A l’inverse, un CMS tel que Pyro a fortement progressé à partir de février, affichant en décembre 2015 une adoption de 62% de la communauté, une activité de 60%, ainsi qu’un score de 90% sur la qualité du code source. Squoring Technologies fournit l’accès à son tableau de bord permettant d’explorer les différents axes d’analyse pour chacun des 28 projets.
(*) Parmi les 42 indicateurs de l’AgileRanking, ceux qui concernent l’adoption par la communauté et l’activité de l’équipe (un peu plus de la moitié) sont relevés sur le référentiel GitHub, par exemple l’âge du projet, la dernière mise à jour, l’activité de mailing list la plus récente, le ratio de problèmes résolus, le taux et le temps de réponse de la mailing list, les contributions ou encore les correctifs. Les autres indicateurs portent sur la qualité du code et sont tirés de l’outil Squore.
Le classement AgileRanking de janvier 2016 (agrandir le tableau ci-dessus).