Temps de lecture 7 min
C’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.
Magic Banana
Deux confusions en introduction :
1) Les brevets logiciels (tels que ceux sur les codecs ou ceux sur les langages de programmation) ne rendent pas les logiciels privateurs. Ainsi des distributions 100% libres (le meilleur exemple étant Trisquel GNU/Linux) qui sont recommandées par la Free Software Foundation intègre dans l’installation de base les codecs auxquels vous faites référence (distribués selon les termes d’une licence libre bien sûr). En fait tous les logiciels un peu gros enfreignent des centaines (des milliers ?) de brevets. Dans ces conditions, il serait impossible de construire une distribution libre. Notons toutefois qu’il est déconseillé de reposer sur des logiciels qui risquent à tout moment de subir un procès pour violation de brevets. Typiquement, étant donné l’attitude de Microsoft à l’égard du libre, mieux vaut ne pas choisir C# comme langage de programmation…
2) Un pilote est exécuté par le CPU. Un micrologiciel est exécuté dans un périphérique. Dans les deux cas, néanmoins, ils devraient être libres. Debian GNU/Linux n’a jamais intégré de pilotes privateurs. En revanche, jusqu’à la prochaine version (exclus), on trouvait dans le noyau Linux distribué avec Debian, des micrologiciels (on parle aussi de blobs) privateurs.
antistress
@ Magic Banana : je suis d’accord avec toi à une nuance près : il est assez rare qu’une technologie brevetée te donne les libertés d’un logiciel libre.
C’est le cas avec VP8 grâce à la licence d’exploitation des brevets que Google détient (ou pourra détenir) pour tout usage – commercial ou non – qui sera fait de toute mise en œuvre de la spécification. Cette licence est concédée à titre perpétuel, mondial, gratuit et irrévocable (sauf pour ceux qui tenteraient de revendiquer des brevets contre une implémentation de la spécification, ce qui renforce habilement la protection du dispositif).
La plupart du temps, les licences de brevets ne sont pas aussi permissives et ne permettent pas l’exercice des 4 libertés.
Enfin, tout ça c’est pour les pays qui reconnaissent les brevets logiciels. Pour les autres, toute implémentation sous licence libre convient parfaitement.
vvillenave
En tout cas, c’est un mouvement courageux de la part d’une distribution aussi répandue que Debian GNU/Linux, qui avait pourtant eu tendance à s’éloigner de la FSF dans la dernière décennie… Personne (à ma connaissance) n’attendait d’eux qu’ils aillent dans ce sens, et ça n’en est que plus impressionnant : ça fait plaisir de voir que malgré la « dilution » du Libre dans l’Open, certains ont toujours des convictions intactes.
Bejazzy
J’encourage cette initiative. Pas d’inquiétude à avoir côté utilisateur, les firmwares sont toujours disponibles mais pas avec le même « label ». Il en va de même avec certains logiciels dits non libres et installables à partir d’un ensemble de paquets ‘non-free’. Libre à l’utilisateur encore une fois d’installer ce qu’il souhaite.
Petite anecdote pour les personnes qui connaissent assez peu cette distribution: tous les noms des versions de Debian sont issus des personnages du dessin animé Toy Story. Squeeze correspond à l’extra-terrestre à 3 yeux. La prochaine portera le nom du manchot qui siffle Wheezy. D’autres célèbres personnages ont déjà été attribués: Buzz, Woody, Patato, …
J’ai pu rencontrer des développeurs et autres contributeurs lors d’une mini-conférence sur cette distribution. C’est une communauté sympathique, avec des très grandes compétences techniques et qui font du très bon boulot !
Obidoub
Donc l’ancien debian il lave moins blanc? Nan, l’ancien debian il lave blanc. Le nouveau debian lave encore plus blanc.
antistress
Obidoub : il lave la tâche qui est dans le nœud du noyau…
michelange
Reste à trouver un ordi portable qui permettrait de faire tourner squeeze sans avoir à recourir à des pilotes ou micrologiciels non libres.
Vous avez une idée ?
Merci
antistress
@ michelange : pour le wifi, les récents chips broadcom viennent d’être ouverts
http://www.phoronix.com/scan.php?pa…
liste de matériels supportés : http://www.fsf.org/resources/hw
libre fan
@antistress: la liste est vraiment courte et sans doute pas à jour sur la FSF. Mais je crois que je vais passer à Debian car Ubuntu devient en partie bling-bling (Natty sera distrayante pour ceux qui peuvent afficher de la 3D, sans doute)
Biotaupe
Avec Debian Sqeeze il y a une version incluant un noyau BSD : kFreeBsd la licence de ce système est plus permissive qu’ en est-il de l’intégration ou non des firmwares ? et plus largement des différences avec la même version noyau Linux ?
antistress
@ Biotaupe : bonne question. Je crois que la version GNU/kFreeBsd sera encore expérimentale sous Squeeze. Vu que la libération de Linux dans Debian est le fruit d’un long travail, il n’a sans doute pas encore été mené dans kFreeBsd. Il faudrait poser la question sur une mailing list ou un forum spécialisé. SI tu as la réponde, je veux bien que tu la poste ici 🙂
Magic Banana
Il me semble que les noyaux BSD n’incluent pas de firmwares priateurs. Pour une Ubuntu 100% libre et sans bling-bling, il suffit de se tourner vers Trisquel GNU/Linux : http://trisquel.info/fr . Un bonheur (depuis plus d’un an que je l’utilise).
antistress
Pour une liste des matériels supportés, voir aussi http://www.tldp.org/HOWTO/Hardware-…
Okki
Je ne suis pas certain d’avoir tout compris. L’article donne l’impression que le choix est laissé à l’utilisateur : si vous ne souhaitez pas utiliser de firmwares non libres, n’activez pas la section non-free. ok, mais si on ne le fait pas, le matériel concerné ne fonctionnera plus, n’est-ce pas ?
Donc, en gros, une fois résumé, ceux qui s’en foutent, continueront de les utiliser, avec les risques potentiels que ça implique. Les développeurs devront également continuer de maintenir les drivers qui y font appel (je suppute qu’aucune firmware libre n’a été écrit pour les remplacer ?). Quand aux autres, finalement, ils n’ont plus qu’à changer de matos (si ce n’est déjà fait) et ne sont donc pas concernés par les drivers qui feraient appel à de tels micro-codes.
Dans les deux cas, rien ne change. Ou alors, j’ai vraiment loupé un épisode.
antistress
@ Okki : Mon avis personnel est le suivant :
Les réglages par défaut sont extrêmement importants en informatique compte tenu des capacités de la grande masse des utilisateurs qui ne savent généralement pas les changer.
Ainsi avoir Internet Explorer installé par défaut dans Windows n’est pas neutre. Ou activer les cookies tiers activés par défaut dans les navigateurs non plus. Proposer en option une extension comme Google le fait pour ne pas être espionné par Google Analytics implique qu’elle sera très peu utilisée, n’étant pas installée par défaut etc.
Avant, les gens n’avaient pas conscience que leur matériel n’était pas libre car il tournait par défaut avec leur distribution « libre ». Ceux qui veulent un OS le plus compatible possible prendront un Windows : étant dominant, il bénéficie du meilleur support.
Ceux intéressés par les logiciels libres seront d’avantage enclins à se poser la question du choix du matériel lors de l’achat du point de vue de son ouverture et pas uniquement des performances et du prix. Ainsi ils auront le meilleur support possible et les développeurs de la communauté pourront corriger les bogues les concernant.
Ceux qui ont déjà un matos existant et n’ont pas prévu de la changer pile ce mois-ci pour la sortie de Debian Squeeze pourront continuer de l’utiliser en installant en toute conscience les firmwares propriétaires et tout marchera comme avant, sauf peut être une prise de conscience nouvelle de la part de l’utilisateur : pourquoi le fabricant me casse les pieds avec ce firmware propriétaire au lieu de jouer le jeu ?
C’est en quelque sorte la fin de l’hypocrisie où Debian faisait le jeu des fabricants qui refusent de libérer les spécifications de leurs matériels en prenant sur lui de gommer les inconvénients que cette attitude des fabricants a pour l’utilisateur. Chacun prend ses responsabilité à présent, chacun garde le choix. N’est-ce pas le plus cohérent ?
Reste une question : à quand une décision similaire des autres distributions ?
antistress
J’en ai fait un billet : http://libre-ouvert.toile-libre.org…
c-cube
« […] Il semble donc que Debian ait simplement été le premier à réaliser le problème des firmwares non-libres. […] »
Ce serait pas plutôt gNewSense le premier en fait ?
http://fr.wikipedia.org/wiki/GNewSe…
Ou bien d’autres distributions reconnues libres au sens de la Free Software Foundation ?
Ce sont de vraies questions. Je suis assez surpris qu’un développeur Debian puisse ne pas être au fait de ces choses là. Alors forcément, je me dis que c’est moi qui ai dû louper un épisode quelque part. ^_^’
En tout cas, les micrologiciels et les blobs binaires présents dans le noyau Linux sont retirés de gNewSense depuis 2006. Et je confirme que ça fonctionne très bien avec le matériel adéquat (nécessite donc de se renseigner un peu avant l’achat du matériel).
Cela dit, je trouve que c’est une très bonne chose que Debian effectue maintenant, dès le départ, le travail de retrait des pilotes et autres logiciels non libres. Étant donné que gNewSense sera à l’avenir directement dérivée de Debian, c’est plutôt une bonne nouvelle pour ses utilisateurs, testeurs, mainteneurs…
De plus cela ne peut que faciliter le rapprochement et les échanges entre les deux communautés à mon avis.
Youpi
Désolé de lâcher mon troll velu mais « logiciel privateur » (cité plus haut) est un terme à coté de la plaque qui a tendance à ce répandre bêtement.
Logiciel propriétaire, logiciel non libre, code source fermé et pleins d’autres termes ont un sens mais logiciel privateur []–> o_O
Bientôt on va lire logiciel enfermeur si ça continu …
benoit
Au début ça perturbe… on se trouve en noyau trunk…
Mais au final c’est une très bonne chose. Les firmwares manquants de carte réseau et ou autres cartes RAID, il suffit d’une clé usb et ça roule… méthode similaire au F6 sous OS M$.
Au final on sait exactement ce qu’on met en place. Simple rapide efficace. Et surtout on est tranquille niveau licence.
pour les portables et autres produits exotiques… Je suis passé à Mint LMDE. ça marche bien.