La mise en oeuvre d’un projet libre
Contrairement à une idée largement répandue, la conception d’un projet libre n’attire pas nécessairement des contributeurs externes.
Des annuaires de logiciels libres tels que Freshmeat ou Sourceforge 51 regorgent de nombreux projets qui périclitent par manque de participants en nombre suffisant. On constate en fait que la communauté libre manque souvent de temps pour satisfaire pleinement tous les projets. Les contributeurs font preuve d’une sélection très sévère face aux multiples pistes d’implication personnelle qui leur sont offertes. Ils privilégient d’ailleurs des projets présentant une utilité concrète pour leur propre contexte. En outre, comme sur tout « marché », la prime au premier arrivant est de mise. Les contributeurs qui ont déjà investi de manière significative dans un projet auront souvent du mal à s’en désengager, sauf si la nouvelle solution logicielle présente une attractivité très particulière. Un programme concurrent, très performant mais initialisé plus tardivement pourra se voir boudé par manque de participants disponibles et talentueux.
On distingue ainsi deux cas principaux aboutissant au lancement d’un projet libre.
- Le programme existe déjà. Le projet consiste alors pour des raisons diverses à en libérer le code.
- Le projet se crée de toutes pièces.
Dans le futur, la première configuration devrait connaître une très forte progression. La société Netscape fut ainsi précurseur dans la mise à disposition libre d’un code source propriétaire. Lorsqu’en 1994, la société se crée, son modèle économique surprend déjà par son caractère novateur. Netscape propose alors un téléchargement gratuit et sans restriction de son navigateur Mosaïc. De nombreux acteurs de l’informatique émettent alors le commentaire suivant : « C'est complètement fou ! ». En janvier 1998, Netscape annonce qu’il va donner son code source à la communauté libre pour fin mars 1998, le même jugement est alors formulé. C’est le début de l’aventure Mozilla et de son organisation informelle : « mozilla.org » 52 en charge d’en superviser le développement. De nombreux rebondissements vont régulièrement survenir. En avril 1999, le couperet tombe : le code est à réécrire entièrement. Près de sept années seront finalement nécessaires pour aboutir au succès. En novembre 2004, Mozilla Firefox est enfin prêt et se positionne alors comme une alternative de poids à Internet Explorer. Mais le succès de la Fondation Mozilla ne se fonde pas uniquement sur Mozilla Firefox, il comprend toute une série de logiciels libres : Mozilla Thunderbird, un client de messagerie électronique, Bugzilla, un logiciel de suivi de bugs …
En France, deux projets phares vont voir le jour : Open Cascade de Matra Datavision et Code Aster d’EDF. Pour sa part, Open Cascade 53 est un ensemble de composants de développement d’applications techniques et scientifiques dans les domaines de la CAO 54, du biomédical, de l'ingénierie et de la simulation. Matra Datavision libère en fait son code pour diminuer drastiquement ses coûts de maintenance et vendre des services. Quant au logiciel Code Aster, c’est une solution métier de calculs numériques en mécanique des structures. Face à son échec commercial, EDF décide d’en libérer le code pour pérenniser le programme, réduire ses dépenses de maintenance et l’améliorer qualitativement à partir de remontées d’expériences plus nombreuses. En octobre 2001, le code source devient librement téléchargeable. Dans tous les cas, la libéralisation d’un code source requiert un travail souvent très lourd en moyens humains et financiers qui ne sont pas à sous-estimer 55. La réécriture d’un code source lisible et annoté compatible avec un développement par des contributeurs externes s’inscrit comme une nécessité. Le succès final du projet dépendra en grande partie de la qualité de ce travail préalable.
La diffusion de l’Internet a radicalement modifié et facilité le développement du logiciel libre. L’échange des codes informatiques est désormais des plus faciles. Le réseau des réseaux facilite par ailleurs la « rencontre virtuelle » des contributeurs. Les meilleurs développeurs y sont rapidement identifiés et acquièrent alors une notoriété.
La genèse d’un projet libre se veut multiple. Néanmoins, l’initiation d’un projet d’envergure s’effectue généralement par un appel à contributions lancé sur un modèle proche de celui des RFC 56. Un premier travail de réflexion approfondie a déjà eu lieu, mais l’appel à des contributeurs extérieurs au projet se révèle indispensable en raison de problèmes de temps et de complexité. Suite à cette demande, une coopération de co-conception s’engagera. Signalons que le mode de fonctionnement d’un projet libre diffère radicalement de celui du monde de l’entreprise traditionnelle. Les fonctions de chefs de projet informatique connaissent ainsi des différences significatives. Un « chef de projet libre » demeure toujours très impliqué dans le développement du code. Il n’est pas reconnu pour ses qualités intrinsèques de management ou de gestion de projet mais pour ses talents techniques plébiscités par les pairs du secteur. Le développement d’un logiciel innovant et de qualité demeure toujours l’objectif final. Les considérations monétaires ne priment pas, contrairement à ce qui se passe dans une entreprise qui répond de façon fondamentale et irrévocable à une nécessité de rentabilité dont dépend sa survie.
Le choix préalable d’un logiciel libre passe nécessairement par l’étude de sa communauté de développement. Cette dernière doit ainsi présenter certaines caractéristiques indispensables : stabilité, pérennité, dynamisme, … Des éléments complémentaires restent néanmoins à étudier comme les offres de services additionnels : certification, installation, support, … si l’objectif final est une mise en production au sein des organisations clientes. Pour elles, ces services apportent la « crédibilité » d’un fonctionnement sans faille de la solution.
Les communautés souvent décentralisées, éparpillées sur tout le globe connaissent néanmoins une structuration du travail 57. Les développeurs les plus avertis ou les initiateurs du projet travaillent généralement sur le noyau et bénéficient d’un pouvoir de décision sur l’intégration ou non des modifications proposées par des contributeurs externes au programme. Le noyau se veut le plus léger possible mais aussi robuste, performant et évolutif. D’autres développeurs travaillent sur les modules additionnels et apportent si possible une composante valeur métier au projet. Enfin, les utilisateurs se chargent des tests, des guides d’utilisation, des traductions … La communauté avance en groupe, chacun apportant sa contribution selon son expertise propre et le but final voulu par rapport à la réalisation du projet.
Dans le mode de fonctionnement du libre, l’utilisateur final devient acteur du processus de création et participe à l’élaboration et à l’amélioration du logiciel. Cette forte implication de tous les acteurs constitue un moteur puissant de développement et de qualité totale.
Enfin, il existe des plates-formes d’hébergement et de gestion des logiciels libres : Gna ! , Savannah, Sourceforge, ... Elles simplifient le développement collaboratif du logiciel libre par la fourniture d’une interface unifiée, d’outils de suivi, d’outils de gestion comme « CVS 58 » …
51 http://www.freshmeat.net, http://www.sourceforge.net.
52 http://www.mozilla.org.
53 Le code source est disponible gratuitement depuis décembre 2000.
54 CAO – Conception Assistée par Ordinateur.
55 A titre d’illustration, la libéralisation du code source d’Open Cascade a nécessité 30 personnes, 8 millions d’euros de dépenses ont également été effectuées.
56 RFC, Request For Comment, c’est à dire des Demandes De Commentaires.
57 Le logiciel libre défie la loi de Brooks qui affirme que « lorsque le nombre N de programmeurs augmente, le travail accompli s’accroît en proportion, par contre la complexité et la vulnérabilité aux bogues augmentent en N2 ». Cette loi ne s’applique pas au monde libre. Voir le cas Linux, par exemple.
58 CVS, Concurrent Version System, gestion des versions.