lundi 16 février 2004

Open source : demandez-en plus


Le choix d’un produit libre de renom diffère peu du travail à mener dans le cas de la sélection d’un logiciel commercial.

Mais les autres projets qui représentent une écrasante majorité, ne peuvent faire état ni de prestigieuses références en production, ni de la solidité de leur fournisseur ou de la qualité de leur support et courent le risque de ne jamais passer la barre de la simple curiosité technique; au grand dam de ceux à qui revient la responsabilité du choix et qui ne peuvent faire peser dans la balance que leur intime conviction et leur crédibilité. Heureusement, l’accès au code source de ces logiciels libres se révèle leur meilleur allié. Une simple revue de code, comme on le fait sur un développement maison, apporte des trésors d’informations de nature qualitatives et quantitatives.

Le code est-il lisible ? Est-il documenté ? Quelles conventions de nomages sont utilisées ? Quels patterns sont mis en œuvre ? Des tests unitaires existent-ils ? Quel est leur pourcentage de couverture ?

Pour se simplifier la tâche, on aura recours à une panoplie d’outils de mesure automatique – eux aussi en open source pour la plupart. Une fois les entrailles de la bête décortiquées, on s’attachera à étudier son environnement. Combien de développeurs contribuent à son évolution ? Les forums, les faqs sont-ils fournis et actifs ? Quels sont les autres projets où librairies dont il dépend ? Quels sont les autres projets qui dépendent de lui ? Quel est l’historique des téléchargements ? A quelle fréquence, les nouvelles versions apparaissent-elles ? Quel est le délai entre la découverte d’un bug et sa correction ?

Les communautés qui hébergent ces projets regorgent d’informations permettant de se faire une bonne idée de leur qualité. Certaines d’entre elles comme Sourceforge.net, calculent quotidiennement l’indicateur d’activité de chaque projet, sorte de moyenne pondérée de métriques telles que celles décrites plus haut. Voilà donc de bonnes raisons de ne pas avoir peur de se lancer dans la sélection de projets anonymes; bien au contraire.

En conséquence, qualifier un logiciel libre est une tâche proche d’une activité de reverse engineering et demande donc des compétences et du temps, mais à l’autre extrémité, le logiciel commercial que l’on achète seulement pour ce qu’il fait au moment où on l’achète, fait figure d’inquiétante boite noire. Et ce ne sont certainement pas les discours marketing invérifiables sur la qualité, la pérennité et la capacité d’évolution du produit qui sont de nature à pouvoir rassurer l’acquéreur. Le caractère intrinsèquement ouvert d’un projet open source augmente ainsi considérablement le niveau d’exigence que l’on peut exprimer à l’égard du logiciel.

L’analogie entre d’une part, le monde de la prestation de service au forfait et celui du logiciel fermé et d’autre part la prestation de service en régie et le logiciel ouvert, est évidente. A ce détail près : dans le cas du logiciel open source, l’obligation de résultats s’additionne avec une obligation de moyens - scientifiquement mesurables. Alors n’hésitez plus ; avant chaque représentation, demandez le programme….et prenez le temps de le lire.