Alors que la tempête de tweets de catégorie 5 d’Elon Musk se poursuit, le réseau social autrefois obscur Mastodon a gagné plus de 1 000 nouveaux réfugiés par heure, chaque heure, portant son nombre d’utilisateurs à environ 8 millions.
Rejoindre en tant qu’utilisateur est assez facile. Plus qu’assez d’ex-Twitterers sont heureux de trouver une instance de Mastodon via joinmastodon.org, d’obtenir une liste de pseudonymes pour leurs amis Twitter via Movetodon et de continuer comme avant.
Mais ce que les nouveaux convertis ne réalisent peut-être pas, c’est que Mastodon n’est que le nœud le plus important d’un mouvement beaucoup plus large visant à changer la nature du Web.
Avec un objectif principal de décentralisation, Mastodon et ses proches sont « fédérés », ce qui signifie que vous êtes invités à mettre en place un serveur comme base d’accueil pour vos amis et collègues (une « instance »), et les utilisateurs de toutes les instances peuvent communiquer avec les utilisateurs sur les vôtres. La métaphore la plus courante est le courrier électronique, où yahoo.com, uchicago.edu et condenast.com hébergent tous une collection locale d’utilisateurs, mais n’importe qui peut envoyer des messages à n’importe qui d’autre via des protocoles de messagerie standard. Avec des ambitions cosmiques, la nouvelle fédération d’instances librement communicantes s’appelle « le Fedivers ».
J’ai commencé à utiliser Mastodon à la mi-2017 lorsque j’ai légèrement entendu le bourdonnement initial. J’ai trouvé que les gens qui habitaient un monde dont le premier argument de vente était sa topologie de réseau décentralisé étaient geek et contre-culturels. Il n’y avait pas de #marques. Les serveurs étaient (et sont) exploités par des institutions universitaires, des journalistes, des amateurs et des militants de la communauté LGBTQ+. Les organisateurs d’une instance, Scholar.social, organisent une série de séminaires annuels, où j’ai fait des présentations.
L’aspect de décentralisation qui était un tel argument de vente pour moi était également un objectif de conception central pour Mastodon et les prédécesseurs sur lesquels il s’appuyait, tels que GNU Social. Dans une interview avec Temps, le développeur principal Eugen Rochko a déclaré qu’il avait commencé le développement de Mastodon en 2016 parce que Twitter devenait trop centralisé et trop important pour discuter. « Peut-être que cela ne devrait pas être entre les mains d’une seule entreprise », a-t-il déclaré. Son désir de construire un nouveau système « était généralement lié à un sentiment de méfiance à l’égard du contrôle descendant exercé par Twitter ».
Comme pour beaucoup d’applications Web, Mastodon est un assemblage de composants et de normes. héberger ou interagir avec une instance Mastodon nécessite une certaine familiarité avec tout cela. Parmi eux, et la tête d’affiche au cœur de The Fediverse, se trouve le standard ActivityPub du World Wide Web Consortium (W3C), qui spécifie comment les acteurs du réseau sont définis et interagissent.
Mastodon et ActivityPub ont évolué à peu près au même moment, avec la première version majeure de Mastodon début 2017 et ActivityPub finalisé en tant que standard par le W3C en janvier 2018. Mastodon a rapidement adopté ActivityPub, et il est devenu un tel centre d’utilisation que beaucoup oublient qu’ActivityPub est utilisable dans de nombreux contextes au-delà du rapport sur ce que les utilisateurs ont mangé au déjeuner.
Comme Mastodon, ActivityPub représente une rébellion contre un web de plus en plus centralisé. Christine Lemmer-Webber est l’auteur principal de la norme ActivityPub 2018, basée sur des travaux antérieurs dirigés par Evan Prodromou sur un autre service appelé pump.io. Lemmer-Webber dit à Ars que, lors du développement de la norme ActivityPub, « nous étions comme le seul groupe de normalisation du W3C qui n’avait pas d’implication d’entreprise… Aucun des grands acteurs ne voulait le faire. »
Elle a estimé qu’ActivityPub était un succès pour l’idée de décentralisation avant même son augmentation de plusieurs millions d’utilisateurs au cours des derniers mois. « Les hypothèses que vous pourriez avoir, que seuls les grands joueurs peuvent jouer, se sont avérées fausses. Et je pense que cela devrait vraiment inspirer tout le monde », a-t-elle déclaré. « C’est inspirant pour moi. »
Établissement de normes
L’idée d’un web ouvert où les acteurs utilisent des normes communes pour communiquer est aussi ancienne que le web. « Les rêves des années 90 sont vivants dans le Fediverse », m’a dit Lemmer-Webber.
À la fin des années 2000, il y avait plus qu’assez de systèmes de réseautage et de partage cloisonnés et incompatibles comme Boxee, Flickr, Brightkite, Last.fm, Flux, Ma.gnolia, Windows Live, Foursquare, Facebook et bien d’autres que nous aimions, détestions, oublié, ou souhaiterions pouvoir oublier. Divers efforts indépendants visant à normaliser l’interopérabilité entre les silos ont généralement fusionné dans la norme Activity Streams v1.
La norme Activity Streams d’origine et la norme W3C Activity Streams 2.0 actuelle utilisée par Mastodon et ses amis offrent une grammaire pour exprimer ce qu’un utilisateur pourrait faire, comme « créer une publication » ou « aimer? une publication avec un identifiant donné » ou « demande à se lier d’amitié avec un certain utilisateur. » Le vocabulaire que l’on utiliserait avec cette grammaire est divisé en son propre sous-standard, le vocabulaire d’activité.
Maintenant que nous avons un moyen d’exprimer le flux de pensée et d’action d’une personne dans des blobs JSON, où vont tous ces flux ? La norme ActivityPub est un modèle basé sur les acteurs qui spécifie que les serveurs doivent avoir un profil pour chaque acteur fournissant un indicateur de ressource universel (URI) pour la boîte de réception et la boîte d’envoi de chaque acteur. Les acteurs peuvent envoyer une requête GET à leur propre boîte de réception pour voir ce que les acteurs qu’ils suivent ont publié, ou ils peuvent GET la boîte d’envoi d’un autre acteur pour voir ce que cet acteur spécifique a publié. Une requête POST dans la boîte de réception d’un ami y place un message ; une requête POST dans la propre boîte d’envoi de l’utilisateur publie des messages pour tous (avec les bonnes autorisations). La norme spécifie que ces différentes boîtes de réception et d’envoi contiennent des activités dans un ordre séquentiel, un peu comme nos chronologies familières des médias sociaux.
(PS : si vous voulez voir à quoi ressemble un flux d’activité et que votre navigateur affiche bien JSON, saisissez simplement une boîte d’envoi aléatoire et jetez un coup d’œil.)
Nous avons ici la vision du Fediverse : un ensemble de nœuds ActivityPub, dispersés à travers le monde, parlant tous une langue commune. Mastodon est l’un des nombreux efforts visant à implémenter les boîtes de réception et les boîtes d’envoi de la norme ActivityPub. Il en existe des dizaines d’autres, allant d’autres plateformes de microblogging (« C’est comme Mastodon, mais… ») à un serveur ActivityPub qui gère un club d’échecs.
En théorie, ils communiquent tous entre eux ; en pratique, pas tellement. Les sources d’incompatibilité découlent de plusieurs problèmes, des imperfections de la norme aux questions sur la façon dont les communautés en ligne devraient se former aux efforts pour aller au-delà du format standard de publication/commentaire/suivi des réseaux sociaux typiques.