LISTER LOGICIELS
 
Interview CR

L’open source : un formidable accélérateur de développement

Interview de Christian Remy - Directeur du projet NovaForge, la plate-forme de développement open source intégrée par Bull

L’open source révolutionne le monde du développement. Pourquoi ?

Revenons aux fondamentaux de l’open source : Richard Stallman fonde la FSF en 1985 en partant d’un constat très simple : pour qu’un logiciel puisse être facilement adapté et amélioré, il est important que chacun puisse accéder au code et le modifier. Dès le départ, donc, l’open source est avant tout une affaire de développeurs, et une philosophie de développement. Même si le phénomène open source est aujourd’hui devenu un modèle commercial, structurant des écosystèmes de fournisseurs, de prestataires et d’utilisateurs, le développement reste au cœur de l’open source. Et en premier lieu au niveau des communautés et des éditeurs open source, qui sont organisées autour du processus de développement. Par ailleurs, il est naturel que ces communautés de développeurs appliquent la philosophie open source à leur premier outil de travail : leur environnement de développement. D’où l’extraordinaire progression des langages (PHP, Ruby,…), plate-formes (Eclipse, Netbeans,…), outils (CVS, subversion, Ant, Maven… ) et forges (Gforge…) conçus eux-même en open source. L’ampleur de ce phénomène a d’ailleurs conduit de nombreux sociétés à contribuer et à s’appuyer sur cette dynamique open source. Eclipse, qui a été mis en open source en 2001, et a drainé depuis une communauté formidable, en est un exemple éclatant. D’autres suivent. On le voit aujourd’hui avec la mise de Java sous licence GPL.

Le développement OSS a t’il une spécificité ?

La première spécificité du mode de développement open source, c’est qu’il est communautaire. Dès le début, le code est conçu et placé dans un environnement permettant des collaborations multiples, en mode réseau et distribué, pas purement hiérarchique. Cela a plusieurs impacts. D’une part, l’approche de développement est assez itérative. Contrairement à la stratégie très planifiée des développements traditionnels (où des concepteurs font à l’avance des spécifications assez lourdes, qui sont ensuite codées par des développeurs, puis livrées aux utilisateurs, avec un fort ‘effet-tunnel’), les interactions sont plus fortes. Quelqu’un émet une idée, et un premier bout de code. D’autres regardent ce logiciel, l’adaptent, le complètent, l’améliorent… Très vite, une première version arrive aux premiers utilisateurs, qui vont pouvoir juger de son intérêt ou non, émettre de nouvelles demandes, etc. Bref, c’est une démarche plus itérative, par ‘essai-erreur’ rapides, très darwinienne, mettant plus à profit l’intelligence collective. Par rapport aux méthodes de développements traditionnelles, on privilégie plus le ‘good-enough’. Le feedback des utilisateurs est pris en compte plus en amont et plus souvent. Enfin, cette approche favorise le développement natif des standards et de l’intéropérabilité. Plutôt que de réinventer la roue, chacun se demande d’abord s’il ne peut pas récupérer quelque chose qui existe déjà, et se consacrer à la valeur ajoutée.

Pour ses propres développements, comment l’entreprise peut-elle s’inspirer et tirer parti de l’open source ?

D’une part, l’open source est une formidable boite à outil, dans laquelle l’entreprise peut puiser pour développer ses applications. Pourquoi réinventer la roue ? Bien souvent, des composants puisés dans la centaine de milliers de solutions open source permettent de constituer très rapidement certains module. Bien sûr, il faut parfois les adapter, et gérer ensuite dans tous les cas l’intégration et le support, mais c’est déjà souvent un formidable accélérateur de développement et une source d’économie considérable. Selon Gartner, d’ici à 2010, les éditeurs qui n’incorporeront pas de composants open source dans leurs solutions risquent fortement de devenir non-compétitifs. Le principe est le même pour l’entreprise. D’autre part, les environnements de développement basés sur l’open source offrent bien souvent une plate-forme très attractive, très orientée sur les standards et les approches collaboratives. Enfin, l’entreprise peut elle-même mutualiser une partie de ses développements, et notamment des composants d’infrastructures, en collaborant avec une communautés. Des sociétés comme Amadeus, le CEA ou Dassault, par exemple, collaborent au sein de consortiums tels que OW2. Enfin, certaines entreprises peuvent elles-mêmes créer des communautés autour de leurs propres développements. C’est par exemple le cas de la Gendarmerie Française.

Quelles sont les meilleures pratiques à prendre en compte ?

Au delà de la réutilisation des composants existants, des standards, et de l’itérativité, le grand défi du développement aujourd’hui, c’est l’industrialisation. Les chiffres sont sans appel : selon le Standish Group, 71% des projets de développement d’applications d’entreprises dérapent en terme de délais, de coût et de qualité de service. A l’heure où les évolutions de marché rendent plus que jamais vital de disposer de systèmes d’information flexibles, et de pouvoir développer et faire évoluer rapidement de nouvelles applications métiers, cette industrialisation devient clé. D’où l’importance de revoir les approches de développement, en intégrant bien les aspects processus, technologiques et humains. Mettre en place une plate-forme de développement intégrée et collaborative supportant pleinement ces défis devient un impératif. Notre vision est que, par leur philosophie même, les environnements de développement open source peuvent constituer un socle majeur pour répondre à ces défis. C’est pour cela que nous lançons la plate-forme NovaForge, qui fédère nos propres développements, mais que nous proposons aussi aux DSI pour leurs propres projets. Pour nous, l’open source est au cœur des approches de développements de demain. Outre NovaForge, qui a pour ambition de rassembler le meilleur des composants existants aujourd’hui, nous travaillons aux évolutions de demain, au sein du projet Qualipso, plus gros projet européen dédié à l’open source, et qui a pour ambition de créer la plate-forme de développement open source du futur. Au fur et à mesure du projet, les résultats de Qualipso seront intégrés à NovaForge.

En savoir plus : découvrir NovaForge et le livre blanc La révolution des forges logicielles >>