Un installeur unique pour toutes les distributions GNU/Linux
Le sujet n’est pas neuf. La guerre des systèmes de paquetage et de celui qui distribuera le mieux, le plus vite et de façon la plus cohérente les logiciels qui constituent une distribution GNU/Linux a déjà eu lieu et n’est d’ailleurs pas vraiment finie.
Une discorde de développeurs il faut bien le dire. L’utilisateur lui n’a au final guère que le choix d’en subir les conséquences et de devoir parfois choisir une distribution pour les paquets qu’elle offre. Encore que ce choix soit rendu très difficile à réaliser pour une personne “non-avertie”.
Les systèmes de gestion de paquets
Il existe plusieurs formats de paquets (source Wikipédia)
- tgz : archive tar compressée incluant des fichiers de contrôle, utilisé notamment par Slackware ou Archlinux. Un paquet tgz comporte juste chaque fichier et le nom du répertoire où il doit être placé : pas de gestion de l’existant (versions) ni des dépendances.
- deb : système de gestion de paquets créé par la communauté Debian pour Debian et utilisé par de très nombreuses distributions telles que Ubuntu ainsi que d’autres dérivées.
- rpm : système de gestion de paquets inventé par Red Hat et utilisé par Fedora, SuSE, Mandriva et quelques autres.
- ebuild : système de Gentoo.
- fpm : paquets de Frugalware
- pisi : paquets de Pardus
Comme on le voit, la notion de format de paquets est intimement liée à celui d’une distribution GNU/Linux. Elle est cependant souvent invisible pour l’utilisateur qui se contente d’utiliser les outils d’installation de logiciel de sa distribution. Elle devient plus significative dès lors que l’on souhaite installer un logiciel pour lequel il n’existe pas de dépôt pour sa distribution. Il faut alors télécharger directement le paquet logiciel sans se tromper de format.
Là où les choses peuvent se compliquer, c’est lorsque l’on utilise un paquet dans un format compatible avec sa distribution, mais dont le contenu a été préparé pour une autre distribution. Un exemple pour illustrer cette problématique : il n’est pas rare de trouver des paquets au format deb mais dont le contenu a été préparé spécifiquement pour Ubuntu, rendant leur installation impossible pour Debian.
Pourtant un argument fort pour les distributions GNU/Linux
La notion de distribution est une avancée importante pour l’utilisateur, car elle lui garantit au sein d’une distribution une installation facile des logiciels qui ont été préparés pour cette dernière:
- Pas de recherche sur de multiples sites web pour télécharger chaque logiciel;
- Une mise à jour centralisée et unique pour l’ensemble de ces logiciels;
- La cohérence et l’intégrité de son système d’exploitation et des applications qui s’y exécutent.
Mais les inconvénients cités précédemment viennent ternir cette image qui pourrait sembler idyllique.
Des systèmes de gestion de paquets universels
D’une certaine manière les distributions GNU/Linux ont toujours été en avance sur Apple et son magasin d’application souvent présenté par ces utilisateurs comme le Saint Graal. Les avantages sont évidents et rejoignent ceux cités précédemment. Il est donc presque amusant de voir aujourd’hui les distributions se mettre au gout du jour en relookant leurs outils de gestion de paquets en magasin d’applications façon Apple.
Mais nous en sommes toujours au syndrome du magasin d’application par distribution. Sur le fond cela peut sembler assez peu gênant. Sauf qu’encore une fois l’utilisateur reste dépendant de la volonté du développeur de rendre disponible la dernière version d’un logiciel dans les dépôts de sa distribution favorite. Ne reste alors plus que la solution de la compilation inaccessible et rédhibitoire pour un non-informaticien.
L’idée qui vient naturellement est celle de créer un système de gestion de paquets universel. La principale difficulté réside dans la diversité des distributions existantes et dans l’absence d’homogénéité des “librairies” de code qu’elles embarquent. Ainsi, une version X d’un logiciel peut demander la présence d’un librairie de code en version Y alors que la distribution embarque la version Z.
La résolution des problèmes de dépendance fait l’objet d’études. L’une d’entre-elles a été menée par Stefano Zacchiroli et présentée lors du dernier FOSDEM sous le nom de CUDF (Common Upgradeability Description Format)
Il existe aussi l’outil PackageKit, une couche d’abstraction aux outils habituels des distributions (apt, conary, yum, etc.) sur lesquels il s’appuie (Source Wikipédia).
On pourra aussi consulter la vidéo compte-rendu (nécessite Flash) d’une séance de trois journées de brain-storming réunissant une quinzaine de représentants de différentes distributions GNU/Linux comme OpenSUSE, Ubuntu, Fedora, Debian ou Mageia. Leur objectif était de préciser les lignes directrices d’un installateur d’application universel. Il est agréable de lire aussi qu’il s’agit d’éviter que chacun travaille dans son propre coin et de regrouper les efforts vers une finalité commune. On retrouve aussi le souci de l’expérience utilisateur qui est annoncée comme plus importante que la technique en elle-même.
Je crois que l’on a un peu trop longtemps négligé l’utilisateur pour ne penser qu’en terme de fonctionnalités et de liberté du code. L’utilisateur a des besoins qui vont au-delà de ces deux aspects pourtant indispensables. Le développeur doit apprendre à penser comme un utilisateur et ce n’est pas toujours facile.
Il faut peut-être plus de place aux utilisateurs dans la gouvernance des projets de logiciels libres souvent monopolisée par les développeurs. La faible prise en compte de l’utilisateur ne peut-elle expliquer au final son absence ?
Il ne manque peut-être pas grand-chose aux logiciels libres pour devenir universel. Juste un peu de considération pour l’utilisateur et ces limites techniques. Tout le monde ne pourra pas devenir développeur. Je ne crois pas avoir compris que tel était la finalité des logiciels libres. Je me trompe ?
Cet article est dédicacé à Julien et à l’andouillette de ce midi qui m’a inspiré cet article !
Crédit Photo certains droits réservés par viZZZual.com
Réagir à cet article
Article original écrit par Philippe Scoffoni le 08/02/2011. | Lien direct vers cet article
Cette création est mise à disposition sous un contrat Creative Commons BY à l'exception des images qui l'illustrent (celles-ci demeurent placées sous leur mention légale d'origine).