Mark Robinson - CC byC'est un billet un peu technique que nous vous proposons aujourd'hui. Il évoque la « quête du 100% libre » des distributions GNU/Linux.

En effet, vous l'ignoriez peut-être, mais rares sont les distributions GNU/Linux qui soient « totalement libres ».

Ainsi la fort pratique distribution Linux Mint installe dès le départ des codecs (MP3, divX...) et des plugins (Java, flash...) propriétaires. On ne peut donc la considérer comme libre.

Mais, plus subtil, la très populaire distribution Ubuntu non plus, car elle embarque en son sein des drivers propriétaires comme ceux pour les cartes graphiques Nvidia et ATI.

Ces drivers sont des exemples de firmwares (ou micrologiciel), ces logiciels intégrés dans un composant matériel, et ils constituent le sujet principal de notre billet, et traduction, du jour.

Debian est l'une des plus anciennes et célèbres distributions GNU/Linux. Elle sert de base de développement à de nombreuses autres distributions, dont justement Ubuntu et Linux Mint.

L'une des principales caractéristiques de Debian, outre sa stabilité reconnue et le grand nombre d'architectures matérielles supportées, est de ne dépendre directement d'aucune société commerciale : comme le navigateur Firefox de la fondation Mozilla, Debian est le fruit d'une association à but non lucratif. Et si Mozilla possède son Manifesto, Debian a son fameux contrat social.

Elle se trouve actuellement dans sa version 5.0 mais la nouvelle version 6 (nom de code « Squeeze ») devrait sortir d'ici quelques jours.

Or le projet Debian a annoncé que cette nouvelle version bénéficierait, à sa sortie, d'un noyau Linux « libéré», c'est à dire débarrassé de tout firmware qui ne serait pas libre[1]. Cette décision a suscité un certain nombre de d'interrogations autour des conséquences pratiques pour l'utilisateur : allait-il pouvoir continuer à faire fonctionner pleinement sa machine avec cette nouvelle version ?

C'est à ces interrogations que répond l'un des développeurs du projet ci-dessous.

Mythes et réalités concernant les firmwares et leur non-retrait de Debian

Myths and Facts about Firmwares and their non-removal from Debian

Alexander Reichle-Schmehl - 20 janvier 2011 - Tolimar's Blog
(Traduction Framalang : Antistress, Penguin et Goofy)

L'annonce par le projet Debian de la publication de Squeeze avec un noyau Linux complètement libre a retenu l'attention, ce qui n'est pas une mauvaise chose. Pourtant il semble que cette annonce ait parfois été mal interprétée ou mal relayée. Je vais essayer de résumer les principales erreurs et d'y répondre.

  • Mythe : Debian a retiré tous les firmwares de ses noyaux !
  • Réalité : Non, cette décision ne concerne que les noyaux qui seront inclus dans la prochaine version Debian 6.0 Squeeze. Les noyaux de la version stable actuelle Debian 5.0 Lenny restent tels quels... sauf que, bien sûr, nous réaliserons les mises à jour de sécurité qui s'imposent les concernant, mais ils continueront de contenir les mêmes firmwares qu'actuellement.
  • Mythe : Debian est en train de dégrader ses noyaux en en retirant des choses.
  • Réalité : Debian a transféré certains firmwares de sa section principale (NdT : main) vers sa section non-libre (NdT : non-free). Ils sont toujours présents, dans la section dédiée aux logiciels qui ne répondent à nos critères tels qu'ils résultent des principes du logiciel libre selon Debian (NdT : The Debian Free Software Guidelines – ou DFSG).
  • Mythe : La plupart des utilisateurs ne vont plus pouvoir installer Debian.
  • Réalité : les firmwares non-libres resteront disponibles à travers notre infrastructure. Ceux qui sont requis durant l'installation (par exemple pour contrôler l'accès au réseau ou au périphérique de stockage) peuvent également être chargés durant l'installation (qu'ils soients sur un CD ou une clé USB). Nous proposons des archives compressées de ces fichiers (décompressez les simplement sur une clé USB et branchez-la quand cela vous est demandé durant l'installation) ainsi que des images ISO permettant de créer un CD d'installation par le réseau qui contiennent déjà ces fichiers. Bien entendu, elles vont continuer d'exister, même aprés la publication de Squeeze.
  • Mythe : Ces fimwares sont requis, les ôter ne sert à rien et ne rend pas service à l'utilisateur.
  • Réalité : Oui, ces firmwares sont en effet nécessaires au fonctionnement de certains pilotes de certains matériels. Mais tout le monde n'en veut pas. À présent que nous sommes capables de charger ces firmwares sur demande (au lieu de devoir les compiler dans le pilote lui-même), nous pouvons les proposer séparément. Cela permet ainsi à ceux qui ont besoin de firmwares non-libres de les utiliser tandis que que ceux qui n'en veulent pas bénéficieront d'une installation qui en sera dénuée.
  • Mythe : Ah, encore un coup des fêlés de la liberté du projet Debian...
  • Réalité : Il n'y a pas que nous en réalité : nous n'y serions jamais parvenus sans la coopération d'un certain nombre de développeurs du noyau Linux. Et nous ne sommes pas les seuls intéressés par la création d'un noyau libre, d'autres distributions importantes ont également conscience du problème. Citons par exemple le récent commentaire d'un développeur du projet Fedora évoquant des changements dans un de ces firmwares non-libres. Il semble donc que Debian ait simplement été le premier à réaliser le problème des firmwares non-libres.
  • Mythe : Debian fait allégeance à Stallman.
  • Réalité : Je ne me suis pas entretenu avec Richard Stallman à ce sujet mais je pense que Debian n'est pas encore assez libre pour lui ; pour autant que je sache, il aimerait la disparition pure et simple de la section non-libre, ou au minimum qu'elle ne soit plus mentionnée nulle part.

Il reste donc une question : qu'il y a t-il de mal avec les firmwares non-libres ? Ne s'agit-il pas simplement de petits programmes exécutés par le microprocesseur du périphérique concerné ? Pourquoi s'en faire ? Bonne question ! Mettons de côté les problèmes juridiques qui sont susceptibles de se poser, et concentrons-nous sur l'aspect pratique. Le nœud du problème tient au fait que, sans leur code source (et les outils pour les compiler), les firmwares ne sont qu'une suite aléatoire de nombres pour nous. Nous ne savons pas ce qu'ils font, nous ne pouvons pas les analyser ni les améliorer. Nous ne pouvons pas les changer, nous ne pouvons pas assurer leur suivi. Peut-être avez-vous été lire le commentaire du développeur Fedora dont le lien a été donné plus haut ? Je le cite à nouveau car il me semble qu'il a très bien résumé le problème :

Mise à jour des firmwares qlogic 2400 et 2500 vers la version 5.03.13. Que fait la version 5.03.13 ? Personne ne le sait hormis QLogic et ils ne le disent pas. Je leur ai posé la question et ils m'ont répondu que l'information ne pouvait être donnée sans accord de confidentialité. Je vous invite donc à imaginer ce que fait ce firmware et les bogues qu'il corrige. Tant que vous y êtes, imaginez un monde où les fabricants publieraient le code source de leurs firmwares.

À présent que vous savez que nous ne pouvons assurer le suivi de ces firmwares, vous pourriez vous demander si c'est vraiment utile de toute façon. Quels dégâts pourraient bien faire à votre ordinateur un simple petit programme logé dans un périphérique ? Eh bien un scientifique a déjà fait la démonstration d'un firmware pour certaines cartes réseau qui dissimulait un cheval de troie. Donc non seulement c'est un problème en soi, mais cela peut même être un problème de sécurité !

Résumons-nous. Oui, Debian a modifié quelque chose dans ses noyaux. Non, ils vont continuer de fonctionner comme d'habitude. Certains utilisateurs devront peut-être activer le dépôt non-libre mais ce n'est pas obligatoire. Les firmwares nécessaires à l'installation sont aussi disponibles et peuvent être chargés lors du processus d'installation. Alors pourquoi tout ce ramdam ?

À propos, ceux d'entre vous qui craignent de ne pas se rappeler les liens des images ISO et des archives compressées, souvenez-vous de deux choses: wiki et Firmware. Vous trouverez tout ce dont vous avez besoin sur la page Firmware du wiki Debian.

Notes

[1] Crédit photo : Mark Robinson (Creative Commons By)