I spent some time thinking of a democratic process for moderation using #activitypub vocabulary. The flow works as:

1/ User(s) reports an user / item
2/ Moderators can initiate a "moderation court" which consists of
3/ A Question activity with details about the transgression and `oneOf` answers for the action to be taken (eg: ban vs. not ban vs. something else)
4/ Community discusses/votes on the Question
5/ Moderators effect what the community decided

The steps can be configured in different ways.

As an example: any user will be allowed to initiate the "mod court" not just moderators.

Also (at least on brutalinks) the moderation operation (ban user, edit post, edit submission, delete submission) can be allowed for a user's parent (brutalinks supports users inviting other users on the website)

Show thread

A fancy version of this would be that the moderator takes an action on the instance (edit, ban, delete, etc), but sending the Activity corresponding to it will only be done if the vote on the Question matches a "Yes" from the community.

Show thread
Follow

@mariusor
Firstly, what is the motivation behind "democratic moderation" as you describe it? Specifically, why would you want "mod courts"? It may be obvious to you, but I want to think critically in the open to allows us to see its implications.

Also, expanding the ActivityStreams vocabulary might be a good idea, before rushing and trying to shove new semantics onto existing vocab. Just some thoughts.

w3.org/TR/activitystreams-voca

@torresjrjr @mariusor

I think this is a great topic for discussion at #SocialHub and to create a #Fediverse Enhancement Proposal (FEP) for.

socialhub.activitypub.rocks/c/

I also created a post on #Lemmy some time ago on #ActivityPub federation, and I'll mention your toots there.

lemmy.ml/post/60475

@humanetech

I agree with you, but I'm not willing to invest the time in creating discussions and debating feedback before I actually built something that satisfies me. I am already in debt with two FEPs that I have started. I will probably put this on paper at a point, but I need a clearer picture in my mind before I do that.

@torresjrjr

@mariusor @torresjrjr

Fair enough. Maybe you might at least create a topic with the same content as in these toots, so folks are aware of it and can provide feedback / discuss, etc?

@humanetech
Sorry but no. If folks are interested in my opinions, they can follow me here, get involved in the mailing list[1] I have set up, or on github[3][4]. I do not have enough mental bandwidth to deal with communication coming from too many public channels. If you are interested to intermediate, I'm open to receive feedback and answer questions here:

[1] sr.ht/~mariusor/go-activitypub has links to a wiki and mailing list.

[2] github.com/go-ap/

[3] github.com/mariusor/go-littr

@mariusor no need to be sorry. I understand. I will likely post something to socialhub and provide a pointer to these toots, if you don't mind.

@humanetech that is lovely and I am very grateful to you for it.

My project has the misfortune of having a bus factor of one at the moment.

I am very interested in having people supporting me in any way (well, I don't need money, except maybe to pay people to do any of the following): development, design, documentation, graphics, copy, etc.

@mariusor @humanetech @torresjrjr One thing to keep in mind for this is the amount of information that needs to be processed.

For example you may want to limit the people to be asked to a subgroup on large instances — maybe a randomly chosen subgroup with some constraints (like: must contain some people the affected person interacted with).

Otherwise banning might become much more time consuming than creating a new account, and then the spammers win.

@ArneBab @humanetech @torresjrjr

These all sounds like problems to be solved in version 2(if there's ever a version 1). :D

Also my projects (brutalinks and fedbox) are targeted explicitly at small-medium communities[1]. But yes, a subgroup can be defined by using plain activitypub vocab. On the top of my head I see a Group actor (something like "mod deputies") whose followers receive these types of communications. As an interested user, you just follow the group.

[1] github.com/mariusor/go-littr#a

@torresjrjr activitypub is only a transport protocol. As it is the situation in the fediverse, almost all services have their own interpretations of various activities/objects.

Using a Question as a way to gather consensus about a decision is not "shoving new semantics" onto existing vocab. It's using it for exactly what it was designed for.

Making a decision based on that is a meat space action or a client action, not related to the spec in any way. 1/2

@torresjrjr and finally the motivation for "why" use a democratized decision making for moderation actions is that moderation is a very ingrate part of building communities.

The people that do it have to sacrifice their time and mental health in dealing with shitty users and content. Then when they're making decisions, they have to deal with the drama of being too heavy handed, or strong enough, etc.

So I think moderation should be a distributed in a community as much as possible. 2/2

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.