Un nombre croissant d’entreprises assemblent et personnalisent des briques open source pour répondre à leurs besoins spécifiques. Elles économisent ainsi en coûts de licence, accélèrent leurs projets et les standardisent en partie. En utilisant des briques logiciel open source, les entreprises espèrent aussi diminuer leurs coûts de maintenance évolutive et corrective, pris en charge par la communauté.
Mais qu’advient-il lorsqu’une nouvelle version est publiée pour corriger une faille de sécurité ou apporter de nouvelles fonctionnalités ? Comment mettre à jour une brique open source modifiée pour les besoins de l’entreprise ? Et comment gérer les dépendances entre briques "standards" et "spécifiques" ?
ZDNet a demandé conseill à trois spécialistes : Corinne Brunel, directrice d’Uperto ( filiale du groupe Devoteam), Nicolas Hoizey, directeur technique de Clever Age et Laurent Pierre, directeur technique de Linagora.
(...)
Respecter la philosophie des logiciels open source
Nicolas Hoizey : « Les logiciels open source qui offrent une pérennité optimale sont architecturés autour d’un noyau pauvre fonctionnellement, mais robuste et performant. Stable dans le temps, ce noyau est enrichi par des extensions qui évoluent à leur propre rythme et permettent aux entreprises d’enrichir les fonctionnalités du logiciel au gré de leurs besoins sans toucher au cœur. Il faut respecter au maximum cette philosophie pour éviter les risques de "fork". Car en patchant le noyau, celui-ci devient spécifique et ne peut plus être mis à jour simplement ».
Créer des couches d’abstraction
Nicolas Hoizey : « Il arrive que l’interface de programmation (API) d’une brique open source évolue lors d’un changement de version majeure. La meilleure façon d’isoler ce genre de risque est de créer une API propre à l’entreprise. Ainsi les autres classes ou brique logicielles se référant à cette API ne seront pas impactées, et il suffira de mettre à jour le mapping entre l’API de l’entreprise et celle de la classe ou de la brique ayant évolué. Cela permet par exemple de changer facilement de moteur de recherche sur une gestion de contenu ou de base de données ».
Lire l’article en ligne