# Fediverse

Le fediverse ou fédivers, parfois orthographié fédiverse et fedivers et souvent avec une majuscule (mot-valise de l'anglais pour « fédération » et « univers »), est un maillage de serveurs informatiques formant un grand réseau social multi-applications (partage de texte, ou de photos, chaîne de vidéos, micro-blog, etc). Le fédivers est construit autour de logiciels libres permettant un auto-hébergement, ou demandant simplement l'inscription sur une "instance" (un serveur pré-configuré, mis à disposition des autres par un tiers). Chaque logiciel propose des applications ou services spécifiques (blog, podcast, articles de recherche, code logiciel, livres lus, etc) et nombreux sont ceux qui utilisent des protocoles d'échanges communs pour communiquer entre eux (se fédérer), ou qui utilisent de façon transparente pour l'utilisateur des ponts entre différents protocoles. La volonté est de fournir une alternative ouverte et résiliente aux réseaux sociaux captifs (GAFAM), centralisés et propriétés d'une unique entité.
Le protocole ActivityPub (normalisé par le W3C établissant les formats du web), est aujourd'hui le plus répandu, mais d'autres protocoles sont également utilisés et connectés à ActivityPub via des ponts, tels que Matrix, OStatus, Diaspora*, Webmention, Zot et Zot/6 (utilisé par Hubzilla), XMPP (utilisé par Movim) ou encore WebTorrent (utilisé par Peertube et Webtorrent Desktop).

## Historique

En 2008, Evan Prodromou a créé pour le réseau social Identi.ca, un service, GNU social, et le protocole d'échange, OStatus. En 2011, identi.ca a changé de moteur pour Pump.io. Différentes instances de GNU social ont alors été créées. Au même moment, d'autres logiciels, tels que Friendica ou Hubzilla, intègrent le protocole OStatus. En janvier 2018, le W3C présente le protocole normalisé ActivityPub, afin d'améliorer les échanges entre ces plateformes. Le système de microblog Mastodon est un des premiers logiciels utilisant ce protocole ayant eu un engouement important, suivi de Pleroma. Le nombre de logiciels le supportant s'est rapidement étendu en 2018.
Si les premiers services, à l'exception de Hubzilla, étaient orientés et limités au microblog, cette évolution a permis également d'y intégrer différents types de services comme des articles de blogs longs, ou des services orientés fichiers ou flux avec des outils spécialisés (PeerTube pour la vidéo, puis Pixelfed pour les images, et ensuite Funkwhale pour l'audio). Sont également apparus des outils spécialisés dans la publication d'articles de recherche (Dokieli, Oki), ou encore un calendrier ou l'organisation d’événements et manifestations. Le sous-standard d'échange ForgeFed quant à lui, commencé en 2018 mais toujours en phase de normalisation, se spécialise dans les échanges communs aux forges logicielles, basées sur des VCS (telles que Subversion, Git, Mercurial, Darcs, etc., en y apportant des requêtes spécifiques, telles que ouverture de ticket pour les bugs, ou bien demande de fusion de patch logiciel.
À partir de 2023, Meta amorce l'interopérabilité de son récent service Threads (qui s'appuie sur la base des comptes Instagram) avec le Fédivers$^,$.

## Présentation

Une partie des instances de ce réseau sont orientées microblog, ayant des similitudes avec Twitter (par exemple les moteurs d'instances Mastodon, Pleroma ou GNU social, semblables par les activités et à leur fonction de microblog), tandis que d'autres plates-formes fédérées incluent des options de communications et de transactions, plutôt comparables à Google+ ou Facebook (comme c'est le cas avec Friendica, Hubzilla et Streams (anciennement Zap)). D'autres encore se destinent aux images, aux vidéos (comme PeerTube), à la musique, aux événements ou aux environnements de travail.
Le Fediverse est conçu pour que les différents types d'instances, souvent spécialisés dans la diffusion d'un format de médias, puissent échanger de façon transparente. Les services qui échangent par ActivityPub communiquent, quel que soit le logiciel, avec des noms de la forme @utilisateur@instance où instance est l'adresse HTTP(S) du service. C'est également un moyen dans un message d'interpeler un utilisateur d'une instance à l'autre. Il est par exemple possible d'interagir entre Mastodon (la limite par défaut d'une instance est de 500 caractères par billet) avec Pleroma (limite par défaut à 5 000 caractères, permettant la mise en page dans différents formats). Le message de l'un sera intégré de façon transparente à l'autre.
Il est par exemple possible de repartager une vidéo créée avec PeerTube, logiciel de diffusion vidéo utilisant le Pair à Pair pour permettre sa décentralisation, un enregistrement sonore de Funkwhale, une image de Pixelfed, un article de recherche d'Olki, ou un article de blog de Write Freely ou WordPress, dans un fil de discussion de Mastodon ou Pleroma. Réciproquement, il est possible depuis ces derniers de commenter ce média, le commentaire sera alors visible sur l'instance du média et les instances l'ayant partagé.
Le protocole ForgeFed vise à ajouter au Fediverse et aux forges de développement logiciel une possibilité de décentralisation et d'échange entre instances. On peut ainsi, depuis une instance implémentant ce protocole, suivre le dépôt d'une forge distante, y ajouter ou mettre à jour des tickets (erreurs, évolutions), proposer des patchs, et ainsi appliquer sur une instance les patchs proposés depuis une instance distante. L'implémentation de référence, Vervis, permet de tester et améliorer ses spécifications.
Il y a deux principaux moyens d'initier les échanges entre les différents services :
* Sur le service distant au compte voulant interagir, cliquer sur le bouton de repartage, de réponse ou de favori, et entrer l'adresse de l'utilisateur sous une forme identique à celle du mail : utilisateur@service.net. Un message de confirmation est alors envoyé au serveur de l'utilisateur qui demande à l'utilisateur de confirmer l'interaction.
* Sur le service lui-même, lancer une recherche sur l'adresse du message distant. Une fois celle-ci trouvée, cliquer sur le bouton de renvoi, réponse ou appréciation.

### Ponts

Parmi les ponts entre les différents réseaux on peut citer :
* ejabberd, qui fait le pont entre XMPP et ActivityPub.
* Hubzilla, principalement basé sur Zot, fait le pont entre ActivityPub et d'autres protocoles.
* PeerTube qui fait le pont entre ActivityPub et WebTorrent, et la libtorrent$^,$, ainsi que WebTorrent Desktop, qui fait le pont entre WebTorrent utilisé par PeerTube et Bittorrent.
* kazarma permet de faire la liaison entre ActivityPub et Matrix.

## Membres du Fediverse

Les systèmes suivants utilisent le Fediverse pour leurs interactions :

### Blog

* Drupal comporte un module ActivityPub pour intégrer dans le Fediverse ;
* Plume, moteur de blog supportant Webmention ;
* WordPress comporte différents plugins pour l'intégrer dans le Fediverse$^,$ ;
* Spip, pour lequel il existe un plugin facilitant l'intégration de Mastodon ;
* Write.as / Write Freely, moteur de blog.

### Développement et production

* Dokieli éditeur interactif, orienté papiers de recherche, avec gestion de retour de pairs ;
* Gitea (fork de Gogs) et son fork Forgejo (un « fork » est la séparation du développement logiciel (une branche), à partir du code-source d'un autre, il s'agit d'une pratique des logiciels libres, lorsque différentes visions du développement émergent) ;
* Olki, système de publication scientifique et de relecture par les pairs fédérée, développé par le Loria$^,$ ;
* Vervis, une référence d'implémentation de Forge logicielle et du protocole ForgeFed (échangeant via ActivityPub)$^,$ dont le but est de permettre aux forges logicielles d’échanger avec des VCS décentralisés, Git et Darcs, écrit en Haskell et framework Yesod, travaille (notamment avec ForgeFed) pour l'établissement de spécifications d'échanges, qui pourraient à terme être implémentées dans GitLab CE, Gitea, Gogs, etc.. Forgejo, développé par les équipes de Codeberg (en) et V, est en cours d'adaptation à ActivityPub également.

### Échange autour des livres

* Bookwyrm, parler de livres, suivre vos lectures et découvrir ce que vos amis lisent ;

### Médias

* Castopod, service de podcast intégrant ActivityPub ;
* Funkwhale diffusion et organisation de musique ou plus généralement de fichiers audio ;
* Hubzilla site web décentralisé se dupliquant automatiquement au sein d'hubs. Les hubs se connectent les uns avec les autres et utilisent le protocole Zot (anciennement RedMatrix) ;
* NextCloud similaire à OneDrive, Google Drive ou Dropbox, mais désormais compatible avec le Fediverse ;
* Owncast outil de diffusion vidéo en direct rejoint le Fediverse avec ActivityPub à partir de la v0.0.11 (mars 2022)$^,$$^,$.
* PeerTube, via ActivityPub, réseau social de diffusion de vidéo, utilisant le protocole WebTorrent pour des échanges Pair-à-pair ;
* Pixelfed, spécialisé dans la diffusion d'image proche d'Instagram ;
* Interface de Funkwhale
* Interface de PeerTube

### Microblog

* Diaspora*, microblog similaire à Facebook ;
* Friendica (anciennement Mistpark), macroblog ;
* Gab, (bloqué par la majorité du Fediverse depuis 2016) fork de Mastodon par une société commerciale texane, volontairement bloqué, en raison de son utilisation par des groupes de terreur néo-nazis ;
* GNU social (anciennement StatusNet, jusqu'en 2013), microblog ;
* Kibou, écrit en Rust, utilise l'API REST de Mastodon ;
* Mastodon, microblog proche de Twitter, avec limite à 500 caractères par défaut ;
* PostActiv (fork de GNU social), supportant OStatus, ActivityStreams et Webfinger ;
* microblog.pub, moteur de microblog ;
* Misskey, plateforme de microblog dérivée de Mastodon, ainsi que ses forks comme Firefish ou Iceshrimp ;
* Pleroma, microblog proche de Mastodon, permet des messages limités à 15 000 caractères et la mise en page aux formats BBCode, HTML et Markdown. Un fork nommé Akkoma est notamment utilisé par les développeurs du noyau Linux.
* Interface de Pleroma
* Interface de Misskey

### Organisation

* Mobilizon, logiciel d'organisation d'évènements et de gestion de groupes ;
* Gancio, un calendrier partagé$^,$ ;
* GetTogether, semblable à MeetUp.
* l'usage de CalDav et de CardDav pour synchroniser calendrier, et contacts, sans passer par un navigateur web (client email, etc..) ; Mozilla Thunderbird et son plugin (greffon) Lightning permettent de procéder ainsi.

### Partage de liens

* Lemmy, une alternative à Reddit, écrit en Rust ;
* Lotide, un agrégateur de liens proche de Lemmy, en Rust ;
* Prismo, permettait de partager des liens, à la manière de Reddit, mais de façon décentralisée$^,$ (le projet n'est plus développé ni maintenu depuis mai 2019).

### Partage de fichiers

* OLKi, partage de corpus/datasets avec appuie d'intelligence artificielle.
* NextCloud, qui permet bien plus que le partage de fichiers et la bureautique,
* il est également possible d'échanger des fichiers au travers d'Internet par différents protocoles, sans navigateur : SFTP, SCP, FTPS, webdav… via un accès direct, ou pour les premiers, via un VPN dédié pour plus de sécurité. Ce fonctionnement était très fréquent dans les petites entreprises et organisations dans les années 2000, à l'heure où le partage de fichier via le web n'était pas développé.

### Messagerie instantanée, Téléphonie sur IP, communication

* ejabberd, un serveur de messagerie instantanée XMPP, MQTT et SIP, via un script ;
* il est possible, en utilisant le protocole xmpp, d'échanger par messagerie, mais également par téléphonie ou visioconférence (protocole Jingle), en utilisant des logiciels libres ou non libres. Ces communications sont généralement gratuites et illimitées, comme l'était skype, car ne passant pas par le réseau téléphonique traditionnel.
* Il est également possible de communiquer via le protocole SIP, de façon similaire à xmpp : le SIP gère entre autres la Voix sur LTE et le Vowifi, mais la plupart des opérateurs ToIP (VoIP) permettent les communications gratuites et illimitées vers les autres utilisateurs de services ToIP, sans passer par le réseau téléphonique traditionnel. Ainsi, alice ('at'') sip . linphone . org pourra communiquer gratuitement, en illimité, avec bob ('at') sip . ippi . com, ou d'autres petits opérateurs VoIP indépendants, comme sur skype, mais avec le logiciel de leur choix, et peut être en visio selon la compatibilité.
* Il existe également la possibilité d'effectuer des appels vers les abonnés d'un service SIP, en passant par les passerelles PSTN vers SIP, lancées au début des années 2000 et encore en activité près de trente ans plus tard. Celles-ci sont gratuites pour les appels à partir d'un téléphone traditionnel (avec abonnement), vers les utilisateurs ToIP, par exemple entre un téléphone fixe et un ordinateur équipé d'un simple client SIP. Ces passerelles sont précisées sur le site SIPbroker.com et sont au coût d'une communication locale. Ces passerelles sont financées par les opérateurs de Voix sur IP, afin de permettre des communications gratuites d'un téléphone ordinaire, vers les usagers ; à l'inverse, l'appel d'un usager VoIP vers les abonnés téléphoniques classiques est payant, comme pour Skype.
* à la fin des années 2000, en parallèle des SIPBroker, VoxBone met en place les numéros iNum, à l'indicatif +882 et +883, afin de permettre un numéro de téléphone SIP virtuel, partout dans le monde, gratuitement. Mais beaucoup d'opérateurs les facturent au prix fort, par exemple d'une communication satellite, pour en décourager l'usage. Cette surfacturation et l'arrivée des applications de messagerie, met un terme au projet une dizaine d'années plus tard.
* également le nouveau service de passerelle du téléphone classique, vers les utilisateurs xmpp, via le service JMP.chat (service canadien), depuis les années 2020. Il a pour objectif de promouvoir les communications via le protocole libre et interopérable xmpp, en messagerie chiffrée comme en voix/visio.

### Édition de documents

Le logiciel de traitement de texte Abiword, propose une fonctionnalité permettant d'éditer en simultané des documents informatiques, en utilisant le protocole XMPP, une fonctionnalité inédite et unique pour un traitement de texte.

### Retransmission vidéo

Depuis les années 2000, il est possible d'effectuer de la retransmission vidéo via Internet, avec le logiciel libre VLC ; il est cependant nécessaire d'utiliser la traduction de ports, afin de permettre à une source vidéo de diffuser comme "serveur vidéo" vers des clients IP, dans un usage privé par exemple.

## Population

D'après les calculs du site « The Federation », en janvier 2019, la population totale du Fediverse est estimée à environ 2,5 millions d'utilisateurs; en octobre 2019, elle est estimée à environ 3,2 millions d'utilisateurs (dont 1,5 million d'actifs), et à 6 100 nœuds. En août 2020 elle est estimée à 4 millions d'utilisateurs. Certains comptes sont automatisés (bots) et il est impossible de connaître le nombre exact d'utilisateurs à cause de la nature décentralisée du réseau.

## Communauté

De 2022 à 2024, le Contrôleur européen de la protection des données a favorisé la présence dans le Fédivers de nombreuses institutions et agences de l'Union européenne, en lançant un projet pilote d'ouverture de deux services qui leur étaient dédiés : EU Voice (une instance Mastodon) et EU Video (une instance Peertube).