Le projet Mancoosi veut réinventer la mise à jour logicielle
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.
Le projet Mancoosi veut réinventer la mise à jour logicielle
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.