Ubuntu 10.04 histoire de la fabrication d’une version

closeCet article a été publié il y a 14 ans 10 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

Ubuntu, la distribution GNU/Linux reine posséderait à elle seule 40% des 1 à 3% de part de marché des systèmes d’exploitation GNU/Linux des ordinateurs de bureau. La progression du nombre d’utilisateurs d’Ubuntu serait de plus de 50% depuis 2008. Si l’on met ces chiffres en parallèle avec la très faible augmentation des parts de marchés de GNU/Linux, cela pourrait signifier que (presque) tous les nouveaux utilisateurs débutent par Ubuntu.

Cet article est donc dédié à tous ces nouveaux venus dans le monde des logiciels libres. J’espère que les spécialistes ne m’en voudront pas des approximations qui pourraient apparaître dans cet article. D’une part, je ne souhaite pas trop rentrer dans les détails techniques que je ne maîtrise pas forcément et il s’agit aussi pour moi de comprendre un peu plus en détail comme tout cela fonctionne. Vos commentaires seront les bienvenus.

Pour commencer, le développement et la sortie des versions d’Ubuntu est basé sur des cycles de six mois. La prochaine version LTS (Long Time Support) est annoncée pour le 29 avril soit dans une poignée de jours comme l’indique ce compteur :

Les LTS sortent tout les deux ans et sont des versions particulières dont la durée de maintenance sera plus importante que les versions dites intermédiaires. Ainsi, la version dite desktop (ou pour les PC de bureau) sera maintenue durant 3 ans. Les versions serveur bénéficieront d’une maintenance de 5 ans.

Debian à la base d’Ubuntu 10.04

C’est un point important surtout pour moi qui suit un fan de Debian. En effet, Ubuntu est réalisé à partir des sources de Debian. Cela signifie que les équipes de développement d’Ubuntu vont faire ce que l’on appelle un export (une copie en fait) des sources de Debian. Cette copie va leur servir de base pour élaborer la nouvelle version d’Ubuntu.

Pour être précis, c’est une copie de la version appelée testing de Debian. Cette version ou branche comme l’appellent les développeurs contient les programmes de la future version dite « stable ». Seuls les paquets suffisamment matures peuvent y rentrer.

Une version au demeurant utilisable pour peu que l’on ne craigne pas de mettre de temps en temps les mains dans le cambouis. J’utilise personnellement une Debian reposant sur les dépôts de cette branche aussi appelée Squeeze. D’une certaine manière, cela me permet de disposer d’Ubuntu avant Ubuntu 😉 !

Comment cela se passe-t-il ?

Pour Lucid Lynx tout commence donc en novembre 2009 avec un « Developer Summit ». Il s’agit d’une réunion où sont définies les grandes orientations de la version à venir. C’est un moment important qui permet à la communauté d’influer sur le contenu de la prochaine version. On se souvient des débats autour de l’annonce de  la suppression de GIMP de l’installation par défaut de cette version.

Début décembre intervient la phase dite de Feature Definition Freeze. A cette date toutes les fonctionnalités (ou programmes pour simplifier) candidates à cette version doivent être identifiées afin de permettre la détection de celles nécessitant d’avancer la date limite de mise à disposition, car présentant des risques. Il s’agit en fait de bien borner le contenu de la version pour ne pas avoir de surprise au niveau du planning. Cette phase est suivie de peu par la sortie de l’Alpha 1. Nous sommes le 10 décembre 2009.

Les développeurs continuent leur travail puis aboutissent à l’Alpha 2 environ un mois plus tard. Le noyau Linux est intégré en version 2.6.32 ainsi que le bureau KDE dans sa version 4.4 RC1. Il faut noter qu’à la sortie de chacune de ces versions les programmes, bibliothèques de code et tout ce qui fait partie de la distribution est mis à jour. Une grande partie de ces mises à jour provient comme je l’indiquais plus haut d’un synchronisation automatique avec la branche testing de Debian. Nous sommes le 14 janvier 2010.

Fin janvier 2010 est la dernière limite pour ceux que l’on appelle les partenaires OEM (Original Equipment Manufacturer) s’ils souhaitent intégrer des applications dans la distribution. Il s’agit des fabricants de matériels.

Le 21 février 2010 est une date importante. Jusqu’à présent les sources de la branche testing de Debian sont importées automatiquement. Ces sources n’ont pas encore été adaptés pour Ubuntu. Passé cette date, les sources ne seront plus importés qu’au cas par cas sur demande explicite d’un développeur. Débute alors une longue série de « Freeze ». En français, je dirais que l’on commence à « figer » le contenu de la version.

Ce sont ensuite les fonctionnalités que l’on va figer. il s’agit désormais de stabiliser la version, de la rendre exempte de bug. Nous sommes le 28 février 2010. La semaine suivante sort l’Alpha 3.

Le joli mois de mars verra la sortie de la Beta 1 après une suite de freeze concernant :

  • L’interface qui continue de faire couler pas mal d’encre numérique avec un look façon Mac OSX. Figer l’interface permet aux personnes chargées de documenter la distribution de commencer leur travail. On comprend donc l’importance de cette phase pour eux.
  • Les sources du noyau,
  • Les sources de la Beta 1.

Tout ceci nous permet d’aboutir à la Beta 1 le 18 mars dernier. On y découvre le changement de moteur de recherche par défaut de Firefox qui devient Yahoo ainsi que Ubuntu One Music Store.

Nous voici donc début avril dans la dernière ligne droite avant la sortie de la version finale. Il reste encore pas mal de choses à faire. La documentation a été figée fin mars afin de permettre aux traducteurs de se mettre à travailler. Les sources sont à nouveau figés pour la sortie de la Beta 2, avant-dernière version avant la version finale. Elle sort le 8 avril avec le retour de Google comme moteur de recherche par défaut de Firefox.

Nous sommes le 16 avril lorsque j’écris ces lignes. La date du Final freeze est passée. Désormais seul les corrections de sécurité, les bugs critiques sont intégrés à la version. Toutes les traductions ont été intégrées en vue de la sortie de la Release Candidate le 22 avril.

Cette version est en principe quasiment identique à la version finale. Les changements en vue de la version finale ne seront autorisés que pour des bugs extrêmement pénalisants. Ce long parcourt va donc prendre fin le 29 avril avec la sortie de la version finale.

Ce n’est pourtant pas la fin, car la version continuera de connaître de nombreuses mises à jour destinées à apporter des corrections aux logiciels constituant la distribution. Cependant, ils ne connaîtront pas de mise à jour majeure. Firefox par exemple restera dans sa version initiale aux corrections de sécurité près bien sûr.

Ceci reste vrai tant que vous utilisez les dépôts d’installation standard de la distribution. Vous pouvez à tout moment installer ou compiler une version plus récente d’un logiciel.

Le formidable travail d’une communauté

Cette conclusion pourrait être écrite pour toutes les distributions GNU/Linux. On voit en effet que la réalisation d’une distribution est un long processus, résultat du travail de milliers de fourmis. Travail parfois rémunéré, mais aussi très souvent bénévole. Le sens du mot contribution est ici parfaitement matérialisé.

Les méthodes de travail ne sont pas les mêmes pour toutes les distributions GNU/Linux. Ce que nous avons vu ici est la méthode Ubuntu. Une méthode pilotée par des dates de sortie et un calendrier précis. D’autres distributions font le choix de ne sortir que quand elles sont prêtes comme c’est le cas pour Debian ou d’autres distributions.

Notons aussi l’existence, de nombreuses distributions basées sur le principe des rolling release. Il n’y a pas de versions a proprement parler. Les mises à jour se font de façon continue sans suivre de cycle particulier.

Mais les logiques sont souvent différentes. Ubuntu est une distribution portée par une société commerciale Canonical qui a donc besoin de dates pour caler une communication auprès de ces clients les entreprises.

Saluons donc encore une fois le travail réalisé par tou(te)s les contributeurs(trices).

[Source : LucidReleaseSchedule – Ubuntu Wiki]

Philippe Scoffoni

Je barbote dans la mare informatique depuis 30 ans (premier ordinateur à 16 ans, un ORIC ATMOS) et je travaille à mon compte au travers de ma société Open-DSI. J'accompagne les associations, TPE et PME dans leurs choix et dans la mise en oeuvre se solutions informatiques libres.

34 réponses

  1. Ned dit :

    Bon résumé, si ce n’est que puisque tu t’adresses aux nouveaux venus (dont on peut présumer que beaucoup sont sous Windows), j’expliquerai aussi rapidement la notion de dépôts, qui est pour eux une des plus grandes différences visibles entre les distributions linux d’une part et Windows d’autre part.

    et sinon petite correction de français : « …aux corrections de sécurité _près_ bien sûr »

    cordialement

  2. didrocks dit :

    Très bon résumé, j’ai relu pour voir s’il n’y a pas de coquille et tout me semble bien.

    Tu pourrais rajouter la feature freeze, la string freeze et l’UI freeze (pour ne pas mélanger toutes les freezes) et le fait que les développeurs peuvent demander des « exceptions » avec un process particulier pour casser ces freeze lors d’un upload.

    Également indiquer que la première partie du travail est de « merger » les paquets debian et ubuntu (c’est à dire tous les paquets ayant été modifiés par les dev ubuntu par rapport à debian au cycle précédent : ~ 25% d’après les stats de Lucas Nussbaum). Il s’agit alors de faire une revue des patchs, voir s’ils peuvent s’appliquer upstream (debian ou le projet même) et le faire remonter le cas échéant. On voit aussi si la différence vaut le coup d’avoir deux paquets différents. Ce travail se fait le plus souvent jusqu’à la fin de l’autosync.

    Autre point, lucid a été synchronisée à partir de testing, venant du fait qu’on ait une LTS, mais la réflexion est en cours pour synchroniser les versions non LTS à partir de sid (comme avant) ou de testing. Même réflexion pour 5 alpha + 1 béta ou 3 alpha + 2 béta.

    Cela ferait un super article sur la wiki d’ubuntu-fr pour expliquer aux intéressés comment la distribution est développée, merci pour ce super article 🙂

    PS : on est repassé à Google par défaut (voir l’annonce d’il y a… deux semaines IIRC?)

  3. Bristow dit :

    Merci pour ce résumé, j’ai tout compris 😉

  4. Jean dit :

    @Spitfire 95 > Et pourtant,c’est assez vrai quand même.
    Je me souviens personnellement de la Hardy Heron (soit disant LTS qui a eu besoin de quelques semaines pour devenir bien stable …)

  5. Spitfire 95 dit :

    Bon résumé, mais il y a un détail qui me plait pas :
    « D’autres distributions font le choix de ne sortir que quand elles sont prêtes comme c’est le cas pour Debian ou d’autres distributions. »
    On pourrait croire que Ubuntu sort le jour prévu qu’elle soit prête ou non. Pourtant, si une version n’est pas prête, elle est repoussée, comme la 6.06 LTS (Dapper Drake), sorite le 1er juin 2006 (au lieu de sortir en Avril comme les autres).

    Cordialement.

  6. Philippe dit :

    @Spitfire 95 : je ne souhaitais mentionner que la différence d’approche par rapport à la mise à disposition de la distribution, pas lancer un troll 😉 ! Dans mon esprit prêt ne veut pas dire exempt de bug. Il y en a toujours même sur une Debian. J’aurais du écrire « quand elles sont finies ».
    @didrocks : c’est pour ça que je n’ai pas trop voulu aller dans les détails, même moi qui ait été développeur il y a une dizaine d’année je ne suis pas sur d’avoir compris ce que tu as expliqué :p ! Sinon mes articles sont en CC-BY. Vous pouvez copier/coller celui-ci et le modifier/améliorer pour le wiki d’ubuntu-fr, suffit de respecter la clause BY. Envoyer-moi un petit mail si c’est le cas juste pour me tenir au courant (voir rubrique contact).
    @Ned : corrigé, merci !
    @Bristow : Encore une fois j’ai essayé de faire simple 🙂

  7. Marco dit :

    Merci pour ce billet qui montrer enfin la realisation d’une distribution linux….de bout en bout.
    POur les approximations et les raccourics tehcnique mieux vaut ne pas me demander, je ne m’y connais pas assez.
    POur le reste je trouve que c’est un billet a vlauer educative et pas du tout abstrait ou technique.Merci donc pour ce boulot.
    Mainteant je prend a rever ou un jour un realisateur de documentaire fera une documentaire sur Ubuntu….hum le doux reve que celui la.
    Bye Bye

  8. Philippe dit :

    @Jean, Spitfire 95 : personnellement je pense que les deux méthodes avec date et sans date ont leurs avantages et inconvénients respectifs. Je crois qu’elle ne servent pas les mêmes objectifs. Ne pas se donner de dates peut aussi revenir à ne jamais rien finir ou livrer. Ensuite il faut comparer ce qui est comparable. Debian et Ubuntu ne me semble pas comparables. Leurs objectifs ne sont pas les mêmes.

  9. lowje dit :

    Même si KDE n’est pas sur le live CD d’Ubuntu, il est quand même dans les dépôts de ce dernier.

    Quand l’auteur de l’article parle des logiciels qui sont « freeze » et cie, je pense qu’ils parlent de tout les logiciels dans les dépôts.

  10. Farliec dit :

    J’espère que les nouveaux venus savent déjà ce qu’est Debian et des « sources » et un « bureau », sinn ils ne vont pas comprendre.
    KDE dans Ubuntu ? Normalement Ubuntu est livré avec Gnome, Kubuntu avec KDE, Xubuntu avec Xfce,…

    🙂

  11. Jarvis dit :

    Bon article de vulgarisation.

    > Les versions serveur bénéficieront d’une maintenance de 5 ans.

    C’est vrai. Mais si tu t’adresses à un public large, soit tu expliques ce que sont les « versions serveurs », soit tu le supprimes.

  12. marceldo dit :

    Bonjour,

    utilisateur Ubuntu depuis peu, je trouve votre article intéressant, il montre bien tout le processus nécessaire pour aboutir à une nouvelle version. Avoir une date butoir est souvent un moteur qui permet de faire avancer les choses, même si cela met un peu la pression. Je reste malgré tout dubitatif sur la pérennité d’un tel système qui repose beaucoup sur des bénévoles. On ne vit pas que d’amour et d’eau fraîche… Certes la passion s’affranchit souvent de la raison, mais le temps fini par en émousser les ressorts. Reste à espérer que le renouvellement des « cadres » puisse assurer la continuité de ce système remarquable.

    Cordialement

  13. lowje dit :

    « mais changer un programme n’a à mon avis aucun impact sur la stabilité du système »
    Peut-être, et j’en sais rien, que les dev ne sont pas du même avis…

  14. Jean-M dit :

    « Ce n’est pourtant pas la fin, car la version… pas de mise à jour majeure. Firefox par exemple restera dans sa version initiale aux corrections de sécurité près bien sûr. »
    Bonjour,
    Je ne comprend pas pour quelle raison un logiciel non système ne peut pas changer de version, par exemple OpenOffice ou Firefox justement. J’admets qu’il est surement pas très aisé de changer de version d’un KDE ou d’un GNOME mais changer un programme n’a à mon avis aucun impact sur la stabilité du système.
    J’utilise la LTS 8.04 mais c’est pénible de ne pas pouvoir lire et écrire des documents en .docx Microsoft étant autiste… c’est malheureusement imposé par les employeurs.
    Cordialement,
    Jean-M

  15. didrocks dit :

    une version d’ubuntu == des versions figées de chaque logiciel. Cela apporte une continuité du workflow, ne demande pas de mettre à jour les dépendances, et ne change pas les habitudes des utilisateurs (vu les changements que peuvent apporter les nouvelles versions).

    backporter les fix et les mises à jour de sécurité (normalement faites uniquement sur la dernière version par le dévelopeur) est très couteux et ennuyeux. Par conséquent, on ne le fait pas sans cette bonne raison vu que le plus simple pour nous serait de mettre à jour. 🙂

  16. Jarvis dit :

    @Jean M je te conseillerais d’utiliser soit playonlinux, soit une machine virtuelle (par exemple VirtualBox) pour installer Office (tu demandes évidemment à ton employeur de t’acheter une licence valide d’Office). Sinon ya aussi les google docs, je crois que ça gère aussi le docx. Ça en fait des solutions sans devoir installer la dernière version d’openoffice.org 😉

  17. Philippe dit :

    Bonsoir @tous ! Merci pour vos commentaires et remarques.
    @Jean-M : il est possible malgré tout et normalement sans problème de mettre à jour certains logiciels comme Firefox ou Thunderbird par exemple :
    http://sourceforge.net/apps/mediawiki/ubuntuzilla/index.php?title=Main_Page

    C’est ce que j’ai fait sur une 8.04 LTS pour avoir Firefox 3.6 et Thunderbird 3. Cependant on a pas toujours besoin des dernières versions. Ma belle-mère (sous Ubuntu 8.04 aussi) ne sait même pas qu’elle pourrait voir besoin d’une nouvelle version 😉 !

  18. pluviotor dit :

    Ca, c’est du beau billet! 🙂

  19. Philippe dit :

    @pluviotor : merci 🙂

  20. Treintafouire dit :

    En effet. Super comme billet, on en apprend plus , c’est bien pour les noob (comme moi xD) !

  21. Galuel dit :

    Bon ! J’ai installé Ubuntu sur mes deux PC, dont un en mode OS par défaut, et l’autre en OS secondaire (après XP), ce qui me permet de comparer…

    Ce qui met du temps c’est de trouver le « bon » logiciel à installer pour un usage donné, souvent il y en a plétore de qualités diverses, et on se demande souvent pourquoi il n’y a pas un peu plus de concentration pour offrir au moins un choix par défaut simple et lisible pour l’utilisateur non informaticien.

    Concernant les dépôts, l’installation des programmes :

    – Les install sont très difficile à piger, le « clic droit » sur un raccourci ne donne toujours pas le chemin précis de l’application, dont on ne sait jamais trop où son programme principal est installé (contrairement à Windows où tout est clairement installé dans Program Files, sous Ubuntu je galère, et j’abandonne en fait très souvent, c’est que c’est pas mon job fondamental non plus…)

    – De façon plus générale on ne comprend pas pourquoi il faut encore taper des lignes de commande pour faire des choses aussi évidentes qu’installer / désinstaller et paramétrer des programmes, c’est « anti user » au possible, et sans ces fonctionnalités basiques, je ne me vois pas proposer Ubuntu à mes amis non informaticiens, c’est bien trop rebutant…

    – La logithèque est vraiment un très bon outil qui va dans ce sens, mais pour du « libre » on s’attend tout de même à pouvoir « installer / désinstaller » simplement tous les programmes, et pas seulement ceux qui sont « validés » pour entrer dans la logithèque !

    – Graphiquement c’est top, et techniquement c’est libérateur de voir son PC aller super vite, et de pouvoir lire le disque où Windows s’est crashé lamentablement, pour récupérer ses fichiers avec soulagement ! … ;). J’apprécie aussi les nouveaux outils systèmes graphiques bien faits, mais il manque des infos de version logicielle sur les drivers matériel, pas simple à piger (faut quand même demander souvent de l’aide sur les forums…)

    Ceci étant dit par rapport aux anciennes distributions Linux que j’ai pu tester depuis 2004 pour en suivre l’évolution, je suis « presque » enthousiaste, et « presque » convaincu que cette distribution a un vrai potentiel grand public, à condition de pousser l’effort d’ergonomie concernant la gestion du système jusqu’à atteindre la facilité graphique de Windows.

    J’ai bien le sentiment qu’on en est pas loin, mais il manque ce petit « gap » qui fera disparaître ces « lignes de commande » encore présentes incompatibles avec une telle ambition.

  22. Philippe dit :

    Salut Stéphane, deux problématiques que tu soulèves :
    – L’organisation des fichiers différente, pas de .exe, pas de program files, système d’installation différent, le concept de distribution : ce sont des éléments structurellement différent lié à la façon dont les OS GNU/Linux ont été conçus. Tout comme Windows il y a des avantages et inconvénients (je connais trop bien les deux environnement). Tu ne couperas pas à une phase d’apprentissage toujours douloureuse.
    – L’ergonomie et le recours à la ligne de commande : ok, c’est un objectif d’Ubuntu qui travaille énormément à cela. Maintenant et c’est un avis personnel, je préfère taper des lignes de commandes que de me promener dans un clicodrome. Pour administrer des serveurs sous Windows 2008, je peux te dire que si j’avais des lignes de commande (étonnamment, les OS de Redmond retrourne beaucoup dans cette direction) ce serait bien plus simple. L’analogie vaut pour le poste de travail. Je préfère épeler une ligne de commande à une utilisateur que lui expliquer les 5 fenêtres/menus qu’il doit ouvrir pour trouver la case à cocher qui permet de changer la langue du clavier dans Windows. Mais je suis un tech, ceci explique sûrement cela. Donc je te concède ce point.
    Pour finir en 2004, je dirais que GNU/Linux était au niveau de windows 95 et que Seven SP2 sera largement dépassé par la prochaine LTS d’Ubuntu ou un OS de Google dans 2 ans au vu de cette vitesse de progression 🙂

  1. 17 avril 2010

    […] This post was mentioned on Twitter by Ralaison Ainga and cyrille HUBERT, Hibernatus. Hibernatus said: Chez Philippe : Ubuntu 10.04, histoire de la fabrication d’une version http://bypsc.fr/zo (via @pscoffoni) […]

  2. 17 avril 2010

    […] Un article super intéressant sur la conception d’une version d’ubuntu, à lire absolument ! […]

  3. 17 avril 2010

    […] vite découvrir ici : http://philippe.scoffoni.net/ubuntu-10-04-lucid-lynx-histoire-fabrication-version/ Softwaregeek, geekdefrance, […]

  4. 18 avril 2010

    […] Source : philippe.scoffoni.net. […]

  5. 19 avril 2010

    […] […]

  6. 19 avril 2010

    […] vous pour comprendre comment est préparé une sortie Ubuntu grâce à cette excellent article : Ubuntu 10.04, histoire de la fabrication d’une version sur le blog de Philippe […]

  7. 19 avril 2010

    […] article fort intéressant sur le blog de Philippe Scoffoni. Les étapes de fabrication d’une version (ubuntu). Plutôt pas mal. Pour ceux qui sont intéressé par le monde Linux, toussa […]

  8. 22 avril 2010

    […] Edit : Philippe Scoffoni vient de publier un très bon article intitulé « Ubuntu 10.04, histoire de la fabrication d’une version«  […]

  9. 22 avril 2010

    […] comprendre le développement des distributions Ubuntu, je vous invite à lire cet excellent article qui récapitule bien les différentes étapes de conception. Suivez les liens pour télécharger […]

  10. 4 mai 2010

    […] Philippe Scoffoni : un peu de culture sur les coulisses de la fabrication d’une version […]

  11. 6 septembre 2010

    […] mois. Combien ? Autant qu’il en faudra pour arriver à une version stable. Une différence avec la méthode Ubuntu pilotée par une sortie cadencée des versions (tous les 6 […]

  12. 4 décembre 2010

    […] non plus le projet Debian qui reste de façon indirecte un gros “sponsor” du projet. Ubuntu est fabriqué à partir de cette distribution. Canonical a adopté un modèle qui s’appuie sur une forte communauté, un modèle similaire […]