• kevincox@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    The problem of which instance to host a community on is a big problem for Lemmy. Grouping is an interesting idea but it causes problems as now there are different mods and admins that control subsets of the community.

    Picking a single “winner” and letting the others wither seems like the right approach and will probably happen naturally but if the original instance ever shuts down or struggles under the load you will have a mess to migrate to a new instance.

    If Lemmy communities were decentralized it would make a huge difference. You could just have a single community but it could survive instances coming and going (as well as many other performance and resiliency benefits). But that would be a huge change to the underlying implementation of communities.

    • sbv@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago

      The problem of which instance to host a community on is a big problem for Lemmy.

      Seeing the same content posted six times in six communities is a problem. It pollutes the feeds, it fragments the conversation, and prevents the natural death of low-traffic communities.

      • kevincox@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Avoiding showing identical posts to a user separately seems like a very easy problem to solve.

    • sugar_in_your_tea@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      Yup, I’m actually interested in working on a truly decentralized lemmy. Basically, I want to use IPFS or Iroh to have it completely decentralized across all users’ machines.

      However, the big problem remains the same: how does moderation work? With lemmy, you can always go to the instance admin if your mods suck, but if it’s completely decentralized, you need some other mechanism. Also with lemmy, if a community starts sucking, there’s usually enough redundancy that you can just go to another major instance and find a similar community, but if it’s decentralized, I think you’ll have the Reddit problem where you’ll essentially have to get a large chunk of the community to move if there’s an issue.

      So I’m not convinced that decentralization is the right way to go, at least until the problem of moderation is resolved. Maybe I’ll try building a decentralized instance, which is largely intended to solve the issue of scaling, but I don’t think a decentralized platform would be a good replacement for lemmy.

      • lolcatnip@reddthat.com
        link
        fedilink
        English
        arrow-up
        0
        arrow-down
        1
        ·
        1 year ago

        Mod actions could be cryptographically signed using a private keys, and the public keys of the mods would be part of each community’s metadata, updated in a way that establishes a chain of custody so only existing mods can add new mods. Each instance would independently verify that mod actions come from a legitimate mod. (I think I basically just described an implementation of NTFs representing mod privileges, BTW.)

        • luciferofastora@discuss.online
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          That sounds like a blockchain with signature verification against a previously established and acknowledged set of keys as consensus mechanism. Pretty reasonable, as far as use cases go.

          However, it doesn’t solve the issue of disagreements and community splitting. If one part of the mod team decides to add another mod, but the rest doesn’t, what’s to prevent that part from splitting off and continuing their own version of the moderation chain? How is abuse of power handled? And in case of a split, how are community members informed?

          Don’t get me wrong, I’m not saying it’s a poor idea, I’m just saying that it won’t solve the issues of community splits, and I’m not sure anything ever can.

          • lolcatnip@reddthat.com
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            I wasn’t trying to solve that particular problem, on the assumption that it has already been solved and the same solution can be adapted to the implement I proposed. Someone else who replied to me suggested something like requiring majority approval to add or remove a mod.

            Another possibility is for the creator of a community to be a super mod, who can add or remove regular mods, or transfer their super mod status to someone else. That scheme could easily be generalized to allow multiple super mods, or to include a whole hierarchy of mods for large communities.

        • sugar_in_your_tea@sh.itjust.works
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          only existing mods can add new mods

          I prefer it to have multiple mods, ideally a majority. That way, you can’t have one mod “go rogue” and add a bunch of alts or whatever, which also means a mod account getting compromised can’t “go rogue.”

          I’m less concerned about mod actions like deleting posts, banning users, etc, since mod actions should always be able to be rolled back since most decentralized systems use immutable data (so a mod action is merely data that instructs clients to ignore or prefer certain other data). However, I don’t want a situation where mods become powerless because one of their accounts got compromised.

          • lolcatnip@reddthat.com
            link
            fedilink
            English
            arrow-up
            0
            arrow-down
            1
            ·
            1 year ago

            I’m not concerned here about the rules for how mods are added or removed, just the technical implementation. It’s easy enough to require a majority for decisions like that.

            There has to be a way to establish with certainty that a user taking mod actions is actually a mod. The fact that you can revert changes in a git repo doesn’t make it ok for people to commit without permission, and mod actions are the same. Just allowing unauthorized users to perform mod actions would allow them to fuck up communities faster than the real mods could undo the damage.

    • maboesanman@programming.dev
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      I think it probably makes sense to host similarly moderated content together.

      programming content being grouped together makes sense because it’s moderated to a similar extent between languages and communities.

      For example discussions/posts on rust programming and porn are moderated very differently, so they should be on different instances.

      • lolcatnip@reddthat.com
        link
        fedilink
        English
        arrow-up
        0
        arrow-down
        1
        ·
        1 year ago

        I disagree. Grouping communities makes sense if they need the same admin policy. Admin policy sets a floor on what mods are required to police when it comes to things like hate speech and threats, but mods in a programming community aren’t going to allow that shit anyway, so admin policy is irrelevant.

  • v9CYKjLeia10dZpz88iU@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    I don’t really think it’s discussed in this blog post, but maybe some effort should be placed on trying to see if rust-lang.org/community would be willing to link to a chosen instance. reddit has been partially hostile towards communities that have closed or tried to move their community. I also just think it makes sense for rust’s governance to manage a community, but, they might just want to link to one instead for now. (until if/when Mastodon and the fediverse is more successful)

    On the website for rust, they do already link to a Forum, a Discord, and a Zulip chat, so maybe they would be willing to list a fediverse community too.

    edit: I just realized the poster is Discourse Staff on rust’s forum.

    edit 2: It’s not included in the blog post, but I would really like to be able to use rust’s domain in the fediverse. ex. user@fediverse.rust-lang.org

  • SavvyWolf@pawb.social
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    Just pointing out that the pawb.social people are/were also planning on forking Lemmy for similar reasons: https://pawb.social/post/147036 . Not entirely sure how much work has gone into it, but might be worth syncing up with them. Although I’m not sure if it’s the “right” thing to do to fork just for ideological reasons, especially since the main lemmy.ml instance seems to be fairly neutral.

    I’ve been thinking about how a single “community” could exist across multiple instances, especially given that the landscape right now is that communities are basically:

    • Undiscoverable.
    • Hosted on lemmy.world, which is a problem in case something happens to it.
    • Hosted on lemmy.ml, which is a problem given that the community can be a bit trigger happy with defederation.

    Communities following others seems an elegant solution, honestly. Although, I would say that moderators should be able to remove posts of communities they follow, just in case.

    However, something stuck out to me when reading the design discussion:

    Users who post to a community that follows other communities are offered the choice of whether to post directly to the community they’re following, or to one of the communities that are followed by that community. They need not post multiple times, because posting to a more ‘upstream’ community would cause it to be seen by users of that community as well.

    Why not? The lemmy web client at least does a good job at de-duplicating crossposts, and the client used for posting could give you a bullet list of communities you want to send it to. Imagine instances a, b and c where a defederates c, but a also has the largest community for bespoke hatwear or whatever. If you (who is on none of those instances) send your post to just a (because it’s the largest), then your content will be unavailable to c. But if you post to both a and c, you reach both communities.

    Another thing that confused me while trying to wrap my head around things is this diagram, which I don’t think covers a common case:

    Image

    If a user on b makes a post 1 to the community on c… What happens?

    Option 1:

    • funny@c boosts post 1 as message 2.
    • funny@b is sent 2 and boosts post 1 as message 3.
    • user2@a can see 1 through message 3 because it is posted on b, which they federate with.

    Option 2:

    • funny@c boosts post 1 as message 2.
    • funny@b is sent 2 and boosts post 2 as message 3.
    • user2@a cannot see 2 through message 3 because 2 is on c which they do not federate with.
      • SavvyWolf@pawb.social
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Okay, maybe “undiscoverable” is kind of the wrong word. I’m thinking about users who don’t really understand how lemmy work and don’t know that these tools are available.

        During the initial “gold rush”, I noticed a lot of duplicate communities being created on lemmy.world that already existed elsewhere (e.g. !opossums@lemmy.world for !possums@possumpat.io ). These communities I guess just didn’t appear during a search on lemmy.world (since it didn’t know about it).

        Honestly, it felt like if you made a community anywhere other than lemmy.world, a lemmy.world version would appear and outcompete it unless you linked it elsewhere or it had a dedicated instance.

        Not saying that anyone did anything wrong, it’s just people being unfamiliar with the platform.