Le projet Fedora a fêté le 6 novembre 2023 ses 20 ans. C'est en effet via cette annonce publique de la sortie de la dénommée Fedora Core 1 qui marque le coup d'envoi de cette histoire.
Continuité de la distribution Red Hat Linux en prenant un aspect communautaire, elle aura su au gré du temps s'imposer comme une distribution généraliste majeure de l'écosystème Linux. Au fil des années, de nombreuses technologies incorporées et testées en premier lieu dans la distribution ont su se généraliser au reste des distributions.
Profitons de cet anniversaire pour faire une rétrospective de l'évolution de la distribution mais aussi un rappel d'où nous partions il y a 20 ans. Cela permettra d'envisager aussi ce que nous réserve l'avenir, et qui sait faire un nouveau point d'étape dans 20 ans ?
La genèse
Le commencement de la distribution Fedora nécessite de revenir un peu avant la sortie de Fedora Core 1, en 2002. À ce moment là, l'entreprise Red Hat maintenait deux distributions : Red Hat Enterprise Linux et Red Hat Linux. La première existe toujours et est le produit phare de l'entreprise, à savoir une distribution centrée sur les besoins professionnels et les usages avancés tels que les serveurs ou les stations de travail pro en vendant des licences et du support. La seconde était plutôt destinée au particulier pour avoir une distribution à utiliser à la maison comme il pouvait acheter en magasin une Mandrake ou un Windows XP en ce temps là sur CD.
Dans les deux cas, si les distributions sont libres avec le code source accessible, le développement n'est pas communautaire et Red Hat ne propose dans ses dépôts que les paquets qu'elle maintient.
Warren Togami a eu comme projet universitaire de proposer un dépôt communautaire et complémentaire pour ces distributions. L'objectif était de compléter les logiciels manquants dans les dépôts avec une bonne qualité d'intégration tout en permettant à d'autres personnes de l'aider dans cette tâche.
Le projet prend le nom fedora.us en référence au modèle de chapeau iconique du logo de Red Hat. Et il prend rapidement de l'essor.
Les ressources n'étant pas infinies, Red Hat souhaite se désengager de Red Hat Linux qui n'est pas assez rentable et propose de chapeauter le projet Fedora en adoptant un développement communautaire, et en s'en servant comme base pour sa distribution phare RHEL tout en donnant des ressources matérielles et humaines pour aider le projet Fedora dans sa tâche. En un sens, le projet Fedora et Red Hat Linux fusionnent. Au début cependant Red Hat maintenait le dépôt Core (d'où le nom de Fedora Core) tandis que les personnes extérieures pouvaient gérer de manière autonome le dépôt Extra.
C'est ainsi que fin 2003, Fedora Core 1 est publiée en se basant sur Red Hat Linux 9. Red Hat Linux n'aura plus de mises à jour dès mi-2004 marquant la fin de cette distribution.
Fedora Core 1
Si on fait l'expérience d'installer une Fedora Core 1, le ressenti est assez déroutant. Outre la nostalgie de ces interfaces finalement classiques mais un peu désuètes avec des graphismes très simples voire austères, nous ne sommes pour autant pas déboussolés tant les fondamentaux sont là. Le système est cependant bien plus réactif qu'à l'époque tant les performances ont progressé depuis.
En effet, la Fedora Core 1 nécessitait au minimum :
- un processeur 400 MHz Pentium II pour un usage graphique
- l'espace disque requis pouvait aller de 500 Mio au minimum à 5 Gio pour installer l'ensemble des paquets
- et niveau mémoire 256 Mio étaient recommandées pour un usage graphique.
Il ne manque que le doux bruit du disque dur qui gratte ou celui des courants qui dirigent les faisceaux d'électrons dans les tubes cathodiques avec ce grésillement caractéristique pour afficher un économiseur d'écran ou encore les fréquences pour établir les connexions via un modem 56k pour retrouver cette ambiance du début des années 2000.
Mais si au premier abord, rien n'a changé, en réalité tout est différent. Au moins dès ce moment là, l'architecture x86_64 était proposée mais c'était vraiment le balbutiement. En effet, le premier processeur grand public compatible, le Athlon 64, était sorti seulement deux mois plus tôt. L'architecture phare c'était x86 avec sa variante générique mais ancienne i386. Et autant dire avec ces machines sans accélération des instructions de virtualisation, il n'était pas vraiment envisageable de tester Fedora Core par ce biais là.
Reprenons, à ce moment là les Live CD de Fedora Core n'existaient pas encore officiellement. Pour la tester il fallait donc l'installer. Installer Fedora Core demandait au choix de télécharger l'image DVD de 3,7 Gio ou plusieurs images CD. L'installation par USB était un concept en ce temps là. Cela peut paraître superflu, mais quand Internet n'était pas aussi généralisé ou avec un débit très lent, avoir la logithèque au complet dès le départ était un atout important. Acheter un magazine juste pour avoir un CD d'installation était courant pour s'épargner ces temps de téléchargement interminables, et le coût associé parfois.
D'ailleurs, dès l'écran d'installation cet aspect saute aux yeux car nous pouvions littéralement choisir les paquets à installer au moment de l'installation, et insérer si nécessaire les CD complémentaires pour compléter le processus.
L'interface d'anaconda, le logiciel d'installation, était très linéaire avec beaucoup de questions qui font sourire aujourd'hui. Comme le choix du modèle de souris notamment pour connaître le nombre de boutons et la présence éventuelle de la molette, le choix du modèle d'écran pour connaître la résolution et la fréquence. Possibilité de synchroniser le temps par NTP mais il faut remplir le champ du serveur NTP soi même. Le compte administrateur et le compte utilisateur principal étaient bien distincts.
Une fois l'installation finie, on pouvait profiter du démarrage graphique avec l'outil rhgb (Red Hat Graphical Boot) qui est toujours un nom qu'on peut voir dans les arguments du noyau aujourd'hui chez Fedora Linux. C'était visuellement sympathique, avec cette possibilité de voir la console du lancement des services tout en gardant une interface graphique autour.
L'écran de connexion GDM se lance, il faut saisir le nom du compte qu'on souhaite lancer. Il n'y a pas de liste des comptes disponibles. Et enfin, l'interface GNOME se lance. Cependant même si c'est un GNOME 2, c'était au début un GNOME 2.4 avec un visuel proche de KDE avec une grande barre principale en bas, sans une bar en haut de l'écran qui était son mode canonique caractéristique. Le menu principal était accessible à travers l’icône du chapeau rouge de Red Hat, qui restera là pour les 4 premières versions de la distribution.
Niveau utilitaires, si certains noms sont familiers comme GIMP, la plupart des utilitaires GNOME, d'autres ont bien changé. Firefox n'existait pas, c'était son ancêtre la suite Mozilla qui était à la barre. Qui malheureusement ne gère pas les protocoles TLS récents ce qui rend impossible son usage sur le web moderne ou presque. Le courriel passait de fait par le même outil au lieu de Thunderbird bien qu'Evolution était déjà disponible. La messagerie instantanée était proposée par l'ancêtre de Pidgin : Gaim en prenant en charge beaucoup de protocoles de cette époque dont le leader du marché en France qu'était MSN. Pour la suite bureautique c'était OpenOffice.org, le prédécesseur de LibreOffice, qui était présent.
Les outils systèmes étaient aussi très différents. DNF n'était même pas encore un rêve, la gestion des paquets passait par YUM qui était particulièrement lent et peu fiable. Le nombre de fois que la gestion des dépendances aboutissait à casser le système était fréquent, surtout avec l'usage de dépôts alternatifs pas toujours bien gérés. La configuration du système ne reposait pas uniquement sur GNOME mais sur des interfaces individuels conçus par Red Hat nommés system-config-*. C'était relativement peu flexible, il fallait souvent redémarrer la machine ou les services à la main pour appliquer des changements, le mot de passe superutilisateur était souvent requis, le réseau n'était pas géré par NetworkManager, la gestion du réseau n'était pas aussi dynamique qu'aujourd'hui en particulier pour les connexions sans fil, de même que l'intégration système via l'interface dbus. Imprimer était aussi vite laborieux pour installer l'imprimante et avoir le bon pilote, quand il existait. De même pour le scan des documents avec XSane.
Le démarrage était géré par des scripts init SysV classiques, systemd n'étant pas là de même que tous ses outils qui gravitent autour. Le noyau Linux lui même était un 2.4.22, la seule version de Fedora pré-2.6 qui fut une évolution majeure du noyau.
Le partitionnement standard était basé le système de fichiers ext3. Btrfs et ext4 n'existaient pas encore. Les volumes logiques par défaut n'apparaîtront également qu'un peu plus tard.
Les restrictions légales aussi rendait impossible la lecture de fichiers musicaux MP3 sans dépôts tiers. Et les limitations de l'époque empêchait la lecture du son par plusieurs applications en même temps.
Cependant les bases étaient là, l'interface dans les canons de l'époque ce que beaucoup d'environnements de bureau maintiennent aujourd'hui par ailleurs comme Xfce ou MATE. Le thème Bluecurve accuse de l'âge mais l'intégration graphique globale était bonne sur l'ensemble des composants et sur tous les éléments de la chaine dont lors du démarrage de la machine.
20 ans d'évolution progressive visibles...
Après la sortie de Fedora Core 1, les changements sont arrivés petit à petit jusqu'à aboutir à nos systèmes modernes. Parfois un peu dans la souffrance le temps d'effectuer ces transitions.
Dès la 2e version, Fedora Core change de serveur d'affichage XFree86 pour X.org car la licence du projet avait changé pour devenir non libre. SELinux était aussi proposé avant d'être activé par défaut dans la 3e version. Cela reste encore une distinction de Fedora à ce jour dans l'écosystème en dehors d'Android, bien que Ubuntu par exemple a privilégié une alternative AppArmor depuis. La 3e version apporte la mise à disposition du dépôt extra évoqué plus haut, et le navigateur Web par défaut devient Firefox.
Après la Fedora Core 4 qui se démarque par un fond d'écran identique à son prédécesseur ce qui constitue un cas unique à ce jour, Fedora Core 5 marque un rupture par un thème graphique très poussé à base de bulle. Il met en avant le nouveau logo de Fedora qui restera en place pendant de nombreuses années. Et Fedora Core 6 continuera dans cette lancée avec un nouveau thème dédié et surtout l'arrivée de la technologie AIGLX pour proposer l'accélération graphique aux environnements de bureaux. Cela marqua le début de la mode pour les bureaux avec des bureaux virtuels sous forme de face d'un cube, les fenêtres gélatineuses, et autres effets visuels qu'on pouvait personnaliser via Compiz et Beryl.
L'année 2007 sera assez riche. Le mois de mai est marqué par la sortie de Fedora 7 qui abandonne son qualificatif Core grâce à la fusion des dépôts core et extra qui deviennent le dépôt fedora encore utilisé aujourd'hui comme base du système.
Mais Fedora 7 propose aussi un thème iconique signé Diana Fong, qui sera sans doute le dernier thème aussi personnalisé dans la distribution. Fedora 7 propose aussi un Live CD installable ce qui change complètement la manière d'installer et de tester le système. Dans le même temps, l'outil preupgrade est proposé pour faire des mise à niveau par Internet plutôt que de passer par la mise à niveau via les CD (ou une réinstallation). Dans les deux cas la fiabilité de l'opération restait assez aléatoire.
Au cours de l'année 2007, le projet Fedora Legacy jette l'éponge, c'était une initiative communautaire pour allonger la durée de support des versions de Fedora au delà de la moyenne de 13 mois. Cependant c'était gourmand en ressources et il y avait peu de volontaires. Il faut dire que les utilisateurs de Fedora sont plus attirés par les nouveautés que par l'utilisation prolongée d'une vieille version.
Fin de l'année en novembre, Fedora 8 sort en introduisant NetworkManager pour la gestion du réseau et PulseAudio pour le son. Ce dernier changement s'était fait très tôt et a nécessité beaucoup de versions avant d'avoir une gestion du son stable, notamment à cause de pilotes inadaptés et des changements profonds dans le système qui ont été nécessaires. De manière plus anecdotique les fonds d'écran changeaient aussi toutes les heures, principe concerné aujourd'hui pour avoir une variation de teinte en fonction de la luminosité extérieure supposée.
Mais cela ne s'arrête pas là, Fedora 9 migre de SysV à upstart pour la gestion des services au démarrage, technologie signée Canonical qui servira de tremplin à systemd par la suite car il en corrigera ses limitations. PackageKit fait aussi son entrée pour avoir un gestionnaire de paquets universel, capable d'être une surcouche à Yum, Apt et consorts, technologie toujours au cœur de GNOME Logiciels à ce jour. C'est également lui qui vous propose d'installer le paquet qui fourni la commande que vous venez de saisir si elle n'était pas présente dans votre système. C'est aussi cette version qui propose KDE 4.0, une nouvelle version de rupture qui en appellera d'autres pour cet environnement de bureau mais là aussi avec une fiabilité délicate à ses débuts.
Fedora 10 marque le remplacement de rhgb par plymouth pour l'affichage de l'écran de démarrage, ce composant n'ayant pas bougé depuis. Le système de fichiers ext4 est aussi utilisé par défaut en remplacement de ext3.
Fedora 11 a introduit en avant première après une intense campagne de tests le pilote Nvidia libre nouveau permettant d'exploiter le modesetting du noyau et améliorant grandement l'expérience utilisateur des possesseurs d'une carte graphique de la marque.
Fedora 12 introduit l'outil abrt pour détecter les crash et générer des rapports de bogues automatiquement à partir de ceux-ci, un outil important pour la progression de la qualité du projet Fedora. L'architecture x86 nécessite aussi la variante i686 pour améliorer les performances au détriment de la prise en charge des processeurs plus anciens.
C'est à ce moment là que les dépôts tiers Livna, Dribble et Freshrpms fusionnent pour former le dépôt RPMFusion. Ce dépôt est toujours la référence communautaire pour obtenir des paquets non libres ou ceux soumis aux brevets logiciels comme les codecs multimédia et des logiciels tels que VLC.
Quelques années plus tard, en mai 2011, Fedora 15 remplace Openoffice.org par LibreOffice. Tandis que GNOME 3 devient la nouvelle interface de référence en ayant un style plus moderne et épuré. systemd remplace également upstart pour la gestion des services du système. Il faudra attendre cependant Fedora 17 pour que tous les services reposent sur des unités systemd. Cette version introduit également un nouveau pare feu dynamique firewalld qui est toujours utilisé. Les répertoires systèmes fusionnent pour que `/bin` et `/lib` redirigent vers `/usr`.
Fedora 18 a remplacé l'outil preupgrade par FedUP qui marque un bon en avant dans la fiabilité du processus de mise à niveau du système même si c'était encore perfectible. Fedora 20 introduit la prise en charge de l'architecture ARM.
L'année 2013 fut une autre année charnière pour le projet Fedora. Devant le manque de vision le projet se met en pause pendant 1 an pour réfléchir à son avenir. C'est le projet Fedora.next. Cela donnera lieu à l'adoption des produits Workstation, Server et Cloud / Atomic qui perdurent à nos jour, avec un focus sur l'expérience utilisateur qui a été beaucoup relaté ces dernières années.
La réflexion sur le modèle de distribution des logiciels donnera lieu aux dépôts modulaires et aux variantes immuables de la distribution tels que Fedora Silverblue.
Cette année marque aussi la naissance officielle du Fedora Magazine qui publie une actualité synthétique et instructive du projet Fedora, en langue anglaise uniquement.
Fedora 21, première version sortie après cette période de réflexion met en place les nouveaux produits. Et de manière symbolique les versions de Fedora ne portent plus de nom, auparavant chaque version avait un nom unique qui devait avoir un lien (même ténu) avec le nom de la version précédente.
Fedora 22 marque la fin de l'ère de yum et de FedUp pour reposer sur dnf comme gestionnaire de paquets par défaut. Il était plus rapide, plus fiable et capable de gérer la mise à niveau lui même via un plugin.
En novembre 2016, Fedora 25 propose Wayland pour l'affichage dans l'environnement GNOME par défaut après une expérimentation dans GDM dans la version précédente. Si l'adoption de Wayland n'a pas été un long fleuve tranquille, le chemin parcouru reste important et les progrès visibles. Cette même année l'outil multiplateforme Fedora Media Writer est proposé pour facilement créer une clé USB bootable avec Fedora dessus.
Devant l'amélioration continue de la fiabilité, depuis Fedora 27 il n'y a plus de versions alpha. La version 28 abandonne le compte super utilisateur distinct par l'usage natif de sudo.
Fedora 29 concrétise un peu les objectifs de Fedora.next énoncés quelques années plus tôt par l'arrivée des dépôts modulaires qui n'auront tenu que 5 ans. Mais c'est surtout la première version de Fedora Silverblue qui annonce un début de série pour les distributions et variantes immuables en dehors des conteneurs.
À partir de Fedora 31, l'architecture x86 historique n'est plus prise en charge. 15 ans plus tôt c'était pourtant l'image de référence de la distribution.
Il faudra attendre Fedora 33 pour que btrfs devienne le système de fichier par défaut et de fait l'abandon des volumes logiques comme méthode de partitionnement privilégié car c'est directement fourni par btrfs. Par ailleurs zram compresse la RAM pour augmenter la quantité de mémoire virtuelle au lieu d'une partition swap dédiée comme c'était l'usage.
Fedora 34 permet à Pipewire de remplacer PulseAudio pour la gestion du son, avec une transition plus en douceur cette fois-ci. Le logo de la distribution change une nouvelle fois. Et Fedora Linux 35 adopte le nom actuel de la distribution.
... et 20 ans d'évolution en coulisse
La distribution elle même n'est pas la seule à avoir connu des changements en 20 ans. La communauté et l'infrastructure pour gérer ce projet ont aussi évolué.
En terme d'infrastructure, créer une distribution nécessite de gérer la traduction, le code source des paquets RPM à générer et des outils autour, la génération de ces paquets RPM, il faut des moyens de communication entre les contributeurs mais aussi entre utilisateurs, et divers services internes ou site web pour afficher les informations pertinentes.
Par exemple la traduction a débuté avec l'outil Transifex, avant de passer à Zanata puis à Weblate. Pour le code source cela a commencé avec Trac à l'ère où le gestionnaire de version SVN régnait en maître avant de passer à une solution maison nommée pagure pour tirer profit de git pour finir chez gitlab. Les forums officiels sont arrivés tardivement et sont passés de Ask à Discourse.
Les outils de développement ont significativement évolué même s'ils n'ont pas forcément changé en cours de route comme Bugzilla pour rapporter les bogues ou Koji pour construire les paquets ou encore les listes de diffusion avec Mailman / Hypperkitty pour les échanges de courriels entre développeurs. Des outils ont été ajouté en court de route comme fedmsg pour permettre la communication et la notification entre les différentes applications de l'infrastructure du projet Fedora. Ou encore Anitya qui permet d'être notifié si un projet Libre a une nouvelle version publiée qui pourrait de fait justifier de mettre à jour un paquet dans Fedora. Et tant d'autres.
Niveau organisation décisionnelle les changements n'ont pas été très importants, si ce n'est la création d'un organisme dédié à la remontée communautaires des idées, la centralisation des activités de communication notamment des ambassadeurs avec la Fedora Ambassadors Steering Committee devenue depuis Mindshare en étendant son champ d'application.
Au fil des années malgré sa stratégie intacte d'introduire des changements importants en avance sur son temps, la qualité du projet Fedora s'est considérablement améliorée. Il était courant avant de considérer qu'il fallait attendre quelques semaines / mois avant de mettre à niveau son système, le temps d'essuyer les plâtres. Aujourd'hui ce temps est révolu, si les problèmes surviennent parfois, le système reste globalement stable et ce même pour les versions en développement. Avant 2010 utiliser Fedora Rawhide était par exemple un défi en soi, aujourd'hui cela ne l'est plus.
Ce travail résulte d'une maturité de l'écosystème du Logiciel Libre, les briques de base changent moins souvent. Les logiciels sont de manière générale plus testés et mieux finis et Fedora n'y fait pas exception. L'équipe d'assurance qualité de la distribution a aussi pris en ressources et responsabilités pour parvenir à ce résultat. Les outils développés dans ce but comme la notation des mise à jour avec un karma, la création de suite de tests pour de nombreux paquets ou l'outil abrt, et des pratiques telles que les journées de tests y contribuent également. Cela permet à Fedora aujourd'hui de poursuivre sa mission sans dissuader les gens de s'en servir au quotidien ce qui est important dans ce but.
Une communauté francophone quasiment aussi ancienne
La communauté francophone aussi va sur ses 20 ans. Le 24 mai 2004 naissait le site Fedora-fr pour proposer un forum et une documentation en langue française sur base de de l'outil Xoops.
Une page dédiée permet de voir l'évolution de l'équipe de la charte graphique au fil du temps. Après quelques années la plateforme a migré vers eZ publish pour la page d'accueil et FluxBB pour le forum. Tandis que depuis cette année c'est une base Wordpress et Flarum qui ont pris le relai. Le travail de maintenance se poursuit. Le serveur a longtemps été un serveur dédié chez l'hébergeur Ikoula, dont le dénommé Zod, pour finir sur un serveur virtuel chez l'hébergeur Scalway.
Pendant très longtemps le projet Fedora était très centrée sur l'anglais : les sites officiels n'étaient pas toujours traduits, le wiki pas multilingue, les forums officiels sont arrivés tardivement et restent majoritairement focalisés sur l'anglais, le Fedora magazine reste non traduit. D'où la nécessité rapidement d'avoir une communauté francophone avec son propre espace et indépendant du projet Fedora en tant qu'organisation.
Pour mieux gérer les ressources et responsabilités autour du site Fedora-fr, l'association Fedora-fr est fondée le 17/04/2007 à Charleville-Mézière. L'association ensuite se renommera en Borsalinux-fr suite à un accord signé avec Red Hat à ce sujet, le droit américain le nécessitant. L'association sera également déplacée à Paris pour faciliter sa gestion.
La communauté francophone a souvent été reconnue comme dynamique avec de bonnes initiatives et des membres compétents. Le point d'orgue a été l'organisation de la FUDCON (Fedora Users and Developers Conference) à Paris en 2012.
Et après ?
L'aventure du projet Fedora ne s'arrête pas là.
Si les technologies de rupture sont moins fréquentes qu'à ses débuts, il y a de nombreux challenges à relever. Par exemple les variantes immuables gagnent en popularité et utilisabilité. L'objectif reste de se diriger vers ce modèle à terme, est-ce que Fedora sautera le pas en abandonnant Fedora Workstation pour Silverblue ?
Le modèle de distribution des paquets peut aussi évoluer. Le projet Fedora investit beaucoup la question de la génération de paquets Flatpak à partir des RPM. Et si demain la plupart des logiciels étaient distribués par ces Flatpak plutôt que les classiques fichiers RPM ?
La chaine de démarrage souffre aussi de nombreuses limitations liées à l'historique de l’architecture x86. Il semble clair que l'avenir de la prise en charge du BIOS est sombre et que ce n'est plus qu'une question d'années avant d'assister à son abandon. La prise en charge d'UEFI seulement permettra de simplifier cette partie du système et d'envisager d'autres manière de démarrer le système comme avec systemd-boot au lieu de GRUB avec les fonctionnalités qu'il peut fournir dans ce contexte, ou encore le noyau unifié ce qui a été évoqué lors des dernières versions de Fedora. Mais cela signifierait probablement la fin de la prise en charge de nombreuses vieilles machines.
Et sans doute bien d'autres choses qui dépendront aussi des évolutions de l'informatique en général et dans le Logiciel Libre en particulier.
Et vous, quels souvenirs avez-vous de ces 20 années avec Fedora ?