Hot Take: Lemmy communities should function similar to hashtags on Mastodon.
Rather than communities being hosted by an instance, they should function like hashtags, where each instance hosts posts to that community that originate from their instance, and users viewing the community see the aggregate of all of these. Let me explain.
Currently, communities are created and hosted on a single instance, and are moderated by moderators on that instance. This is generally fine, but it has some undesirable effects:
Multiple communities exist for the same topics on different instances, which results in fractured discussions and duplicated posts (as people cross-post the same content to each of them).
One moderation team is responsible for all content on that community, meaning that if the moderation team is biased, they can effectively stifle discussion about certain topics.
If an instance goes down, even temporarily, all of its communities go down with it.
Larger instances tend to edge out similar communities on other instances, which just results in slow consolidation into e.g. lemmy.ml and lemmy.world. This, in turn, puts more strain on their servers and can have performance impact.
I'm proposing a new way of handling this:
Rather than visiting a specific community, e.g. worldnews@lemmy.world, you could simply visit the community name, like a hashtag. This is, functionally, the same as visiting that community on your own local instance: [yourinstance]/c/worldnews
You'd see posts from all instances (that your instance is aware of), from their individual /worldnews communities, in a single feed.
If you create a new post, it would originate from your instance (which effectively would create that community on your instance, if it didn't previously exist).
Other users on other instances would, similarly, see your post in their feed for that "meta community".
Moderation is handled by each instance's version of that community separately.
An instance's moderators have full moderation rights over all posts, but those moderator actions only apply to that instance's view of the community.
If a post that was posted on lemmy.ml is deleted by a moderator on e.g. lemmy.world, a user viewing the community from lemmy.ml could still see it (unless their moderators had also deleted the post).
If a post is deleted by moderators on the instance it was created on, it is effectively deleted for everyone, regardless of instance.
This applies to all moderator actions. Banning a user from a community stops them from posting to that instance's version of the community, and stops their posts from showing up to users viewing the community through that instance.
Instances with different worldviews and posting guidelines can co-exist; moderators can curate the view that appears to users on their instance. A user who disagreed with moderator actions could view the community via a different instance instead.
Users could still visit the community through another instance, as we do now - in this case, [yourinstance]/c/worldnews@lemmy.world, for example.
In this case, you'd see lemmy.world's "view" of the community, including all of their moderator actions.
The benefit is that communities become decentralized, which is more in line with (my understanding of) the purpose of the fediverse. It stops an instance from becoming large enough to direct discussion on a topic, stops community fragmentation due to multiple versions of the community existing across multiple instances, and makes it easier for smaller communities to pop up (since discoverability is easier - you don't have to know where a community is hosted, you just need to know the community name, or be able to reasonably guess it. You don't need to know that a community for e.g. linux exists or where it is, you just need to visit [yourinstance]/c/linux and you'll see posts.
If an instance wanted to have their own personal version of a community, they could either use a different tag (e.g. world_news instead of worldnews), or, one could choose to view only local posts.
Go ahead, tear me apart and tell me why this is a terrible idea.
Your proposal seems to target the same issues as with multi-community support https://github.com/LemmyNet/lemmy/issues/818, which just got 6000€ funding from NLnet. Which seems to be a cleaner way of achieving the same goal.
Some suggested points are also against ActivityPub standard.
Your proposal seems to target the same issues as with multi-community support https://github.com/LemmyNet/lemmy/issues/818, which just got 6000€ funding from NLnet. Which seems to be a cleaner way of achieving the same goal.
That's great, maybe it's (or will at some point in the future be) a non-issue, then. (For what it's worth I did search for similar things before posting this, but apparently didn't hit on the right search terms.)
Some suggested points are also against ActivityPub standard.
I'm not familiar enough with the intricacies of ActivityPub to be able to comment on that; this is obviously not a set-in-stone implementation, and it sounds like some version of the underlying idea is possible, judging by the above.
That sounds great and all on paper but that also requires a ton of moderation overhead as now every small instance has to have enough mods to deal with everything being posted, since moderation would be local only. So all the spam and CSAM would have to be taken down by each individual instance. Would also somehow have to find a way for instances to pull the hashtags out of every federated instance too. The way it works on Mastodon is someone follows an account and that causes the data to get pulled in. On Lemmy you don't follow users, you need a way to pull the data in.
The end result would be a mess of instances not even agreeing on vote counts with vastly different comments too, and even the posts.
Lemmy doesn't aim to be an uncensorable platform. I join communities for the content, the users, and for better or for worse, the mods too.
The individual problems of having to deal with the duplicate communities will get worked on eventually.
So all the spam and CSAM would have to be taken down by each individual instance.
Or only by the instance from which they were posted. If an instance is a moderation graveyard and is generating CSAM spam, it probably just needs to be defederated from, but I agree that the necessity to rely on local moderators to cleanly remove a post is a problem with the proposal.
Would also somehow have to find a way for instances to pull the hashtags out of every federated instance too.
If each instance shared a list of communities that it hosts with each instance that is aware of it on first discovery and periodically thereafter, it would assist with this. Wouldn't need to duplicate the content, just share a list of communities that exists. (I think that lack of duplicated content would actually be an improvement over the current system where, unless I'm mistaken, content is being duplicated, but I might also have an imperfect understanding of how it functions now.)
Doesn't your suggestion mean that a user from a small instance or their own instance can make a bunch of garbage posts (or even illegal posts) and then a moderator from every single other instance will have to delete their posts separately? That's a ton of repeated work, and really opens up Lemmy to abuse.
Yep, it's a valid criticism. Theoretically the recourse in that case would be to block the instance entirely, but it'd still require multiple moderator actions (across multiple instances).
Well, under this theoretical standard, you'd only be posting to a single community; you wouldn't be literally tagging communities on your post. The hashtag comparison was more to how you view hashtags on Mastodon (e.g. you're searching for a hashtag and seeing all related posts from every instance.)
I just want to say thank you for your take. I’m not smart enough to intelligently discuss these issues, but it pleases me greatly to see great minds thinking hard about Lemmy.
I'd hardly describe this as the product of a 'great mind', but I do think it's important to discuss alternative ways of doing things. There's some good reasons voiced here for why this (as written) is impractical, and it sounds like a solution with similar goals but better implementation is in the works, so that's great to see. My favorite thing about Lemmy is that you can post something a bit out there like this and have a legitimate discussion about it; if this were Reddit, it'd have 400 downvotes and a bunch of replies telling me to kill myself, and that'd be the end of it.
Or, I think this can be, kinds of, archived by 'simple' enhancement at client side without changing today's server side implementation. At Lemmy client, user can choose to group several different communities to user defined virtual community. Like today's client, we have 'All' and 'subscribrd' 2 big groups, If the web/app client allow user define more group like 'news' 'meme' etc, and combined then in one view, then that's pretty much meet your needs? Tbh, this will be very cool feature if any client can do this, or there is already such client?
This is an interesting idea. A few potential issues come to mind:
In this system, each community needs moderators from each instance it is on. A small instance run by one person would face a challenge finding people to moderate potentially hundreds of communities.
You mention that a user who doesn't like their instance's moderation can use a different instance, but this isn't easy. There's no account migration at the moment. This is more of an issue with the lack of that functionality, since there are many other reasons people would want to switch instances.
If this was implemented, presumably it would require merging all existing communities that share names. There may be some big differences in the culture and content of these instances which could cause problems. You'll find different content in the "memes" communities on lemmy.world, slrpnk.net, and hexbear.net.
In this system, each community needs moderators from each instance it is on. A small instance run by one person would face a challenge finding people to moderate potentially hundreds of communities.
Each instance would be responsible for moderating its own posts, so a single user instance wouldn't need a moderator at all unless other instances were failing to moderate their content, but I agree, this is a hurdle, and would make it easier for bad actors to go to tiny instances and post spam.
You mention that a user who doesn’t like their instance’s moderation can use a different instance, but this isn’t easy. There’s no account migration at the moment. This is more of an issue with the lack of that functionality, since there are many other reasons people would want to switch instances.
Sorry, I might've been unclear - I simply mean that you could visit the community from your instance via that instance - e.g. [yourcommunity]/c/worldnews@lemmy.world - to see lemmy.world's "view" of the community. Your account would still exist on your own instance.
If this was implemented, presumably it would require merging all existing communities that share names.
A fair point; while it'd benefit some communities to have their content combined, it would not benefit others; this is a very valid criticism.
Moderation is handled by each instance's version of that community separately.
Reddit/Lemmy/etc communities differ from something like Tumblr/Cohost by also having per-community rules, and nobody has the time to moderate hundreds of communities according to their per-community rules.
It's relatively easy to keep an instance free of spam/overly blatant hate/etc, since that is a fairly common set of rules. But it's much harder to keep a "world news" style community being overran with US-centric posts, or a discussion community on a specific subject from being filled to the brim with memes, or posts that are only very vaguely adjacent. Without centralized per-community moderators, it would fall on general instance moderation to make decisions about whether a post about an Undertale hack fits in the Undertale community. That's probably going to go wrong more often than not.
You can have a website that is only moderated according to global rules with tags being a free-for-all, but you fundamentally end up building something along the lines of Tumblr or Cohost, which attracts a different audience, including those that know how to rules lawyer their way in such an environment; tagging 20 mediocre photos a day with #photography instead of just a good one, for example. With the end of Cohost approaching, I wouldn't be surprised if some tried to build that kinda thing, but it'd likely end up having a very different vibe.
Currently, communities are created and hosted on a single instance, and are moderated by moderators on that instance.
You can be a moderator of communities on different instances, my account here on programming.dev is a moderator of communities on other instances such as lemmy.ml
I think it was fixed in 0.18.5 yea, I guess there could be some system to trust other moderators from other instances but then it's basically the same as it is now lol, where trusting==appointing moderators, really the same thing
Okay, sure, but the underlying point is that the moderators of that community moderate all posts regardless of their origin, so biased moderators can direct the course of discussion. It's more a problem for broad topical communities with polarizing topics.