Le fédiverse, c'est le bordel

Publié par Richard Dern le dans Réflexions. Télécharger en PDF

Je cherche Ă  me mettre au Faviconfediverse. Donc, en mĂȘme temps que je fais quelques essais (entrecoupĂ©s de quelques mois), je me documente. Ce qui est cool, c'est que c'est basĂ© sur un standard, dont le W3C est - 🏝 encore - en charge, ActivityPub. En fait, c'est clairement le bordel.

Des langages exotiques

Mon premier grief concerne les langages de programmation exotiques mis en oeuvre:

Je pourrais aussi parler de toutes les applications qui reposent sur Faviconnodejs avec ce que ça prĂ©sente comme inconvĂ©nients, mais c'est tout de mĂȘme plus facile Ă  installer que Ruby ou Elixir. Quelques unes sont Ă©crites en FaviconGo ou en FaviconPython, donc faciles Ă  installer et presque universelles, mais elles restent rares.

En fait, il n'y a que les vieilles applications qui reposent sur du bon vieux PHP des familles: FaviconGNU Social et FaviconFriendica. Cependant, il semble que Hubzilla commence Ă  prendre un peu d'ampleur.

Je ne dis pas que PHP est mieux, ce n'est pas le propos. Je dis juste qu'une stack complĂšte PHP s'installe et se configure beaucoup, beaucoup plus vite et plus facilement que Ruby ou Elixir, en plus d'ĂȘtre plus accessible sur le plan technique.

Peu de containers

C'est probablement dĂ» Ă  la jeunesse relative des applications, mais j'ai constatĂ© l'absence de Favicondocker "dans des conditions normales d'utilisation". C'est-Ă -dire qu'on peut souvent gĂ©nĂ©rer une image docker, mais que rares sont les applications Ă  proposer leur image - officiellement - sur le Faviconhub. Cela rend l'utilisation d'outils comme Faviconportainer plus dĂ©licate. Je pense que c'est aussi un frein Ă  une installation en masse: je ne compte plus les fois oĂč j'ai sabotĂ© mon OS avec des installs foireuses. Une stack docker m'aurait Ă©pargnĂ© du temps et de la frustration. De plus, cela permettrait leur intĂ©gration dans des outils comme FaviconYunohost.

Une coopération difficile entre les apps

J'aimerais bien pouvoir utiliser plusieurs applications diffĂ©rentes sur le fĂ©diverse: par exemple, Pleroma pour du micro-blogging, FaviconPlume pour mes articles plus synthĂ©tiques, FaviconPeerTube pour partager des vidĂ©os, FaviconPixelfed pour mes photos. Intuitivement, je me suis dis que j'allais installer Pleroma sur microblog.my-freedom.space, Plume sur articles.my-freedom.space, Pixelfed sur pics.my-freedom.space, etc., et que, d'une façon ou d'une autre, je pourrais bĂ©nĂ©ficier d'un SSO (connectĂ© sur une plateforme = connectĂ© Ă  toutes les plateformes, mĂȘme moyennant un peu de configuration), et ĂȘtre reconnu par ces plateformes comme Ă©tant @richard@my-freedom.space. Il me semblait que cela serait possible en dĂ©signant une de ces applications comme Ă©tant mon "serveur d'identitĂ©", et que les autres applications pourraient lui demander les informations me concernant.

L'idĂ©e derriĂšre cette architecture serait Ă©videmment d'avoir un outil pour une tĂąche. C'est la philosophie Unix. Plume est plus adaptĂ© aux articles issus de la rubrique 🏝 RĂ©flexions de ce site par exemple, tandis que j'aurai utilisĂ© Pleroma pour partager un simple lien ou pour papoter entre utilisateurs, voire en systĂšme de commentaires.

Malheureusement, la rĂ©alitĂ© est tout autre. ThĂ©oriquement, il me semble que rien, dans les specs d'ActivityPub, empĂȘche l'utilisation d'une application pour gĂ©rer mon identitĂ© (selon les termes d'ActivityPub, il s'agirait de mon actor, inbox, outbox, les followers et les likes), et laisser d'autres applications gĂ©rer des objets spĂ©cifiques (par exemple, un objet de type Video serait gĂ©rĂ© par PeerTube).

L'idĂ©e, c'est qu'on puisse ĂȘtre identifiĂ© par @moi@mon_domaine.tld sur tout le fediverse, un peu comme une adresse email . Or, il me semble que pour le moment, il n'y a que Mastodon qui permet l'installation dans un sous-domaine, tout en conservant un acct (ce fameux identifiant) pointant vers le domaine principal. Donc, si j'installe Pixelfed dans pics.my-freedom.space, mon acct sur Pixelfed sera @richard@pics.my-freedom.space, donc sans aucun lien avec @richard@my-freedom.space, qui est censĂ© ĂȘtre mon acct universel, le seul et l'unique. Malheureusement, il semblerait que Faviconcela relĂšve plus du hack dĂ©gueulasse que de la vĂ©ritable fonctionnalitĂ©.

L'autre frein à l'usage de plusieurs applications concerne le SSO. Là encore, j'attendais que ces applications soient capables de communiquer entre elles pour que, étant identifié sur l'une d'elles, je sois identifié sur toutes. Ce n'est pas dans les specs d'ActivityPub puisque ça ne le concerne pas, mais encore une fois, intuitivement, je pensais que ça coulait de source.

Techniquement, c'est faisable, mĂȘme en passant par des outils externes. J'ai vu que Mastodon et Pleroma supportaient, par exemple, l'identification via LDAP ou FaviconOAuth. Mais il faudrait que les autres en fasse de mĂȘme, Ă  terme.

Un standard sujet à interprétations...?

Mastodon ne supporte pas "nativement" le fediverse. C'est-Ă -dire qu'au lieu de produire et utiliser nativement des objets dĂ©finis par le standard, il produit des objets dotĂ©s de propriĂ©tĂ©s spĂ©cifiques, qu'il empaquette dans un format comprĂ©hensible par les autres acteurs du fediverse, avec le risque que ces objets ne parviennent pas sur le fĂ©diverse de la mĂȘme façon qu'ils ont Ă©tĂ© produits.

L'auteur de Pleroma précise dans son article "What is Pleroma" que:

Mastodon is, internally, based around the concept of “Statuses”. It uses ActivityPub to federate, but it has no internal concept of Activities, it just generates ‘fake’ Activities for message exchange.

Mastodon est basé, en interne, sur le concept de "Status". Il utilise ActivityPub pour se fédérer, mais n'a aucun concept d'Activités en interne (ndr: les Activités font partie du standard ActivityPub), il génÚre simplement de "fausses" Activités pour l'échange de messages

Le mĂȘme cas de figure se prĂ©sente avec PeerTube, mis en lumiĂšre par la librairie FaviconActivityPub pour PHP Ă©crite par landrok.

A priori, le standard ActivityPub n'interdit pas de produire des types d'objets spĂ©cifiques dotĂ©s de propriĂ©tĂ©s non standards, ceci afin de couvrir des besoins spĂ©cifiques non prĂ©vus par le standard lui-mĂȘme. Le problĂšme, c'est de crĂ©er des objets spĂ©cifiques dĂ©rivĂ©s d'objets prĂ©-dĂ©finis. C'est notamment le cas pour PeerTube et Mastodon: alors que ActivityPub dĂ©fini bien des objets de type Video, PeerTube ajoute des propriĂ©tĂ©s spĂ©cifiques qui peuvent ne pas ĂȘtre utilisĂ©es (puisqu'inconnues) d'une autre application, rĂ©duisant par consĂ©quent l'interopĂ©rabilitĂ©. Si l'envie me prend de crĂ©er un "concurrent" Ă  PeerTube, sachant que ses utilisateurs exploitent dĂ©jĂ  ces propriĂ©tĂ©s d'objets spĂ©cifiques, il faudra que je les exploite aussi sous peine de n'attirer aucun utilisateur, voire de contribuer Ă  fragmenter le fĂ©diverse (ce qui est, par dĂ©finition, complĂštement incohĂ©rent).

Non pas un mais plusieurs standards

Je parle essentiellement d'ActivityPub, mais ce n'est pas le seul protocole Ă  ĂȘtre employĂ© sur le fĂ©diverse. Il y a, par exemple, diaspora*, qui utilise son propre protocole du mĂȘme nom, mais aussi FaviconOStatus, entre autres. À moins que les applications supportent plusieurs de ces protocoles, il y a une fragmentation du fĂ©diverse. De lĂ , complexification du dĂ©veloppement des applications, voire lourdeurs dans leur utilisation.

Ceci dit, il faut tempĂ©rer mes propos: je ne parle pas de supprimer tous les protocoles sauf un. FaviconMatrix n'a pas la mĂȘme finalitĂ© que ActivityPub par exemple. Et puis cette variĂ©tĂ© des protocoles n'est pas le pire handicap du fĂ©diverse.

C'est pas compliqué pourtant !

Je récapitule:

Test de FaviconPrismo et Pixelfed

Mise Ă  jour du 02/07/2019, 10:44

J'ai passé ma soirée à tester Prismo et Pixelfed, et je ne suis pas du tout convaincu. Sur le papier, un mini-Faviconreddit et un FaviconInstagram auto-hébergés, Libres et fédérés, ça envoie du bois. Mais concrÚtement, soit je n'ai rien compris au fediverse, soit il y a encore énormément de travail à accomplir.

Concernant Prismo, il y a quelques petits bugs de jeunesse mais rien de mĂ©chant: l'application s'installe relativement facilement via docker et est parfaitement utilisable. Par contre, il faut ĂȘtre connectĂ© sur la mĂȘme instance pour pouvoir suivre un utilisateur. J'espĂšre que lĂ  encore, c'est dĂ» Ă  la jeunesse de l'application, sinon je ne vois pas comment ni pourquoi c'est "fĂ©dĂ©rĂ©".

Concernant Pixelfed, je suis démuni. J'ai pu envoyer une photo. Les autres m'envoient chier avec une erreur 401 (demande d'authentification alors que je suis connecté). De plus, la procédure d'installation est décrite de façon quelque peu... désordonnée. Pixelfed est basé sur FaviconLaravel que je connais comme ma poche. J'ai donc pu ajuster la procédure et m'en sortir. Mais impossible de l'utiliser. Sans compter les bugs de génération de miniatures, le cache roulette-russe, etc.

Mais lĂ  encore, impossible de comprendre comment suivre mon instance depuis une autre: impossible donc de savoir si un utilisateur sous pleroma peut suivre mon instance pixelfed. Mais peut ĂȘtre qu'encore une fois, je n'ai rien compris au fonctionnement du fediverse...

Pour ĂȘtre clair, je pensais que si je dispose d'une instance Pixelfed, ou Prismo, ou Mastodon, ou Pleroma, n'importe qui pouvait me suivre depuis n'importe laquelle de ces applications, commenter depuis ces applications, liker, etc. Par exemple, en publiant une photo sur Pixelfed, un follower pourrait la commenter depuis son Mastodon. Si je publie un lien sur Prismo, un follower le verrait dans Pleroma, et pourrait le liker de lĂ .

Mais s'il n'y a qu'un utilisateur Pixelfed pour liker une photo publiĂ©e via Pixelfed, et que seule une personne sur Prismo peut suivre quelqu'un d'autre sur Prismo, je trouve l'intĂ©rĂȘt du fediverse particuliĂšrement limitĂ©.

Du coup, je ne suis mĂȘme pas sĂ»r de voir l'intĂ©rĂȘt (pour moi) de rester sur le fediverse pour l'instant.

AprĂšs quelques jours d'utilisation

Mise Ă  jour du 05/07/2019, 10:45

Le harcĂšlement

En effet, sur le fediverse, il y a un sĂ©rieux problĂšme de harcĂšlement, que j'ai pu moi-mĂȘme constater (sans en ĂȘtre la cible). Les populations de couleur, les femmes, la communautĂ© LGBT, etc., il y a toujours l'une ou l'autre personne pour se montrer particuliĂšrement violent. Du simple mysogyne au suprĂ©maciste blanc, on trouve de tout.

La communautĂ© du fediverse aimerait des outils plus efficaces pour lutter contre ces violences. Par exemple, redonner un peu de pouvoir aux utilisateurs-mĂȘme au lieu de confier la modĂ©ration aux seuls administrateurs de l'instance. Mais, apparemment, en particulier chez Mastodon, les devs semblent peu enclins Ă  les implĂ©menter.

Comme je l'ai dit ci-dessus, c'est un problÚme humain, pas logiciel. Les gens fonciÚrement mauvais, intolérants, incapables de réserve ou de retenue, le resteront sur Internet comme IRL. Il n'y a pas de solution logicielle à ce problÚme, pas plus qu'il n'y a de solution sociale. Le harcÚlement sur Internet fait la une, mais uniquement parce qu'Internet est un nouveau vecteur du harcÚlement. Ce qui me permet de glisser ici mon opposition totale à une responsabilisation des plateformes. C'est nous, en tant qu'humains, le problÚme, et j'insiste lourdement là-dessus. Pas les plateformes, pas les logiciels, pas l'informatique. L'humain.

Tout ce qu'on peut faire avec des outils de modération, c'est appliquer une rustine technique temporaire sur un problÚme social permanent.

Les standards ignorés

La communautĂ© du Logiciel Libre a voulu des alternatives Ă  facebook et twitter, par exemple. On a donc crĂ©Ă© le protocole OStatus. Et ActivityPub. Tous deux des standards. Sauf que 🏝 c'est un terme qui ne veut plus dire grand'chose, apparemment.

Or, il se trouve qu'ActivityPub, dont Faviconmastodon revendique la compatibilité, permet la gestion de groupes, une demande apparemment récurrente chez ses utilisateurs. Via les Favicontypes d'acteurs. C'est là. Il suffit de l'implémenter correctement. Mais pour l'implémenter correctement, il faut le comprendre correctement. C'est généralement à cette étape qu'on perd les devs.

Selon Favicon@lord, dont j'affectionne particuliÚrement Faviconle blog, Faviconles devs du fédiverse travaillent dans le désordre, c'est-à-dire que les protocoles de fédération sont implémentés en fin de projet:

Réflexion de @lord concernant le dev sur le fédiverse

Je considĂšre que c'est une bien mauvaise pratique, pour des applications censĂ©es ĂȘtre fĂ©dĂ©rĂ©es et interopĂ©rables. Pire, cela dĂ©fie la logique: comment espĂ©rer implĂ©menter correctement un protocole s'il n'est au pas au coeur mĂȘme du dĂ©veloppement ? Et pourquoi ne l'implĂ©menter qu'aussi partiellement, si ce n'est Ă  cause d'un manque de comprĂ©hension des spĂ©cifications, ou par fĂ©nĂ©antise ?

On pourrait m'opposer que les spĂ©cifications sont chiantes Ă  lire, qu'elles ont des dĂ©fauts, etc. Je suis peut ĂȘtre idĂ©aliste, mais pour moi, c'est l'implĂ©mentation (en gĂ©nĂ©ral) qui est dĂ©fectueuse, pas la dĂ©finition. Il y a des points qui sont laissĂ©s Ă  l'apprĂ©ciation de l'implĂ©mentation, Ă©videmment, comme la sĂ©curisation des Ă©changes ou l'identification des acteurs, mais globalement, le W3C fournit presque tout ce dont les dĂ©veloppeurs ont besoin, en particulier le modĂšle des donnĂ©es (du genre "tout ou presque hĂ©rite de Object ou de Link"), et, forcĂ©ment, les interactions font l'objets de paragraphes descriptifs, qui peuvent ĂȘtre chiants Ă  lire.

Mais les specs de SMTP, de HTTP, de DNS, etc. sont aussi des documents trĂšs synthĂ©tiques (une quinzaine de RFC par protocole que je viens de citer). Si, pour des protocoles et des technologies aussi importantes, les devs des implĂ©mentations les plus populaires concernĂ©es avaient fait preuve d'aussi peu d'engagement que pour ActivityPub, je n'imagine mĂȘme pas oĂč en serait le web aujourd'hui.

Le fediverse est totalement bancal

Je l'affirme: le fediverse d'aujourd'hui est totalement bancal, et il le restera tant que les devs ne se sortiront pas les doigts du cul, ou qu'ils feront preuve d'autant de totalitarisme. Ça, c'est pour la partie technique et pour me faire des amis.

Pour la partie sociale, honnĂȘtement, si ces problĂšmes de harcĂšlement persistent, le fediverse n'est pas mieux que facebook ou twitter. Sauf que lĂ , ça ne concerne plus ni les specs, ni les implĂ©mentations. C'est un problĂšme humain, contre lequel aucune solution informatique n'est envisageable.

Par conséquent, le fediverse, qu'il repose sur ActivityPub, OStatus, Matrix ou XMPP, restera toujours bancal, parce qu'il repose sur l'humain.

Mais au moins, si les implémentations étaient techniquement meilleures, on pourrait se concentrer sur le problÚme humain.

Le fediverse au-delà du fédiverse

Mise Ă  jour du 06/07/2019, 10:56

Depuis quelques jours, mon flux de pouets est monopolisé par Favicon@aeris, victime d'un déferlement à son égard, démarré par un tweet "maladroit". Je n'ai pas tous les éléments en main pour comprendre de quoi il en retourne, et il ne m'appartient pas de communiquer une opinion quelconque à ce sujet: je ne connais ni les scÚnes ni les acteurs. Toutefois, cela me permet de rebondir sur quelque chose qui me semble avoir été perdu de vue par les acteurs des réseaux non-commerciaux.

Il semblerait que cette fùcheuse histoire ait mis en exergue un défaut de modération de la part des gestionnaires des instances Mastodon de chez Faviconframasoft et mamot.fr.

Je ne connais pas le passif de mamot.fr, mais je connais framasoft: ils oeuvrent depuis longtemps déjà à la promulgation des Logiciels Libres, et, plus récemment, à la Favicondé-Googlisation d'Internet. En gros, ils font tourner une instance de toute application destinée à remplacer un service commercial. Par exemple, mastodon pour remplacer twitter.

Il y a un effet de bord dĂ©sastreux et qui a dĂ©jĂ  Ă©tĂ© Ă©voquĂ© plusieurs fois un peu partout: le but de ces applications Libres est de remplacer leur Ă©quivalent commercial et donc centralisĂ©. Or, en proposant eux-mĂȘme des instances ouvertes de ces applications (mastodon n'est qu'une application parmi une trentaine), ils centralisent chez eux, ce qui ne fait que dĂ©placer le problĂšme: au lieu de centraliser les utilisateurs chez twitter, ils les centralisent chez framasoft. On voit bien l'un des problĂšmes que cela pose: tout utilisateur qui bĂ©nĂ©ficie de leurs services tombe par consĂ©quent sous leurs propres rĂšgles de modĂ©ration, ou sous leur absence de rĂšgles, ou sous les capacitĂ©s de modĂ©ration proposĂ©es par l'application mise en oeuvre.

Je le répÚte: le but de ces Logiciels Libres est de se décentraliser, ou dit autrement, de s'affranchir d'une autorité centrale. Je soutiens donc bien l'idée de framasoft de promouvoir les réseaux décentralisés, mais je suis en total désaccord avec l'idée qu'ils en hébergent des instances ouvertes (c'est-à-dire que tout le monde peut s'y inscrire).

Construisons maintenant une analogie avec le monde "réel".

Framasoft, mamot, etc., sont des hĂŽtels: mĂȘme les criminels peuvent s'hĂ©berger Ă  l'hĂŽtel, sans que ce dernier ait connaissance des intentions ou du passĂ© de ses clients. Le jour oĂč il y a une alteraction importante, nuisible aux autres usagers, l'hĂŽtel prend ses dispositions, et fout tout le monde dehors, sans chercher Ă  comprendre qui est fautif ou pas. Ils vendent de l'hĂ©bergement, et ne sont pas lĂ  pour investiguer, ou jouer Ă  la police des moeurs, parce que quand ils le font, c'est mal fait: ce n'est pas leur mĂ©tier. Ils sont lĂ  pour hĂ©berger. Il n'empĂȘche qu'il y a des rĂšgles, qui, dans un monde idĂ©al, ne sont pas nĂ©cessaires, puisqu'on est censĂ©s pouvoir compter sur le bon sens de cette crĂ©ature si socialement et technologiquement avancĂ©e qu'est l'humain... Ces rĂšgles sont simples, universelles: le respect d'autrui.

Nous ne sommes pas, bien sûr, dans un monde idéal, et le respect d'autrui, c'est une notion bonne pour les sociétés utopiques.

Pour beaucoup d'humains, s'hĂ©berger Ă  l'hĂŽtel ne peut ĂȘtre l'affaire que de quelques jours: on n'est jamais aussi bien que chez soi. Donc, on cherche Ă  s'hĂ©berger soi-mĂȘme, voire construire sa propre maison.

Tout le monde n'a pas les compétences pour construire sa propre maison, mais on peut toujours en acheter une déjà construire: dans mon analogie, acheter une maison construite reviendrait à utiliser un outil comme Yunohost, voire, à plus bas niveau, docker, tandis que construire sa maison reviendrait à installer le Logiciel Libre de son choix sur son propre serveur.

Ça ne rĂ©soudrait pas le problĂšme du harcĂšlement, Ă©videmment. En se fĂ©dĂ©rant, on s'expose. En se rendant public, on s'expose. Que ce soit sur Internet ou non, d'ailleurs. Mais au moins, on aurait le choix de masquer les indĂ©sirables, sans ĂȘtre dĂ©pendant d'une plateforme (en l'occurrence, framasoft ou mamot). C'est-Ă -dire qu'on est en mesure de dĂ©cider qui rentre chez nous ou non.

Les problĂšmes qui surviennent sur le fĂ©diverse ne sont pas spĂ©cifiques au fĂ©diverse. Je pense en particulier au Faviconforum 18-25 du site d'actualitĂ©s jeuxvideo.com. Ces problĂšmes ne sont mĂȘme pas spĂ©cifiques Ă  Internet.

Internet a rapproché les gens: il leur a permis de communiquer, qu'ils soient voisins ou distants de milliers de kilomÚtres. Et donc, on peut plus facilement communiquer avec les autres, positivement ou non. C'est un choix personnel, qui dépasse de loin les réseaux sociaux ou Internet.

On choisi d'avoir un regard positif ou nĂ©gatif face aux autres, en fonction de nos propres valeurs. On choisi d'ĂȘtre un suprĂ©maciste blanc, ou un terroriste. On choisi d'ĂȘtre mysogyne ou fĂ©ministe. On choisi de bannir ou tolĂ©rer les individus disruptifs sur nos instances de rĂ©seaux dĂ©centralisĂ©s. On choisi de s'exposer au jugement des autres ou de les juger soi-mĂȘme. On choisi de harceler ou de rĂ©compenser un employĂ©. On fait ces choix parce qu'intrinsĂšquement, consciemment ou non, mĂȘme si on pense le contraire, on a pesĂ© le "pour" et le "contre" des consĂ©quences de nos choix au moment oĂč on y est confrontĂ©s. Mais quand on devient sociaux, nos choix ont toujours des consĂ©quences sur les autres.

J'essaye d'Ă©viter la notion du bien et du mal, parce que c'est une notion typiquement humaine, nĂ©e par l'Ă©volution de notre pensĂ©e. Mais je considĂšre que c'est impossible. Pour beaucoup de gens (la majoritĂ© ?), le monde n'est pas binaire: il n'y a pas de "bien" et de "mal" (ce qui me parait totalement opposĂ© Ă  notre historique religieux d'ailleurs - Ă  l'Ă©chelle de l'espĂšce). Ce n'est pas mon cas. MĂȘme si cela dĂ©pend d'un nombre variable de paramĂštres, chaque situation peut ĂȘtre dĂ©finie comme Ă©tant, de façon absolue, positive ou nĂ©gative. L'irrespect est invariablement un comportement nĂ©gatif, tout comme le harcĂšlement, quelles qu'en soient les raisons.

Seuls les plus tĂ©mĂ©raires seront parvenus Ă  lire toutes ces lignes d'un sujet qui ne saurait ĂȘtre rĂ©sumĂ©, et dont je ne saurai trouver une conclusion adĂ©quate. MalgrĂ© tout, je tenterai celle-ci, que je ne prĂ©tends en aucun cas universellement satisfaisante: il est malheureux que les personnes qui ne sont pas concernĂ©es par les rĂšgles sociales (c'est-Ă -dire, qui les respectent naturellement) sont trop souvent les mĂȘmes qui en sont victimes.

Commentaires

Nouveau commentaire

Si vous indiquez une adresse email, elle ne sera utilisée que pour vous avertir des nouveaux commentaires sur cette page. Vous pouvez utiliser markdown et la coloration syntaxique pour formater votre message.