Réputation fédérée

Sur le SocialHub, @keunes a proposé de fédérer la réputation dans le sens où si Discourse prenait en charge ActivityPub, les utilisateurs pourraient utiliser leur réputation existante sur une ou plusieurs instances Discourse à travers Internet pour contourner les niveaux de confiance initiaux 0 et 1 et passer directement au niveau 2 (membre) lors de l’inscription sur un nouveau forum.

Je viens de publier mon premier message sur cette instance Discourse et, comme je suis nouveau ici, je ne peux poster que deux liens. C’est compréhensible, mais plutôt agaçant. Alors je me demandais : n’y a-t-il pas un moyen de « fédérer » Discourse, en particulier ma réputation ?

Par exemple, sur le forum d’AntennaPod, nous pourrions définir le SocialHub comme une « source de confiance fiable » et permettre aux utilisateurs de bénéficier des niveaux de confiance acquis ailleurs.

En effet, lorsque vous êtes un internaute connu avec une bonne réputation, les limitations des niveaux de confiance inférieurs peuvent devenir un fardeau lors de l’arrivée sur de nouveaux forums. À l’inverse, si vous acquérez une mauvaise réputation, cela pourrait également vous empêcher d’obtenir des privilèges sur de nouveaux forums (par exemple, jouer comme un poids négatif dans la promotion de votre niveau de confiance, bien que cela soit facilement contourné en utilisant une nouvelle identité).

L’idée est donc vraiment de faciliter le partage de la réputation liée aux bons comportements entre les instances Discourse. Étant donné qu’un réseau mondial d’instances Discourse existe déjà, avec un certain nombre d’utilisateurs ici sur Meta qui fréquentent également plusieurs autres instances, il devient de plus en plus souhaitable d’unifier les identités entre les instances pour les utilisateurs réguliers, afin que les conversations soient plus fluides. ActivityPub est l’une des façons de le faire, et nous explorons actuellement des moyens de créer un plugin pour ajouter la prise en charge d’ActivityPub à Discourse, ce qui pourrait servir de base à d’autres fonctionnalités fédérées, y compris celle-ci.

Histoire parallèle

@erlend_sh m’a rappelé cette proposition rapide datant de trois ans :

Résumé des fonctionnalités intéressantes proposées

Opt-in

Réseau de confiance

Découvrabilité

Dans le message #4, @erlend_sh a proposé d’ajouter des « communautés en commun » avec d’autres utilisateurs, et éventuellement de transférer les badges entre les communautés afin de faciliter aux membres la découverte de nouvelles communautés.

9 « J'aime »

Premières réflexions concernant la « migration de la réputation » :

  • cela devrait être optionnel par forum
  • cela devrait être optionnel par utilisateur (voir 1)
  • il devrait exister une liste blanche modifiable (éventuellement fournie par Discourse elle-même) des forums autorisés
  • il devrait exister une liste noire modifiable des forums autorisés

1 : cela soulève la question de savoir si nous souhaitons rappeler cela à l’utilisateur dans les 5 premières minutes de son utilisation du forum.

4 « J'aime »

Je pensais que les niveaux de confiance concernaient davantage l’apprentissage des règles et des usages de chaque forum. Permettre aux utilisateurs de sauter la phase d’acclimatation de deux semaines ou de 15 visites (par défaut) basée sur les règles d’autres forums pourrait ne pas fonctionner aussi bien que prévu.

Je ne serais pas contre un niveau de confiance supplémentaire « membre associé » qui pourrait être appliqué aux forums/utilisateurs enregistrés dans un hub central de répertoire. Quelque chose qui me permettrait d’avoir un accès en lecture à de nombreux forums, et peut-être l’option de voter dans des sondages ou d’aimer des éléments, tout en ayant toujours besoin de m’inscrire à un forum spécifique pour obtenir un statut de membre complet afin de publier et de progresser dans les niveaux de confiance, etc.

2 « J'aime »

Je gère quelques petites instances Discord et j’appréhende le jour où je devrai commencer à configurer des bots de modération pour prévenir le spam et autres comportements malveillants.

La plupart des lacunes de la modération sur Discord pourraient être résolues grâce aux niveaux de confiance (Trust Levels), qui sont encore largement sous-exploités dans les logiciels de communauté.

Des niveaux de confiance réseau (fédérés) partagés entre plusieurs instances interopérables permettraient deux fonctionnalités importantes :

Réseau de confiance

Un utilisateur ayant atteint le niveau de confiance 2 (TL 2) sur Meta devrait être automatiquement promu au niveau 1 (TL 1) dès qu’il rejoint un forum qui a listé meta.discourse.org comme forum de confiance. Il s’agit essentiellement de l’étape suivante par rapport à Let experienced users skip "new to Discourse" features.

C’est un système très simple, inspiré du PageRank.

Découvrabilité

Discord propose une fonctionnalité pratique qui vous permet de voir quelles communautés de discussion (serveurs) vous avez en commun avec un autre utilisateur :

Cela m’a rappelé ce que je considère toujours comme le cas d’utilisation le plus attrayant pour notre insaisissable Discourse Hub :

Une forme similaire de transfert de badges depuis d’autres instances serait également très utile. Lorsqu’une personne reçoit son premier badge « Aide » (un tel badge n’existe pas encore par défaut), chaque instance supplémentaire où il est affiché sert de rappel et d’affirmation à cette personne qu’elle est le type de membre de communauté qui aide les autres.

6 « J'aime »

Si le réseau de confiance était introduit, j’aimerais voir une prise en charge d’une Liste de Confiance de Confiance (Trusted Trust List) en plus du Forum de Confiance. Autrement dit, une instance Discourse pourrait publier sa liste de Forums de Confiance et je pourrais choisir de faire confiance à meta.discourse.org/trusted-forums.json sur mon instance, par exemple. (Non récursif, probablement)

3 « J'aime »

Comment envisagez-vous que cela fonctionne ? De manière anonyme, sans données utilisateur, ou… ?

Je ne suis pas certain de savoir quelles données utilisateur seraient pertinentes spécifiquement pour la liste des forums de confiance. Je m’attendrais à ce que les « Forums de confiance » soient sélectionnés par l’administrateur de l’instance et, si l’administrateur choisit de les publier, une requête vers meta.discourse.org/trusted-forums.json (ou toute autre URL) produirait quelque chose comme ceci :

{
  "trustedForums": [
    "meta.discourse.org",
    "bestforum.com",
    "marvellousdiscussions.org",
    ...
  ]
}

Ensuite, en tant qu’administrateur d’une instance, je pourrais entrer « meta.discourse.org » dans la liste des Forums de confiance pour ne faire confiance qu’à cette instance (et non aux instances qu’elle fait confiance), ou je pourrais plutôt l’inscrire dans la liste des « Confiances de confiance » (avec un meilleur nom..) pour faire confiance à cette instance ainsi qu’aux instances qu’elle fait confiance.

Le JSON ne contiendrait probablement pas de référence à sa propre instance ; cela sert uniquement à illustrer que faire confiance à la liste d’une autre instance devrait impliquer de faire confiance à cette instance elle-même.


Puisque vous mentionnez les données utilisateur, je suppose que vous faites référence à la façon dont je vois le mécanisme de confiance fonctionner. Cela dépasse le cadre de mon commentaire, mais étant donné l’idée de @erlend_sh de promouvoir un utilisateur au niveau TL1, je suppose que l’instance devrait partager quelque chose comme un hachage SHA256 de l’adresse e-mail avec les forums de confiance au moment de l’inscription (ou plus probablement dans un travail Sidekiq après l’inscription).

Bien que cela évite de partager directement les données utilisateur, je vois immédiatement une faille en utilisant le JSON ci-dessus comme exemple. Si un utilisateur possède un compte sur bestforum.com et s’inscrit ensuite sur meta.discourse.org, cela révélerait au premier que l’utilisateur a créé un compte sur le second, et pourrait révéler au second que l’utilisateur possède déjà un compte sur le premier, ce qui pourrait être indésirable.

Je ne sais pas vraiment comment résoudre cela. Le fait de demander l’accord de l’utilisateur lors de l’inscription ne peut pas vraiment être fiable, car une instance souhaitant abuser de ce mécanisme pourrait simplement le supprimer.

Éventuellement, le « Discourse Hub » pourrait résoudre en grande partie ce problème en ne conservant (et en ne recevant jamais) que des adresses e-mail hachées associées à des instances et des niveaux de confiance. Une instance interrogerait le hub avec une adresse e-mail hachée et pourrait utiliser un système basé sur un score avec les instances où ce hachage a été vu et les niveaux de confiance atteints, de sorte qu’une instance ne verrait jamais quelles autres instances sont impliquées, mais seulement le score résultant.

Bien que l’opérateur évident d’un tel hub étant Civilized Discourse Construction Kit, Inc., cette arrangement soulève toujours une question importante : est-ce que moi, en tant qu’utilisateur de meta et d’autres instances, je veux que CDCK puisse voir quelles autres instances j’utilise ? (Car il serait possible pour un opérateur d’instance+hub de relier les utilisateurs de sa propre instance aux entrées du hub).

Je suppose que pour résumer, la façon dont la confiance pourrait fonctionner est trop compliquée pour ce cerveau embrouillé. :slight_smile:

Bien que je trouve l’approche des « forums de confiance » intéressante et utile, je vois également un problème de sécurité potentiel : des attaquants pourraient cibler des « forums de confiance » moins surveillés pour accéder à leur véritable cible, là où ils ne pourraient pas pénétrer directement. Ainsi, si nous devons mettre en œuvre un mécanisme de confiance transitive, il ne doit pas être facilement navigable et doit s’accompagner d’un mécanisme de représailles robuste permettant de suspendre un agresseur sur toutes les instances. Je considère cela comme une contrainte forte qui ajouterait une complexité non négligeable, et qu’il vaudrait mieux réserver à une deuxième phase de développement.

En revanche, il semblerait plus simple de maintenir une liste privée de forums de confiance où la réputation à distance d’un membre sur chacun de ces forums renforcerait son statut local. Peut-être que le concept de niveaux de confiance pourrait être étendu aux instances ainsi qu’aux utilisateurs ? Si une instance, disons Meta, a un niveau de confiance 3 (TL3), les personnes venant de là pourraient avoir un niveau TL2 initialement, avec un facteur d’atténuation si l’utilisateur ne participe pas ; cela ajoute une autre couche de complexité, mais je réfléchis à voix haute et je voulais esquisser quelques alternatives possibles à la confiance accordée à des instances entières.

Je suis d’accord sur la discrétion concernant l’usage de telle ou telle instance. Cela doit être pris en compte, bien que publier sur des instances publiques puisse être équivalent à révéler le fait que vous les utilisez de toute façon ; cela pourrait s’appliquer aux forums privés, en revanche.

2 « J'aime »

Je suis toujours en train de réfléchir à une liste d’utilisateurs au niveau du répertoire. :slightly_smiling_face:

 https://DiscourseDiscovery.org -

Les utilisateurs anonymes verront un répertoire des forums inscrits pour être inclus dans la liste publique (recherchable par catégorie ou « balises de forum »), ainsi qu’une recherche de mots-clés à travers toutes les instances du répertoire.

Inscrivez-vous pour créer un compte utilisateur DiscourseDiscovery. Les nouveaux comptes commenceront au niveau Hub_Level_0 et pourront progresser à travers les niveaux Hub_Levels restants en accomplissant certaines actions et en suivant une formation adaptée du Discobot « Formation aux forums », couvrant toutes les compétences nécessaires que vous estimez indispensables.

Les différents niveaux Hub_Levels permettront d’accéder à davantage de fonctionnalités dans le répertoire. Par exemple : voir des catégories normalement invisibles pour les utilisateurs anonymes, effectuer des actions telles que « J’aime » ou voter dans des sondages (les images d’avatars pourraient être entourées de rouge pour indiquer les membres associés ou les membres d’un niveau Hub), ou recevoir des notifications sur le contenu des sujets, etc. En cliquant sur un avatar, la carte utilisateur DiscourseDiscovery s’affichera.

Les utilisateurs pourront ensuite ajouter n’importe quel compte de forum « membre complet » à une page utilisateur DiscourseDiscovery concaténée (avec la possibilité d’en exclure certains s’ils le souhaitent). Les badges pourront y être décomptés, ainsi que les dernières activités, etc.

Les forums pourraient également avoir l’option, dans la section Sécurité, de restreindre l’accès à certaines choses (catégories, sondages, etc.) aux seuls membres complets. Ils pourraient aussi choisir d’être inclus dans le répertoire public, ou dans un répertoire plus privé basé sur les niveaux Hub_Levels des utilisateurs (ou de ne pas être inclus du tout).

Juste quelques idées. :slightly_smiling_face:

3 « J'aime »