Colin Watson, développeur Ubuntu et membre de Canonical, a récemment fait une clarification sur la politique de mise à jour des paquets dans une version stable d'Ubuntu sur ubuntu-devel-announce@. Cette clarification faite suite à un besoin de mettre à jour le paquet landscape-common consécutif à un changement de protocole entre le client et le serveur. Landscape est la solution de gestion centralisée d'un parc informatique de Canonical, maison mère (et source de financement) d'Ubuntu.

J'ai trouvé sa lecture intéressante, notamment en regard de la politique Debian de ne faire aucune mise à jour dans une version stable de la distribution (hormis bien évidemment les failles de sécurité).

Pour résumer, la politique par défaut est, tout comme Debian, de ne mettre aucun paquet à jour. Mais si une exception doit être faite, la grille de lecture suivante sera utilisée :

  • La mise à jour doit faire suite à des changements dans l'environnement extérieur, non prévisibles au moment de la sortie de la version stable ;
  • Une nouvelle version d'upstream (c.-à-d. le développeur du programme) est la meilleure façon de corriger un problème. Mais si cela est possible, il est préférable de backporter les changements nécessaires ;
  • upstream doit avoir la volonté de travailler avec Ubuntu ;
  • le code upstream doit être bien testé ;
  • le paquet concerné doit avoir le minimum d'interactions avec les autres paquets.

Bien évidemment, on peut se demander si ces critères n'ont pas été taillés sur mesure pour que le paquet de Landscape puisse être mis à jour. :-) Cela a probablement influencé leurs choix.

Mais la règle de base est quand même de ne faire aucune mise à jour. Avec une nouvelle version stable tout les six mois, ce n'est pas vraiment un problème (par exemple Ubuntu stable (Karmic Koala) aura la dernière version d'OCaml avant Debian stable (Squeeze) ;-).

Par contre pour la version LTS (Long Term Support) les mêmes problèmes que pour Debian se posent : au bout d'un certain temps, la non adaptation à l'environnement transforme l'avantage de la stabilité en réel problème :

  • impossibilité d'installer sur du matériel récent ;
  • bibliothèques trop vieilles pour compiler la dernière version d'un programme ;
  • nécessité de compiler un programme et ses dépendances à la main car le paquet officiel est obsolète.

Ubuntu et Debian s'en rendent compte et s'y adaptent, mais de façon différente. Ubuntu fait des mises à jour de paquets, au cas par cas (processus SRU, ''Stable Release Update'' [1]), alors que Debian privilégie la mise à jour du noyau et du serveur X (et uniquement de ceux-ci) quand la situation devient trop critique.

Même si j'adhère fondamentalement à l'aspect communautaire de Debian et sa volonté de stabilité, je ne suis pas passé à Ubuntu sur mon poste de travail par hasard : vive les versions stables régulières ! ;-)

Notes

[1] en particulier une application peut être mise à jour si elle n'appartient pas à l'infrastructure de base.