====== L’Écho des Gnous #183 Face B ====== Enregistrée et diffusée le 16 décembre 2018 Présents : Thomas et Arnaud ====== Sujet : ActivityPub et le Fediverse ====== ===== C'est quoi le problème avec la situation actuelle ? ===== * concentration des données chez de gros acteurs : facile la censure et la manipulation * le modèle économique de ces gros est problématique * modèle publicitaire : "économie de l'attention" : nous pousse des contenus bêtes (les "pièges à clics") pour revendre aux publicitaires des minutes de cerveau disponible * ou pire, revente de notre intimité à des //databroker// : "capitalisme de surveillance" * ce sont des "walled garden", prisons dorées * difficile d'en sortir à cause de l'effet réseau * => accentuation des situations de monopole La solution ? => Découper tout ça ! Utiliser plusieurs solutions éthiques. Tim Berners Lee, inventeur du web, le pense aussi : [[https://www.reuters.com/article/us-technology-www/father-of-web-says-tech-giants-may-have-to-be-split-up-idUSKCN1N63MV|Father of Web says tech giants may have to be split up (Reuters 01/11/2018)]] Mais comment faire pour les outils de communications, de réseautage social, etc. : le but est de rassembler les gens, on ne peut pas rester isolé dans son coin ? => Il faut que ces solutions éthiques savent s'interconnecter grâce à un langage commun, un "espéranto" : un protocole de fédération ===== Qu'est-ce que la fédération ? ===== Prendre l'exemple de l'email. ===== Un protocole de fédération, est-ce nouveau ? ===== Non il existe déjà des protocoles qui ont fait leurs preuves : * [[https://diaspora.github.io/diaspora_federation/|diaspora* federation protocol]] pour les réseaux sociaux (implémenté par les logiciels diaspora*, Friendica, Hubzilla, SocialHome, GangGo...) * [[https://fr.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol|XMPP]] pour la messagerie instantannée (Jabber) mais pas que ! Cf. Movim, Salut à toi... * mais aussi : * [[https://macgirvin.com/wiki/mike/Zot(20)VI/Home?f=&owt=b7b68662248656474b7d3c456c1da923|Zot]] (réseau socual, implémenté par Hubzilla, [[https://zotlabs.com/osada/|Osada]]) * [[https://matrix.org/|Matrix]] (communication) * ostatus (microblog) l’ancêtre direct d'ActivityPub ===== Pourquoi créer ActivityPub, un nouveau protocole ? ===== Créer un standard pour éviter la dispersion : ActivityPub est une recommandation du W3C (depuis janvier 2018) ((https://www.w3.org/TR/activitypub/)). Ne repart pas de zéro, utilise des briques déjà existantes : * ActivityStreams 2.0, un format de données (ou "vocabulaire'), recommandantion W3C depuis 2017 : https://www.w3.org/TR/activitystreams-core/ * JSON-LD, un format pour représenter des données structurées, Recommendation W3C depuis 2014 : https://www.w3.org/TR/json-ld/ * Webfinger, pour la découverte des utilisateurs, standard de l'Internet Engineering Task Force (IETF) depuis 2013 : https://tools.ietf.org/html/rfc7033 S'inspire de OStatus, descendant de identi.ca, utilisé par GNU Social, et donc plutôt orienté "microblog" initialement. Et ça marche : beaucoup de projets ont implémenté ActivityPub, en remplacement ou en complément de leur protocole précédent, d'autres se mettent à la fédération via ce protocole. ===== Qu'est-ce qu'ActivityPub exactement ? ===== Spécification : https://w3c.github.io/activitypub/ Voir aussi : http://activitypub.rocks/ - Une API "client vers serveur" pour créer, mettre à jour, et supprimer du contenu (a priori peu utilisée) - Une API de fédération entre serveurs pour distribuer des notification et s'abonner à du contenu Les concepts de bases sont : * des acteurs : Person, Group, Application, Service... * des activités : Create, Like, Share, Accept, Block... * des objets : Note, Document, Place, Collection, Image... Un acteur peut effectuer des activités sur des objets, par exemple : * une personne crée / aime / repartage une note (Mastodon) * une personne crée une collection (création d'un blog, d'une playlist) C'est extensible parce que JSON-LD, le format utilisé pour les échanges de données structurées, permet d'importer différents vocabulaires * ActivityStreams pour les activité * Dublin Core pour les documents * FOAF pour les personnes et leurs relations Il peut s'abonner à d'autres acteurs, et avoir des abonnés * il est possible de trouver un utilisateur situé sur un autre serveur grâce à son identifiant pseudo@serveur (via standard WebFinger) * chaque acteur dispose d'une boîte d'expédition (pour transmettre à ses abonnés les activités qu'il effectue) et d'une boîte de réception (pour les activités des autres acteurs auxquels il s'est abonné) * le protocole définit comment distribuer les messages depuis la boîte d'expédition vers les boîtes de réception potentiellement situées sur d'autres serveurs (via HTTP) On appelle "**Fediverse**" le réseau constitué par tous les serveurs et tous les logiciels qui utilisent le protocole ActivityPub pour s'interconnecter. ===== Quels logiciels implémentent ActivityPub ? ===== ==== Mastodon ==== Logiciel libre de microblog (alternative à Twitter) : https://joinmastodon.org/ 2 713 serveurs, 1 732 505 utilisateurs ((d'après https://the-federation.info/mastodon)) Facilite la migration d'un serveur à un autre. Mais aussi : * [[https://pleroma.social/|Pleroma]] : fonctionnellement équivalent, réputé plus léger (393 serveurs, 5 048 utlisateurs ((d'après https://the-federation.info/pleroma))) * [[https://github.com/syuilo/misskey|Misskey]] : 34 serveurs, 4484 utilisateurs, 1 196 772 messages ==== Peertube ==== Logiciel libre de diffusion de vidéo (alternative à Youtube, Dailymotion...) : https://joinpeertube.org/ Soutenu par Framasoft, qui a embauché [[https://framapiaf.org/@Chocobozzz|Chocobozzz]] le développeur principal (après une campagne de financement participatif internationale) Tout nouveau : v1.0.0 sortie le 11/10/2018. Déjà 285 serveurs, 9072 comptes, 1 685 855 vidéos (d'après https://the-federation.info/peertube) Interconnexion : depuis un compte Mastodon par exemple, il est possible : * de s'abonner à une chaîne * de commenter une vidéo * d'aimer une vidéo Une instance peertube peut référencer les vidéos des autres instances... ou pas, c'est au choix, instance par instance. Exemples d'instances : * https://framatube.org/ par Framasoft * https://video.lqdn.fr/ par La Quadrature du Net * https://video.passageenseine.fr/ par Pas Sage En Seine (conférences) * https://video.blender.org/ par la Fondation Blender * https://exode.me/ principalement consacrée à la musique * https://vidcommons.org/ contenus Creative Commons, domaine public * https://peertube.datagueule.tv/ * https://thinkerview.video/ * https://queertube.org/ ==== FunkWhale ==== Serveur de musique à héberger soi-même, sous licence AGPL. Inspiré par (feu) Grooveshark. Alternative à Spotify, deezer... Initialement développé par Agate Berriot (une française) sur son temps libre... mais elle vient de quitter sont emploi pour travailler à temps plein sur le projet (([[https://blog.funkwhale.audio/%7E/Announcements/funkwhale-past-present-and-future/|Funkwhale: past, present... and future?]])). Pour soutenir financièrement : https://opencollective.com/funkwhale Version 0.17 sortie le 7 octobre 2018. Déjà 13 serveurs, 903 comptes ((https://the-federation.info/funkwhale)), 240 364 morceaux ((https://join.funkwhale.audio/#instancelist)) Liens : * Site officiel : https://funkwhale.audio/ * Exemple d'instance : https://open.audio/library * Liste d'instances : https://join.funkwhale.audio/#instancelist * Documentation : https://docs.funkwhale.audio * Site de démo : https://demo.funkwhale.audio * Code source : https://dev.funkwhale.audio/funkwhale/funkwhale La fédération dans Funkwhale : * Échange de musique entre instances (restrictif par défaut) * Chaque acteur possède une bibliothèque * Les acteurs suivent d’autres acteurs * Un acteur peut refuser un abonné * Un acteur notifie ses abonnés lors d’un ajout dans sa bibliothèque * Pas encore de fédération des autres activités utilisateurs * la suite : [[https://dev.funkwhale.audio/funkwhale/funkwhale/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=Component%3A%20Federation]] ==== Nextcloud ==== Depuis la version 12, Nextcloud utilise ActivityPub pour propager entre les serveurs les modifications sur les fichiers, les nouveaux évènements, etc. Source : https://nextcloud.com/blog/activitypub-the-new-standard-for-decentralized-networks/ Depuis la version 15 sortie cette semaine, l'application Nextcloud Social permet de faire du microblogging via ActivityPub et rejoins donc Mastodon et Pleroma dans le fediverse. Source : https://nextcloud.com/blog/nextcloud-introduces-social-features-joins-the-fediverse/ ==== MobiliZon ==== > Un outil convivial, émancipateur et éthique pour se rassembler, s'organiser, se mobiliser. > > MobiliZon est un outil destiné à créer des plateformes de gestion de communautés et d'événements. Son but est d'aider un maximum de personnes à s'émanciper des groupes et événements Facebook, de Meetup, etc. Développé par Framasoft dans le cadre de la campagne Contributopia. Pourquoi ? Car beaucoup de groupes citoyens et militants utilisent Facebook pour communiquer et s'organiser. - C'est paradoxal et dangereux, car le modèle économique de Facebook est celui du "capitalisme de surveillance". Par exemple : combien vaut le fichier des gilets jaunes que vie possède Facebook ? - "//social cooling//" (théorie du chercheur néerlandais Tijman Shep) : « Si vous vous sentez observé, vous changez de comportement [...] Cela peut limiter votre désir de prendre des risques ou d'utiliser votre liberté d'expression » Il faut donc une alternative sûre et éthique. * Annonce : https://framablog.org/2018/12/11/mobilizon-reprendre-le-pouvoir-sur-ce-qui-nous-rassemble/ * Site officiel : https://joinmobilizon.org/ * Sources : https://framagit.org/framasoft/mobilizon/ Planning "a la peertube" : * Campagne de dons en cours pour le financement initial : https://soutenir.framasoft.org/ * Framasoft = association loi 1901 reconnue d’intérêt général => dons déductibles des impôts à 66 % * Hiver 2018 : Études UX et conception centrées usages * Printemps 2019 : Prototypage * Mai 2019 : Financement participatif pour MobiliZon * Été 2019 : Développement * Automne 2019 : Sortie de la version bêta Autre logiciel : GetTogether * déjà en production sur https://gettogether.community/ * fédération via ActivityPub pas encore implémentée : https://github.com/GetTogetherComm/GetTogether/issues/60 L'avantage d'ActivityPub : 8 ans après son lancement, diaspora* ne parvient pas à implémenter toutes les fonctionnalités de Facebook (pas encore de groupe ni d'évènements)... mais avec ActvityPub, différents logiciels peuvent apporter les différentes fonctionnalités, et à terme s'interconnecter entre eux, pour réellement constituer un seul réseau, qui serait une sorte de "Facebook" modulaire. ==== Write Freely, Plume... ==== Des logiciels de blogs fédérés, alternatives à Medium ou wordpress.com : * https://writefreely.org/ * https://plume-org.github.io/Plume/ Mais aussi des plugin wordpress : * https://wordpress.org/plugins/pterotype/ * https://wordpress.org/plugins/activitypub/ ==== PixelFed, Anfora... ==== Projets de logiciels de partages de photos : alternatives libres fédérées à Instagram, en développement : * https://pixelfed.org/ * https://github.com/anforaProject/anfora/ ==== Prismo ==== Projet de logiciel d'agrégation / partage de liens : alternative libre fédérée à Reddit : https://gitlab.com/mbajur/prismo ===== Ce qu'il manque peut-être encore à ActivityPub ===== ==== "identités nomades" (comme le protocole zot) ==== * fonctionnalité inventée par Hubzilla * le compte n'est pas lié à un serveur, c'est une identifié que l'on peut déplacer (ou cloner) d'un serveur à un autre * résilience totale : je ne perds pas mes données ni l'accès au réseau si mon instance disparaît * concept étudié par pixelfed : https://github.com/pixelfed/pixelfed/issues/216 ==== Sécurité ==== * vérification de l'expéditeur : pas spécifié dans ActivityPub * mais les différentes implémentation ont //de-facto// mis en place un mécanisme de signature des messages * chiffrement des messages : pas encore en place ===== Quelques comptes à suivre ===== * Orga libristes : * [[https://framapiaf.org/@Chtinux|Chtinux : @Chtinux@framapiaf.org]] * [[https://pouet.april.org/@aprilorg|L'April : @aprilorg@pouet.april.org]] * [[https://framapiaf.org/@Framasoft|Framasoft : @Framasoft@framapiaf.org]] * [[https://mamot.fr/@LaQuadrature|La Quadrature du net : @LaQuadrature@mamot.fr]] * [[https://status.fsf.org/fsf|Free Software Foundation : @fsf@status.fsf.org]] * Logiciels : * [[https://mastodon.social/@Mastodon|@Mastodon@mastodon.social]] * [[https://fosstodon.org/@funkwhale|@funkwhale@fosstodon.org]] * Alternatives : * [[https://mastodon.xyz/@lightone|@lightone@mastodon.xyz]] * [[https://mastodon.at/@switchingsocial|@switchingsocial@mastodon.at]] ====== Courrier des auditeurs ====== ====== Agenda ====== ====== Playlist ====== ^ Titre ^ Auteur ^ Lien ^ Durée ^ Commentaire ^ | 00.Jingle | Tim Oxy | http://chtinux.org/podcast/01-jingle_radio.mp3 | 00:33 | | | Sofa | Velvet_Dress_And_Stockings | [[http://lameche.zique.free.fr/musique/Velvet_Dress_And_Stockings/09%20-%20Sofa.mp3]] | 04:08 | [[https://creativecommons.org/licenses/by-nd/3.0/fr/|CC BY-ND 3.0 FR]] | | The Blue Stars | Greg Baumont | https://www.auboutdufil.com/index.php?id=94 | 04:30 | [[https://creativecommons.org/licenses/by-nc-nd/2.0/fr/|CC BY-NC-ND 2.0 FR]] |