mrusme / superhighway84

USENET-inspired, uncensorable, decentralized internet discussion system running on IPFS & OrbitDB
https://xn--gckvb8fzb.com/superhighway84
GNU General Public License v3.0
694 stars 24 forks source link

Content moderation #19

Open mrusme opened 2 years ago

mrusme commented 2 years ago

As this seems to be a topic many people are interested in, here's a rough idea of how this could be implemented in future. I've detailed this on Superhighway84 already and just copypasta it here for the sake of documentation.

BBS were centralized, USENET as well (in that sense that there were moderators who could decide what goes and what not), so it was basically just a thing of having someone around to do the job. However, even these platforms struggled eventually, e.g.

https://www.techdirt.com/articles/20200918/15082545338/content-moderation-case-study-usenet-has-to-figure-out-how-to-deal-with-spam-april-1994.shtml

I believe a viable solution for Superhighway84 would be client-side filtering, maybe with the help of distributed lists that people could subscribe to if they felt like. Think of it as how e.g. uBlock Origin works in your browser.

That way users could also create their own lists and publish them for others to subscribe to. OrbitDB allows for entities to be restricted to writing from certain peers, meaning that these lists could be restricted to just a handful of people that maintain them. But each user would basically have the possibility to start their own list if they'd be dissatisfied with the filtering they get from others.

Just an idea. Basically like reddit but you can decide on your own who you want your platform moderators to be.

Feel free to discuss/suggest other approaches and ideas.

tgeek77 commented 2 years ago

Just an FYI on how Usenet moderation worked...

  1. Someone posts an article to a moderated newsgroup.
  2. An email is generated by their news server and that gets sent to the moderator for moderation. On Big-8 newsgroups, those emails addresses are kept by the ISC in a list (that may not be the case for every hierarchy).
  3. If the article is approved, the moderator injects it into a Usenet server with an approved header and if it is rejected, it either goes to /dev/null or if the moderator is nice, back to the original sender with a rejection reason.

So, Usenet moderation was and is truly decentralized. A news server admin can opt-out of almost anything including carrying certain groups and the rest of the Usenet would have no say in it. There is no top-down moderation, only agreements between peers.

I don't know all of the ins and outs of OrbitDB. I think a better first step would be to implement simple filtering a.k.a. killfiles. If someone is being a troll, you can simply ignore them. If you want to avoid messages or entire threads with certain keywords, then you should be able to do this also. This is truly the Usenet way of doing things. It puts the power of moderation in the hands of the user, but it also lays the responsibility of avoiding what they don't like in their hands also. Some people just want everything to be easy. Of course, people who only want an easy interface probably won't care about using a terminal-based platform like superhighway84 anyway :) .

mrusme commented 2 years ago

Something interesting i stumbled upon: https://github.com/SentryPeer/SentryPeer