Bonjour @rishabh, @riking, @codinghorror,
(Oui, il y a un TL;DR ci-dessous)
Il y a quelque temps, j’ai compris de @sl007 et @hellekin que vous ne poursuivriez pas cette Phase 1 à court terme, même avec le financement NGI0. En tant que promoteur de l’interopérabilité basée sur ActivityPub, je trouve cela également regrettable, bien sûr. Mais du point de vue de Discourse, le logiciel de forum leader et le plus populaire, il existe de nombreuses forces et autres priorités à prendre en compte, et cette décision commerciale, à la lumière de cela, a probablement beaucoup de sens :
Décision : Cette RFC, telle que proposée, n’était tout simplement pas assez attrayante pour être priorisée et incluse dans la feuille de route.
La RFC adoptait une approche MVP avec « Commençons par créer un flux de contenu agrégé similaire à Facebook à travers les forums », tel que proposé par @Falco. Ce n’est qu’une des nombreuses fonctionnalités qui pourraient résulter d’un support natif d’ActivityPub sous une forme ou une autre. On peut dire qu’une telle chronologie est une sorte de détour par rapport à ce que l’on trouve normalement dans un forum, et à mes yeux, cela ne semble pas être une fonctionnalité centrale réelle. Plutôt une extension ajoutée, donc un « nice-to-have ».
Une approche différente
Maintenant que la nécessité de parvenir rapidement à un MVP du support ActivityPub est écartée, peut-être pourrions-nous suivre le processus inverse :
Idéation : Brainstormer des cas d’usage d’interopérabilité et évaluer leur viabilité en termes d’avantages commerciaux et d’USP.
Autrement dit : quelles fonctionnalités seraient vraiment attrayantes à avoir dans Discourse ? Ou même : où Discourse pourrait-il rater le coche s’il n’est pas au courant de ce qui est possible ?
Dans son dernier post ci-dessus, @Falco mentionne Lemmy, qui est construit dès le départ sur un vocabulaire de données liées dédié correspondant à leur domaine d’activité. Ils ont leur MVP prêt et en production, et envisagent maintenant d’étendre leur ensemble de fonctionnalités sur la base de leur propre domaine. Cela peut inclure la fédération avec l’autre domaine du microblogging où Mastodon, Pleroma et d’autres connaissent un grand succès.
L’approche de l’idéation pourrait suivre cet exercice :
Exercice : Imaginons à quoi Discourse aurait ressemblé s’il avait été construit dès le départ sur son propre domaine d’activité basé sur ActivityPub (défini comme un vocabulaire de données liées).
Lâchons-nous lors de cette session de brainstorming et laissons notre créativité s’exprimer librement.
La liste des cas d’usage qui en résulte pourrait être suffisamment intéressante sur le plan commercial pour faire partie de la feuille de route, mais sinon, elle pourrait toujours inspirer la communauté à créer des plugins et des composants, et poser les bases pour un développement ultérieur.
ActivityPub versus Fediverse
Je remarque qu’il existe une large méconnaissance de ce que signifie avoir un support ActivityPub dans une application. Beaucoup de gens pensent que la raison de le faire est de devenir « partie intégrante du Fediverse ». Et là, la pensée va immédiatement à la fédération avec les instances Mastodon, c’est-à-dire à la mise en œuvre de l’interopérabilité avec (c’est-à-dire pour rejoindre) le domaine fédéré du microblogging.
Oui, c’est une opportunité très attrayante une fois que l’on dispose du support ActivityPub, et de nombreuses autres applications comme PixelFed (alternative à Instagram), PeerTube (alternative à YouTube) et aussi Lemmy (alternative à Reddit) cherchent à le faire. Ils rendent le Fediverse un endroit plus attrayant pour y participer, et de nombreuses innovations prennent forme qui rendent l’avenir du Fediverse vraiment passionnant.
MAIS…
On peut dire que les organisations ciblant de grandes bases d’utilisateurs comme Discourse pourraient se poser des questions telles que : « Pourquoi voudrais-je m’intégrer au Fediverse avec seulement environ 4 millions d’utilisateurs ? » ou « Pourquoi intégrer le microblogging dans mon logiciel qui opère dans un domaine entièrement différent ? ». Et ils auraient raison de le dire, et de renoncer à l’implémentation d’ActivityPub sur cette base.
CEPENDANT…
Les implémentations d’ActivityPub concernent bien plus que le fait de devenir partie du (partie microblogging du) Fediverse. Il est tout à fait logique d’implémenter un vocabulaire de données liées conçu spécifiquement pour votre propre domaine d’activité et de faire fédérer vos propres instances de produit entre elles. Ou toutes les instances de votre produit et celles de vos concurrents dans votre industrie qui adoptent également le même vocabulaire, d’ailleurs.
Un exemple ici est le projet ForgeFed qui vise à définir des normes d’interopérabilité pour les forges de code (github, gitlab, gitea, sourcehut, etc.) à implémenter. Le faire a un sens énorme, en particulier pour les plus petits projets de forge de code, afin de fournir une alternative attrayante à Github (qui est devenu trop dominant en tant que plateforme centralisée et de plus en plus fermée). Si cela est largement adopté, les développeurs n’auront plus à jongler avec une multitude de comptes de forge sur des serveurs dispersés à travers Internet pour participer à des projets de code intéressants, soumettre des tickets, commenter et soumettre des PR.
(Remarquez que - comme indiqué ci-dessus - le même problème que les gens ont avec l’existence de forges de code autonomes partout, est ce que moi et d’autres ressentons également avec notre participation à de nombreuses communautés Discourse.)
Opportunité : Discourse est unique pour prendre la tête dans la définition des normes d’interopérabilité pour les logiciels de forum, et façonner la norme de manière à ce qu’elle s’aligne parfaitement avec l’ensemble actuel des fonctionnalités de Discourse.
Il y a quelques concurrents montants dans votre industrie, qui sont innovants, adoptent de nouvelles approches et itèrent rapidement pour ajouter de nouvelles fonctionnalités (vous chez Discourse savez mieux qui ils sont
). À mon avis, Discourse, en termes de complétude des fonctionnalités, est toujours bien au-dessus de ce que leurs produits ont à offrir. Et vous avez une communauté comme aucune autre pour vous aider à faire évoluer le produit.
Mais l’opportunité d’interopérabilité qui existe maintenant pourrait aussi devenir une menace. Soit les concurrents pourraient saisir l’opportunité en premier, soit - peut-être poussés par la loi européenne sur les marchés numériques - les grandes plateformes technologiques créeront quelque chose avec un chevauchement dans le domaine des logiciels de forum. Dans les deux cas, il serait plus difficile pour Discourse de s’aligner sur cette norme et d’avoir la voix la plus autoritaire dans la conception de sa spécification.
TL;DR
Ceci est devenu un post plus long que je ne l’avais prévu. Désolé pour cela 
En résumé, je soutiens que, compte tenu de la position actuelle sur le support ActivityPub, il pourrait être prudent de passer d’une focalisation à court terme de type MVP, à une évaluation plus large de ce que l’interopérabilité ActivityPub pourrait apporter à Discourse en termes d’USP et de positionnement à long terme. C’est-à-dire élaborer le cas d’affaire de l’adoption d’ActivityPub, en commençant par une phase d’idéation.
(Comment cela peut être le mieux mis en place - si vous êtes intéressé - je laisse cela en suspens, mais cela pourrait commencer simplement par un nouveau sujet AP ayant un wiki de résumé des cas d’usage collectés au-dessus et des personnes discutant d’idées de cas d’usage dans le thread)