La quadrature de la décentralisation

Tristan Nitot (@nitot@framapiaf.org) effectue des condensés hebdomadaires riches en informations de qualité. Une fois n’est pas coutume, en suivant un lien puis un autre, je suis tombé sur un article sur lequel je me permis ci-dessous de rebondir.

Moxie Marlinspike a écrit avec Trevor Perrin le protocole de Signal. Sur son site, il partage ses réflexions.

J'aime la sécurité informatique et le développement de logiciels, en particulier dans les domaines des protocoles sécurisés, de la cryptographie, de la vie privée et de l'anonymat. Mais je déteste aussi secrètement la technologie.

Quelqu’un qui déteste la technologie alors qu’il en vit, c’est très moderne. Je déteste la technologie alors qu’elle me fait vivre. Pour en comprendre l’origine, nous pourrions parler de technique et de Jacques Ellul, mais ce n’est pas le propos de cet article.

Moxie a écrit un article sur ses impressions sur le web3. Il en profite pour livrer son analyse du développement d’internet, et comme je pouvais m’y attendre, ça fait réfléchir.

Pour quelques sysadmin de plus…

Les gens ne veulent pas gérer leurs propres serveurs, et ne le feront jamais. Le principe de web1 était que chacun sur l'internet serait à la fois un éditeur et un consommateur de contenu ainsi qu'un éditeur et un consommateur d'infrastructure.

Nous pourrions avoir tous notre propre serveur web avec notre propre site web, notre propre serveur de messagerie pour notre propre courrier électronique, notre propre serveur finger pour nos propres messages d'état, notre propre serveur chargen pour notre propre génération de personnages. Cependant – et je ne pense pas que l'on puisse assez insister sur ce point – ce n'est pas ce que les gens veulent. Les gens ne veulent pas gérer leurs propres serveurs.

Même les nerds ne veulent pas gérer leurs propres serveurs à ce stade. Même les organisations qui construisent des logiciels à plein temps ne veulent pas gérer leurs propres serveurs à ce stade. S'il y a une chose que j'espère que nous avons apprise sur le monde, c'est que les gens ne veulent pas gérer leurs propres serveurs. Les entreprises qui ont émergé en proposant de le faire à votre place ont eu du succès, et les entreprises qui ont itéré sur de nouvelles fonctionnalités basées sur ce qui est possible avec ces réseaux ont eu encore plus de succès.

Cette discussion est connue depuis quelques années déjà, mais elle ne perd pas en force. En 2018, avec l’explosion des débats sur le collapse et la crise climatique, certains étaient tentés de gérer leur informatique eux-mêmes, grâce à YunoHost ou à des initiatives pour déployer sa propre box. Ok, y’a bien quelques nerds qui s’excitent avec ce genre de challenges. Mais pour tout le reste de la planète, ce sont juste des jusqu’auboutistes, des survivalistes du domaine technique. Les détracteurs de l’écologie classent celà dans “retourner à l’âge de pierre”. Non, personnne ne veut perdre un moment quotidien pour surveiller qu’une machine fonctionne comme elle le devrait.

Le corrolaire du constat, c’est ce besoin continuel de sysadmin, de gens qui connaissent suffisamment bien les serveurs pour pouvoir les gérer sans passer des heures devant. Leurs secrets leur permettent d’être prévenu quand ca tourne mal, et fortifier leurs positions pour éviter les attaques. Seulement, il n’y a pas vraiment de formation pour sysadmin, à part l’école de la vie (professionnelle) et la curiosité. Un petit pourcentage de développeurs qui veulent maîtriser toute la chaîne de production, et qui se demandent ce qui se passe dans un serveur. Après de multiples heures à lire de la documentation, à tester des commandes et à installer des paquets logiciels inconnus, ils deviennent les détenteurs du savoir interdit, les maîtres de la machine web, les tisseurs de réseaux.

Dans le fediverse non plus, personne de censé n’a envie de se barber à créer une instance, à payer un serveur tous les mois pour avoir une cinquantaine d’utilisateurs infidèles prêts à déménager au moindre faux pas technique. A moins que le désir de rester soit d’origine communautaire : les instances politisées, les niches de genre ou de religion, y voient un moyen de s’étendre sans censure. Hypothèse : la surreprésentation de profils marginaux s’appuierait peut-être donc davantage sur la pugnacité des sysadmin de ces communautés que de la bienveillance pronée dans le fediverse.

Pour qui sonne le déclin

Un protocole évolue beaucoup plus lentement qu'une plate-forme. Après plus de 30 ans, le courrier électronique n'est toujours pas crypté, alors que WhatsApp est passé du non crypté au tout e2ee en un an. Les gens essaient toujours de standardiser le partage d'une vidéo de manière fiable sur IRC ; pendant ce temps, Slack vous permet de créer des emoji de réaction personnalisés basés sur votre visage.

Ce n'est pas un problème de financement. Si quelque chose est vraiment décentralisé, il devient très difficile de le changer, et reste souvent figé dans le temps. C'est un problème pour la technologie, car le reste de l'écosystème évolue très rapidement, et si vous ne suivez pas, vous échouerez. Il existe des industries parallèles entières qui se concentrent sur la définition et l'amélioration de méthodologies comme Agile pour essayer de comprendre comment organiser d'énormes groupes de personnes afin qu'ils puissent évoluer aussi rapidement que possible, car c'est tellement critique.

Dans toutes les entreprises, on connaît la dette technique. Ces choix de techno qu’on fait à un moment, et qui quelques années plus tard, nous ont conduit à faire une usine à gaz dans laquelle plus aucun développeur censé ne veut plus aller poser son clavier.

Les utilisateurs qui utilisent l’informatique (désignés comme lambda) se fichent bien de savoir pourquoi tel projet est plus abouti qu’un autre : ils prennent le plus performant pour leur usage. Le monde open-source, rempli de linuxiens souvent barbus, est longtemps resté sur l’idée fausse que puisque c’était gratuit, les utilisateurs devaient juste être sympa avec les développeurs. Les cimetières informatiques sont remplis de projets gratuits qui n’ont pas trouvé preneur, ou qui se sont fait doublés par d’autres projets avec plus de fonctionnalités ou moins de condescendance. De la même manière que les gens veulent un web centralisé, ils veulent des applications les plus pratiques possibles.

En prenant le parti de copier la philosophie Apple pour Linux, ElementaryOS a d’abord subi les foudres des puristes linuxiens, surtout quand ils ont commencé à demander des dons pour télécharger le système d’exploitation ou les programmes. Malgré tout, de nombreux utilisateurs ont accepté de financer une partie de ElementaryOS pour avoir un système linux agréable à utiliser, avec des interfaces graphiques comme chez les éditeurs commerciaux. Et depuis plusieurs années, cette distribution Linux reste dans les 10% les plus utilisées sur l’ensemble des systèmes Linux. Avant elle, Canonical avait fait le même pari avec Ubuntu : faciliter l’usage pour que Linux soit vraiment utilisable chez soi par tous. A l’inverse, de très nombreuses distributions apparaissent et disparaissent chaque année. Moxie le dit, les écosystèmes évoluent vite. Pour durer, il faut que les utilisateurs vous adoptent au quotidien.

Dans le fediverse, le déclin suit trois axes :

Evidemment, reste le cas des développeurs seuls qui font des Patreon (des appels à don) et qui créent seul des applications très riches. Mastodon a réussi, avec une interface graphique mieux pensée que les autres et des fonctionnalités très nombreuses, a passer pour “tueur de Twitter” et a fédéré une communauté d’utilisateurs très large. Le nombre massif d’instances Mastodon explique autant la pérennité du logiciel que la persévérance de son créateur Eugen Rochko, à tel point que les nouvelles applications décentralisées proposent toutes un partage vers Mastodon (et rarement vers Pléroma ou Misskey, qui font également du microblogging).

Développer moins pour gagner plus

Nous devrions essayer de réduire la charge que représente la création de logiciels. À l'heure actuelle, les projets logiciels exigent une quantité énorme d'efforts humains. Même les applications relativement simples nécessitent qu'un groupe de personnes s'assoient devant un ordinateur huit heures par jour, tous les jours, pour toujours. Cela n'a pas toujours été le cas, et il fut un temps où 50 personnes travaillant sur un projet logiciel n'était pas considéré comme une “petite équipe”. Tant que les logiciels exigeront une telle énergie concertée et une telle concentration humaine hautement spécialisée, je pense qu'ils auront tendance à servir les intérêts des personnes assises dans cette pièce chaque jour plutôt que ce que nous pouvons considérer comme nos objectifs plus larges. Je pense que pour changer notre relation à la technologie, il faudra probablement rendre les logiciels plus faciles à créer, mais au cours de ma vie, j'ai vu le contraire se produire. Malheureusement, je pense que les systèmes distribués ont tendance à exacerber cette tendance en rendant les choses plus compliquées et plus difficiles, et non pas moins compliquées et moins difficiles.

Mon adhésion au minimalisme me rend forcément intéressé par le slogan Small Is Beautiful (une société à la mesure de l'homme). L’avènement de Github et autres plates-formes pour développer des projets en commun peut donner l’illusion que tous les développeurs travaillent main dans la main, remontant les bugs, analysant le code, et proposant des modifications pour améliorer les applications. Seules les applications très populaires arrivent à générer suffisamment d’attraction pour que le noyau de développeurs initiaux soit véritablement assisté par une main d’oeuvre charitable et bénévole.

Tous comme les stagiaires dans une entreprise, les contributeurs open-source ont des compétences variables, un respect des consignes plus ou moins développé, et un engagement à géométrie variable. Souvent, un développeur rejoint un projet parce que ça peut lui donner du prestige sur son CV ou parce qu’il veut approfondir une techno utilisée dans le code ; une fois qu’il en a vu assez, il va papillonner ailleurs. C’est pour cela que certains porteurs de projets préfèrent refuser la contribution de développeurs extérieurs, pour coder plus et faire moins de gestion humaine.

D’une manière générale, beaucoup d’applications dans le monde open-source partent d’un développeur central qui a une envie, une vision, et qui en fait son bébé. Parfois, ce sont des pépites qui traversent les années et qui s’améliorent à mesure des efforts de chacun. Parfois, le bébé est jeté avec l’eau du bain : les raisons personnelles comme professionnelles ne manquent pas pour jeter l’éponge face aux centaines d’heures de travail qu’il faut pour créer et maintenir un programme.

Le Fediverse évolue malheureusement dans une tendance centralisante, vers plus de complexité. Il ne s’agit plus d’installer un paquet sur son serveur, mais carrément de déployer un conteneur docker qui va gérer pour l’administrateur l’ensemble des technos à faire tourner. D’autres sites intègrent le Fediverse à la marge : inventaire.io reste un site centralisé, sans instance, mais il intègre ActivityPub et apparaît donc dans les applications du Fediverse.

La quadrature du net décentralisé

J’ai toujours misé sur l’open source et la décentralisation, même avant que l'utilisation de l’informatique ne devienne un dévoreur de ressources pour la planète. Le web reste pour moi un lieu d’échanges et de partage, loin de la censure, des cyberguerres et des parts de marché.

Malgré tout, les entreprises ont réussi à éduquer les internautes de la façon dont elles le voulaient. Elles ont utilisé les téléphones portables pour canaliser les pratiques et ramener l’économie dans la paume de nos mains.

Voici quelques années, sortait l’édition 203X du jeu de rôles Cyberpunk. Mike Pondsmith y décrivait la fin de l’internet global et le retour aux serveurs locaux (les datapool), qui contiennent le savoir d’une communauté. Cette imaginaire m’a suivi dans mon travail, m’a accompagné dans ma lecture de la collapsologie, a fait écho aux essais low-tech d’internet où les serveurs sont disponibles uniquement par temps ensoleillé. J’ai beau entendre et acquiescer aux arguments de Moxie Marlinspike, je pense au monde du futur. Certains le voient comme encore plus lié aux réseaux qu’aujourd’hui avec le Métavers, d’autres l’imaginent compatible avec le changement climatique, la crise énergétique et l’appauvrissement des ressources. Lorsque Aude Seigne signe le roman Une Toile large comme le monde, elle envisage que le backbone, la colonne vertébrale d’internet qui relie les Etats-Unis à l’Europe, puisse cesser de fonctionner. Ce n’est qu’un scénario comme un autre qui pourrait mettre fin à la mondialisation des échanges numériques. Et alors ? Nos usages quotidiens en seraient forcément affectés. Nous aurions d’un coup recours à des datapool, des serveurs près de chez nous qui stockent nos données et nous offrent un service raisonné. Dans ce cadre, les logiciels décentralisés auraient toutes leur place.

C’est pourquoi, même si l’usage du Fediverse a très peu de chances de se répandre pour le moment auprès de nos familles, de nos amis, du grand public, je veux continuer à oeuvrer pour son développement. Echapper aux GAFAM, retrouver le plaisir d’utiliser librement des applications sans contraintes, rencontrer l’altérité comme la connivence avec des marginaux.

L’esprit de l’open-source n’est pas vraiment taillée pour conquérir le monde, mais il reste un élément indispensable des travailleurs de l’informatique en mal d’éthique.

#fediverse #informatique #decentralisation

Un avis peut-être ?


©2022 François-Xavier Guillois droits textes réservés. Droit des illustrations réservé par leur auteurice respective.

Une révision peut en cacher une autre. Expression | Réflexions | IM | Jeux