J'ai entendu Richard Stallman dire qu'Ubuntu contient des blobs non libres. Pourquoi a-t-il de tels blobs et quelles fonctions ces blobs non-libres et composants système ne peuvent-ils pas avoir avec les logiciels libres? Est-ce que Canonical les inclut pour garder le contrôle du projet Ubuntu?
Existe-t-il des distributions qui n'incluent pas par défaut de tels blobs de firmware non libres?
Stallman a raison. Le noyau Linux inclut plusieurs morceaux de firmware non libres pour les périphériques. Ce micrologiciel n'est pas stocké sur l'appareil. il doit être copié sur le périphérique à chaque démarrage. Sans les "blobs", l'appareil ne peut pas être utilisé. L'avantage du téléchargement du micrologiciel sur le périphérique est qu'il permet de mettre à jour le périphérique en mettant simplement à jour le micrologiciel sur l'ordinateur.
Le problème avec ces "blobs" est qu’ils ne sont que cela - un bloc de binaire distribué par le fabricant. Les connaissances nécessaires à l’exploitation des appareils restent souvent la propriété exclusive. Richard Stallman et d'autres défenseurs du logiciel libre s'y opposent car ils ne disposent pas du code source utilisé pour créer les fichiers binaires. La plupart des distributions, y compris le noyau Linux officiel, livrent toujours ces blobs car ils améliorent considérablement la compatibilité avec les périphériques (il n'y a pas d'alternative ouverte), et parce qu'il ne s'agit "que" d'un micrologiciel.
(Remarque: certaines personnes remarquent que si vous préconisez un micrologiciel ouvert, il ne vous reste plus qu'à préconiser des diagrammes HDL ouverts pour les FPGA, ce qui compromettrait le matériel des sociétés . Notez toutefois que les microprogrammes peuvent toujours être malveillants, par exemple, les microprogrammes de modem cellulaire disposent d’un accès illimité au réseau et d’un accès assez large au système. C’est une justification de la position absolue du "pas de logiciel non libre").
Il existe de nombreuses distributions qui créent des distributions Linux "vraiment libres". L'un des plus populaires s'appelle Trisquel . Ils sont basés sur Ubuntu et ont un processus de déblocage complet. La FSF utilise cette distribution pour distribuer des Live CD. Celui que j'ai entendu parler de Stallman pour la dernière fois s'appelle GNewSense ; il est basé sur Ubuntu et Debian. Tout ce que la FSF approuve sera totalement exempt de taches.
Est-ce que Canonical les inclut pour garder le contrôle du projet Ubuntu?
Je pense que cela est manifestement faux. C'est le matériel qui nécessite ces blobs. Ce sont donc les utilisateurs qui contrôlent le matériel qu'ils achètent, et non pas Canonical. Si un utilisateur choisit d'utiliser uniquement du matériel doté de pilotes logiciels libres, aucun blobs ne sera utilisé.
Cela n’a donc rien à voir avec "garder le contrôle" de Canonical, car les utilisateurs ont le choix d’utiliser Ubuntu sans utiliser de blobs binaires. Cela signifie que Canonical n’a aucun contrôle spécifique dans ce domaine qu’il pourrait de toute façon exercer.
Les blobs ne sont expédiés que pour la commodité des utilisateurs qui ont déjà fait un choix matériel non libre.
(Divulgation: je travaille pour Canonical. Cette réponse reflète mon point de vue personnel; je ne peux pas parler pour mon employeur dans ce domaine.))
Vérifiez wikipedia :
Dans le contexte des logiciels open source, un blob binaire est un pilote binaire source fermé sans code source disponible publiquement. Le terme fait généralement référence à un module noyau à source fermée chargé dans le noyau d'un système d'exploitation open source.
Qu'est-ce que ces logiciels libres ne peuvent pas faire? Rien en théorie. Mais dans la pratique, une entreprise de matériel ne souhaite pas publier de pilote open source pour son matériel, car cela donnerait des indices à ses concurrents sur la conception de leur matériel. Donc, par exemple Nvidia et AMD ne publient pas de pilotes open-source. Pas de problème, vous pourriez dire, la communauté le fait, nous avons les pilotes open source nouveau et radeon. Oui, mais nous savons tous que ces pilotes ont pas mal de problèmes, par exemple. avec la gestion de l'alimentation et l'accélération matérielle et quelques autres. Pourquoi? Étant donné que seul le fabricant de matériel connaît la conception correcte de son matériel, la communauté ne peut que deviner son fonctionnement en interne. Le problème est donc que tant que les spécifications matérielles ne sont pas fermées et gardées secrètes, la communauté ne peut pas proposer d'alternatives appropriées à code source ouvert.
Distros sans ces blobs? Je ne sais pas, mais vérifiez this et cette page .