Open source : Mancoosi veut réinventer la mise à jour logicielle
Mandriva et Ilog participent au projet européen Mancoosi qui doit revisiter les procédures de mises à jour logicielles des infrastructures Open Source. Des travaux qui à termes doivent former l'ossature d'un modèle d'architecture pour tous les logiciels.
Comment maintenir le système d'un ordinateur cohérent et fonctionnel, lorsqu'on doit installer régulièrement de multiples mises à jour? Ce casse-tête, très lié finalement au monde du logiciel libre et de l'Open Source, est au centre du projet européen Mancoosi (MANaging the COmplexity of the Open Source Infrastructure), inauguré en février 2008. Réunis en consortium, dix partenaires (universités et éditeurs), dont Mandriva et Ilog, se sont fixés la difficile tâche d'améliorer les mécanismes de mises à jour des logiciels libres. Sont également associés l'Université Paris Diderot, Caixa Mágica (Portugal), INESC-ID (Portugal), Pixart (Argentine), Tel Aviv University (Israël), l'Université catholique de Louvain (Belgique), Università degli Studi dell'Aquila (Italie) et l'Université Nice Sophia Antipolis.
Les processus de mises à jour dans le logiciel libre repose sur deux postulats: Primo, le développement communautaire qui rend indépendantes les briques logicielles et la fréquence de leur mise à jour. Deuxio, la compléxité d'un système reposant sur des paquets logiciels - dont sont composées par dizaine de milliers les distributions Linux du marché – qui ont la particularité d'être étroitement interconnectés. «On assiste à la mutiplication des composants logiciels et ce nombre s'accroit de plus en plus vite, résume le professeur Roberto Di Cosmo qui coordonne le projet Mancoosi. Comment s'assurer que tout cela va bien fonctionner?»
Et c'est là toute la difficulté. «Même quand un utilisateur souhaite mettre à jour un «paquet» unique, il peut être nécessaire d'enlever ou d'installer de nombreux autres «paquets» logiciel.Trouver un chemin de mise à jour d'une installation de ''paquets'' à une autre, est une tâche complexe en termes d'algorithmes, et trouver un chemin prenant en compte les préférences ou les contraintes des utilisateurs l'est encore plus», commente Mandriva.
Algorithmes complexes et fédération de la communauté
C'est avec cette notion de préférence utilisateur que seront développés des algorithmes complexes qui doivent, au final, laisser l'utilisateur contrôler les mises à jour de sa machine, de façon fonctionnelle et à la carte. Des filtres de mises à jours avancés et intelligents qui prennent non seulement en compte l'existant, mais analyse aussi la structure du système.
«La collaboration entre universités et éditeurs est très importantes dans ce domaine, insiste Roberto Di Cosmo. Notamment dans l'optimisation de ces algorithmes.» Et de citer notamment les travaux d'Ilog en la matière.
Ces algorithmes seront ensuite testés sur des cas d'études remontés parmi les communautés de chercheurs, de développeurs mais surtout d'utilisateurs. Et pour cela, Mancoosi s'appuiera sur trois distributions Linux, Mandriva en France, Caixa Magica au Portugal et Pixart en Argentine (motorisées par trois technologies différentes), à partir desquelles seront extraits des rapports d'erreurs. Les algorithmes des chercheurs seront alors testés sur ces mêmes rapports afin d'en extraire les plus performants.
Enfin, deuxième volet du projet, le développement de méthodes visant à assurer qu'il est possible de revenir en arrière en cas de tentative ratée de mise à jour. «Lorsque les paquets sont mal-déclarés, par exemple, on doit pouvoir revenir en arrière. Mais on doit pouvoir le faire après l'installation du 30 000 e paquet et exclure la 31 000ème. On doit pouvoir suivre précisément à la carte le suivi de l'installation», explique Roberto Di Cosmo.
Un système par paquet moins brutal qu'avec les grosses mises à jour de type Service Pack qui installent tout les composants en même temps.
Vers une architecture logicielle globale
Si dans un premier temps, ce sont bien les logiciels libres qui sont visés, le projet Mancoosi, financé à hauteur de 3,3 millions d'euros par l'Union européenne, est bien plus ambitieux. Et doit établir les fondements d'une architecture logicielle pour gérer tous les cas de figure de mises à jour. Y compris celle des applications propriétaires. «Mais de par leur facilité d'accès et de par leur structure par paquet logiciel, le projet s'interessera d'abord aux logiciels Libres.»
Financé pour trois ans, les résultats de travaux de Mancoosi, s'ils sont destinés, avant tout, à être intégrés sous forme d'outils, seront publiés sous licence Open Source. Et pourront dès lors constituer un point de départ de recherche pour d'autres éditeurs ou universités, commente Roberto Di Cosmo.