After reading many Lemmy related discussions over the past days, it has become clear to me that what people expect from Lemmy / think it is, is quite different from what it actually is.

From the official documentation:

Lemmy is a selfhosted, federated social link aggregation and discussion forum. It consists of many different communities which are focused on different topics.

In other words, the Lemmy software tries to resemble Reddit and every instance that runs this software is (kind of) a Reddit clone.

Each instance is its own entire platform that is, due to federation, able to speak and pull in posts from other platforms that support the same federation protocol. Federation is often explained with the example of “imagine you could read all posts from Reddit, Facebook and Twitter on Reddit.” This is indeed true, just that in the case of Lemmy (and other Fediverse platforms) a considerable number of people have decided to run the same software for all their platforms. I.e., we now have a Reddit-A, Reddit-B, Reddit-C, Reddit-D and so on.

Lemmy is not a platform, Lemmy is an application, and people have decided to all use the same software to run their own social media platforms.

Most users, on the other hand (including me), expect a single distributed platform or system. This is also how federation is being (miss)explained by many members of the community. Users expect a network of nodes which all come together to form a single system, but at the moment we have a collection of identically looking platforms which all try to either be the same thing or something entirely different. While users are unable to tell them apart.

I believe this is either a major design flaw of Lemmy (or lack of any design) or it is precisely what the creators intended, and the software is being greatly misused.

To come closer to what many users expect from the platform, Lemmy should be split up into its structural components.

This means instead of the current instances, we would have two servers, user servers and community servers. Users would be solely responsible for providing user accounts to Lemmy users. Server admins can define registration policies as it is possible today and control who signs up to their server.

Community servers, on the other hand, would be responsible for hosting one or more communities and their sole purpose would be to distribute posts and their comments to users. These servers would still be able to define policies for how people are granted write access or who can create new communities, so there might be an application required to join a community server. Moderation would also happen on the community server according to the rules defined for the server and the individual communities.

A crucial point in this is that community servers do not federate with each other, there is no reason to. Federation mainly happens between user servers and community servers (user servers might also exchange details about their users).

This setup would truly resemble the analogy that is often cited when explaining the Fediverse, email. Email (in the context of Lemmy) consists of email providers like GMail or Hotmail, that enable their users to communicate via E-Mail, but they usually do not host the mailing lists a user might subscribe to.

Distributing Lemmy like this would greatly reduce what has to be considered when choosing a provider for a Lemmy account. User servers would solely be service providers that enable access to the platform, while community servers can provide hosting for communities as well as rules and moderation.

There is more that could be done in regard to distributing the platform, but this seems like the most obvious first step.

  • AngryClosetMonkey@feddit.deOP
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    1
    ·
    1 year ago

    The problem, though, will be that you and your users have to create communities on your server as there is no way for them to create one on let’s say lemmy.world. This makes your instance yet another general purpose reddit clone which people have to discover to join your local communities. Or your users have to create alt accounts on lemmy.world just so that they can create a community, and that doesn’t sound great either.

    Ideally, the distribution would be the opposite of what you described and lemmy.world and lemmy.ml would be user servers, while there are many smaller community servers that focus on a particular topic, like infosec, memes and jokes, Q&A, tech, politics, NSFW and so on.

    • KNova@links.dartboard.social
      link
      fedilink
      English
      arrow-up
      6
      ·
      1 year ago

      I guess I’m not seeing any benefit to just having each of those communities you described run their own Lemmy instance. There is already LemmyNSFW.com for example. And then if they want a local community for music etc. they can have it, or subscribe to (a theoretical) LemmyMusic.com. Then users can have their home base but still subscribe to other remote communities.

      If discovery is the concern, that can be solved more easily than building out a entirely new infrastructure like you are proposing.

      • AngryClosetMonkey@feddit.deOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Let’s say I create an account on LemmyMusic.com because that was the first instance that piped my interest. Later I discover a community on LemmyNSFW.com and I want to subscribe, but I can’t because LemmyMusic decided that they don’t want to federate with NSFW instances? For LemmyMusic this makes perfectly sense, but for my user it might not.

        People usually don’t create accounts because they want their data to be handled by music enthusiasts, but because they simply want access to the communities.

        Other example, my account is still on LemmyMusic.com but now I want to create a community for a thing that I came up with, it has nothing to do with music, so the only option I have is to create a different account on an other instance that is willing to host my community.