- Les logiciels open source sont largement utilisés, mais l’idéal d’un logiciel entièrement libre n’a toujours pas été atteint
- Dans de nombreux domaines — firmware, matériel, principaux appareils grand public — ce sont encore les logiciels fermés et les structures propriétaires qui dominent
- Un ordinateur portable moyen contient 10 à 15 processeurs et firmwares indépendants, et des éléments critiques comme le stockage, les périphériques d’entrée, le GPU, le ME/SECURE BOOT dépendent de logiciels non libres
- Autrement dit, l’utilisateur ordinaire ne dispose pas d’un véritable contrôle en raison des limitations imposées par le logiciel et le matériel
- Cela se traduit concrètement par des arrêts de mises à jour, interruptions de service, verrous matériels, ainsi que par des rug pulls et des restrictions du droit à la réparation ; même dans des domaines à haut risque comme la sécurité publique ou les dispositifs médicaux, la liberté de vérification et d’amélioration reste limitée
- Comme solution, il faut combiner le choix du copyleft centré sur la GPL, la publication de la documentation matérielle et l’obligation d’un firmware ouvert, ainsi que des politiques, régulations et choix de consommation permettant de restaurer le contrôle des utilisateurs
L’illusion que l’open source a gagné
- Depuis 2008, des médias comme ZDNET, Linux Journal ou Wired répètent l’idée que « Open Source has won »
- Des exemples de réussite comme Linux, Ruby ou Red Hat sont souvent avancés, mais certains cas comme GitHub ou Microsoft ne sont pas réellement libres
- Le critère de la « victoire » se limite à l’usage et à l’adoption, tandis que la liberté (le contrôle) est exclue de l’évaluation
- Il existe aussi un biais d’observation consistant à généraliser à partir de quelques couches seulement, comme les navigateurs, les langages ou les outils créatifs
- Si l’on regarde le quotidien, des appareils comme les TV, casques sans fil, smartphones et imprimantes sont en pratique enfermés dans des écosystèmes fermés
- Des réseaux alternatifs comme Mastodon ou PeerTube souffrent de limitations de portée faute d’interopérabilité avec les plateformes fermées
- Même lorsqu’il existe des alternatives libres, elles restent souvent cantonnées à des usages de niche ou de loisir
- Dans la culture des startups lean à faible coût, les outils open source sont devenus une option légitime et mainstream
- Dans le développement logiciel, nous sommes entrés dans une époque où l’usage du logiciel libre n’est plus un obstacle
Une époque où le logiciel envahit le monde
- Le concept de Marc Andreessen, « software is eating the world » : le logiciel continue de s’infiltrer dans des domaines qui en étaient auparavant dépourvus
- À mesure que le logiciel prend le contrôle de pans entiers de la vie, le contrôle de ces domaines est transféré aux créateurs du logiciel
- Il existe des alternatives libres pour les systèmes d’exploitation (Fedora, Linux), les langages de programmation (Python, Rust, LLVM, etc.), les jeux (Zero-K), le graphisme (Krita) et l’audio (Ardour)
- On trouve aussi des options de matériel ouvert dans l’impression 3D (Prusa), les ordinateurs mobiles (Librem 5) et les montres connectées (InfiniTime)
- Certaines cartes graphiques (par exemple des modèles Nvidia Kepler de 2012) peuvent fonctionner avec un firmware entièrement libre
Des appareils du quotidien qui ne sont pas libres
- Seuls des appareils sans électronique comme le vélo, la machine à coudre mécanique, l’interphone ou les anciennes voitures (VW Beetle, Lada) offrent une véritable ouverture
- Pour les disques durs, les écouteurs sans fil, les TV ou les téléphones modernes, il n’existe pas d’alternative ouverte
- Le téléphone analogique (Aster-72) est la seule véritable option de téléphone ouvert
- Lors du développement du Librem 5, il y a eu un problème d’approvisionnement en modem : une entreprise détenait un monopole sur des brevets essentiels pour les réseaux cellulaires
- Des revendeurs ont refusé de vendre, craignant d’enfreindre des règles de distribution
- Le problème d’imprimante qui a poussé Richard Stallman à lancer le projet GNU en 1983 n’est toujours pas résolu 40 ans plus tard
- D’où la satire selon laquelle les crayons de couleur seraient le seul moyen d’impression vraiment « ouvert »
État de l’ouverture selon les couches logicielles
- Applications : Blender, Firefox et KiCAD sont ouverts, mais Twitter et YouTube sont fermés
- Systèmes d’exploitation : GCC, Apache et OpenSSL sont ouverts
- Noyaux : Linux, Zephyr et FreeRTOS sont ouverts
- Firmware : Coreboot est ouvert, mais les modems et GPU sont fermés
- Appareils électroménagers : Prusa 3D et Airgradient sont ouverts, mais les machines à laver et TV sont fermées
- Les OS et noyaux, que les programmeurs manipulent directement, sont assez bien ouverts ; en revanche, les couches basses proches du matériel et l’électronique grand public laissent peu ou pas de choix
L’état du firmware sur un ordinateur portable ordinaire
- Un ordinateur portable ordinaire embarque 10 à 15 processeurs indépendants, chacun ayant besoin de son propre logiciel
- Caméra, écran tactile, touchpad, Embedded Controller, SSD, batterie, HDD, RAM, carte WiFi+Bluetooth, carte son, BIOS, Intel ME
- Une seule carte graphique peut contenir jusqu’à 5 processeurs
- Les logiciels ouverts comme Linux, les pilotes ou les applications sont limités au CPU principal
- Des périphériques d’entrée comme le clavier ou l’écran tactile exécutent un logiciel fermé : on ne peut donc même pas maîtriser la saisie des données
- La carte graphique, la carte réseau et les périphériques de stockage dépendent tous d’un firmware fermé
- Il n’existe aucun cas connu où un SSD ou un HDD exécute un logiciel ouvert
- Secure Boot : un processeur interne est chargé avant l’OS principal, ce qui permet au fabricant de contrôler quels logiciels l’utilisateur peut exécuter
- Des systèmes similaires verrouillent aussi les appareils Android sur certains environnements
Atteintes à la liberté des utilisateurs
- Les quatre libertés du logiciel libre :
- Liberté 0 : la liberté d’exécuter le programme pour n’importe quel usage
- Liberté 1 : la liberté d’étudier et de modifier le programme
- Liberté 2 : la liberté de partager des copies
- Liberté 3 : la liberté d’améliorer le programme et de partager ces améliorations
- La courte durée de support des fabricants Android : en général 4 ans, exceptionnellement 8 ans avant la fin des mises à jour de sécurité
- Même si l’appareil fonctionne encore parfaitement, il finit en déchet électronique
- Un ordinateur portable Lenovo vieux de 13 ans reçoit encore des mises à jour de sécurité grâce à Linux
- En l’absence de verrouillage du bootloader et avec des pilotes ouverts, la communauté peut créer des ROM personnalisées
Quand l’arrêt d’un service rend un appareil inutilisable
- Avec les appareils dépendants du cloud, si l’entreprise coupe le service en ligne, l’appareil devient une brique hors de prix
- Un robot de soutien émotionnel vendu 800 $ a cessé de fonctionner sans remboursement après l’arrêt du service
- Sur Nintendo 3DS et Wii U, la dernière connexion a pris fin 210 jours après la fermeture des serveurs en ligne
- Le casque Magic Leap 1 à 2 300 $ cessera de fonctionner après 2024
- Cas d’un agriculteur : en pleine moisson, sa moissonneuse est tombée en panne ; après installation d’une pièce non officielle, l’appareil refusait de fonctionner avec une alerte « pièce non autorisée »
- Il peut falloir 9 mois pour résoudre le problème via le service client, avec des pertes de plusieurs dizaines de milliers de dollars pouvant mener à la faillite
Pacemakers et sécurité vitale
- Un pacemaker est un appareil complexe qui diagnostique en continu l’état du patient en temps réel et exécute des procédures médicales
- Un mauvais diagnostic peut provoquer des décharges cardiaques inutiles
- À cause du logiciel fermé, il n’est possible que de demander une correction au fabricant, sans moyen d’éviter soi-même les situations de dysfonctionnement
- Le cas de Karen Sandler montre à quel point l’activisme pour le logiciel libre est étroitement lié à ce problème
- Tant qu’il existera des personnes forcées de dépendre d’un logiciel fermé et d’un seul fabricant, il sera impossible de dire que l’open source a gagné
Électroménager et copyleft
- Lors de la fabrication d’appareils grand public, des logiciels open source sont utilisés : la licence MIT impose d’indiquer les auteurs
- Le site de curl présente une galerie d’écrans de crédits sur divers appareils, des voitures jusqu’aux robots culinaires
- Les licences permissives comme MIT autorisent les quatre libertés, mais permettent aussi de refermer les versions modifiées
- Le fabricant en tire les bénéfices, tandis que l’utilisateur est privé de ses libertés
- Il faut donc utiliser des licences copyleft, pour empêcher qu’un code publié soit refermé ensuite
- Recommandation : utiliser la GNU General Public License (GPL)
Des fronts de lutte au-delà des licences
- D’autres domaines exigent aussi un combat pour le logiciel libre :
- Brevets : monopoles techniques, comme dans le cas des modems cellulaires
- Verrous matériels : par exemple le verrouillage du bootloader sur Android
- Gouvernance de projet : qui contrôle réellement le projet
- Exemple du développement d’Android chez Google :
- L’accès au code source en cours de développement est restreint à certains fabricants
- Les autres ne reçoivent des mises à jour qu’une fois par grande version
- L’effet vient non pas d’un changement de licence ou de technique, mais d’une décision de gouvernance du projet
- Les projets contrôlés par des entreprises à but lucratif peuvent entrer en conflit d’intérêts avec les utilisateurs ordinaires
Le contraste entre Debian et Android
- Debian : la communauté y est explicitement prioritaire
- Ceux qui développent le logiciel sont aussi ceux qui l’utilisent
- Debian ne cherche pas à rendre l’usage difficile
- Le projet fournit un système d’exploitation complet, publie toutes les sources et retire ce qui n’est pas suffisamment ouvert
- Android : au fil du temps, les composants ouverts ont souvent été remplacés par des composants fermés
- AOSP (la partie ouverte d’Android) est devenu presque inutilisable seul
Contexte historique
- Les ordinateurs ont été créés dans le milieu académique et ont toujours été présentés comme des machines généralistes, mettant en avant le choix de l’utilisateur
- Les appareils électroménagers, eux, ont toujours été conçus pour un usage unique
- Leur complexité a augmenté avec l’intégration d’ordinateurs, mais la culture industrielle n’a pas changé
- On reste dans une logique où seule une minorité est censée exercer le contrôle
- Apple a toujours été un fabricant d’ordinateurs, mais fabrique désormais ses ordinateurs comme des appareils grand public
Ce que nous devons faire
- Lors de la fabrication du matériel : la publication du code source du firmware doit être obligatoire
- Il faut aussi publier la documentation technique (cas du capteur photo du Librem 5 : les documents nécessaires à un firmware ouvert manquaient)
- En tant qu’utilisateurs ou clients institutionnels : exiger des fabricants qu’ils fournissent le code source ouvert du firmware
- La pression politique est plus efficace que les actions individuelles
- L’UE a imposé aux fabricants de téléphones la standardisation du port USB-C
- Elle a aussi rendu obligatoire l’allongement des garanties
- Il serait possible d’interdire aux fabricants d’ordinateurs de verrouiller les bootloaders
Les contradictions juridiques européennes
- La directive sur la société de l’information interdit la suppression ou la modification non autorisée d’informations de gestion des droits
- Paradoxe : elle ne sanctionne pas celui qui verrouille l’appareil, mais celui qui enlève ce verrou sur son propre appareil
- Il faut demander à la Commission européenne une politique cohérente
- Organisations concernées :
- Free Software Foundation Europe : campagne Public Money Public Code
- Mouvement Right to Repair
- European Pirate Party
Comment soutenir économiquement
- En plus de l’engagement politique, il est possible de soutenir les fabricants favorables au logiciel libre
- Produits recommandés à l’achat :
- Librem 5 de Purism
- Imprimantes 3D de Prusa
- Montre connectée Bangle.js2 basée sur Espruino
- Fabriquer du matériel coûte cher, et le marché est déjà saturé de produits fermés
- Même si des produits ouverts et hackables sont meilleurs, il faut du temps pour que le grand public le reconnaisse
- Le logiciel libre s’est épanoui dans une culture de la réparation et de la modification, aujourd’hui étouffée par des produits fermés et jetables
L’exception Chromebook
- Les exigences Chromebook de Google imposent à tous les fabricants un BIOS entièrement ouvert
- Le firmware de l’Embedded Controller est lui aussi ouvert
- Tous les Chromebook utilisent Coreboot
- Il reste malgré tout quelques composants fermés (le logiciel d’initialisation de la RAM)
- Les Chromebook basés sur ARM peuvent fonctionner avec un BIOS entièrement ouvert, à l’exception du logiciel de la RAM
- Le projet NLNet aide à faire tourner facilement Linux mainline sur les Chromebook
Un monde rempli de processeurs
- Comptez les périphériques autour de vous : TV, appareils photo, brosses à dents, oscilloscopes, liseuses, radios, lave-vaisselle, routeurs, machines à laver, aspirateurs, balances
- La balance du rayon légumes au supermarché : écran tactile et impression d’étiquettes à code-barres
- Elle contient donc elle aussi processeurs et firmware
- Les milliers d’étiquettes de prix en magasin : écrans e-paper, avec un logiciel nécessaire pour recevoir les mises à jour sans fil
- Le logiciel automobile permet le contrôle à distance (cf. cas de piratage de Tesla)
- Le logiciel ferroviaire : le problème de géorestriction des trains polonais aurait pu être évité si le rail avait eu accès au code source
- Dans le monde professionnel : outils de diagnostic automobile, dispositifs médicaux, logiciels de comptabilité
Un potentiel gâché
- En théorie, il est possible d’ouvrir un logiciel indépendamment de la volonté de son auteur original (comme dans la scène du modding de jeux)
- On a vu par exemple Tetris tourner sur un appareil photo de poche grâce à un firmware hacké
- Mais hacker contre le fabricant est un travail gaspillé
- Il y a une différence entre modifier une source officielle et contourner un système par le hack
- Tout ce potentiel est perdu quand il faut forcer une porte déjà censée être ouverte
- Cas d’une action cam : un enregistrement s’arrête à cause d’une réglementation sur la limite de 30 minutes
- Une personne avec 20 ans d’expérience en développement aurait pu corriger immédiatement le problème si le code source avait été disponible
- Cas d’une caméra timelapse : faute de fonction timelapse, il fallait aller filmer manuellement chaque jour à 10 h
- Impossible à corriger sans accès au code source
Épilogue
- Publicité pour le nouveau projet d’imprimante, présenté comme open source
- En réalité, il utilise une licence source-available (Creative Commons BY-NC-SA 4.0)
- Elle n’accorde pas la liberté 0 (usage à des fins commerciales interdit)
- C’est toujours mieux que rien
Aucun commentaire pour le moment.