I’m seeing discussions on other instances about how a “federated” corporate instance should be handled, i.e. Meta, or really any major company.

What would kbin.social’s stance be towards federating/defederating with a Meta instance?

Or what should that stance be?

  • shepherd@kbin.socialOP
    link
    fedilink
    arrow-up
    16
    ·
    edit-2
    1 year ago

    @Biscuit Very reasonable question!

    I highly recommend this article, How to Kill a Decentralized Network (such as the Fediverse) by Ploum as a relevant factor in this discussion. Even if there’s parts you disagree with, I think that’s worth discussing too!

    To grossly oversimplify the contents of that article, I think federating in bad faith could look like:

    • Joining the ActivityPub protocol, intending to drown the initial userbase with their own so that the fediverse begins catering to the needs of the majority aka their users.
    • Introducing subtle bugs that make certain instances function suboptimally, but putting the onus on minor developers to fix it because major portions of the user base comes from them.
    • Adding features to the ActivityPub protocol that benefit all users, but forces most instances to adopt their practices.
    • Creating their own version of the protocol “ActivityPub+”. It’s initially open source and well documented, but increasingly deviates from ActivityPub, until it’s functionally closed source fully under their control. It’s also mandatory to interact their instances.
    • Defederating everyone who doesn’t fall in step, but that’s okay because 99% of content is now on MetaPub anyways. This fractures the Fediverse into confused micro shards (or compliant loyalists).
    • lml@remy.city
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      That’s a good breakdown, thanks! The bad thing is that I could see these issues happening even unintentionally, with the fact that we have a few large instances vs. many smaller ones. So far we seem to have everyone running the same code, straight from the repositories (at least functionality wise). For my own kbin instance though, I have technically changed things. I changed some code to make a custom logo appear nicely, I’ve added some padding here and there, etc. I have also thought about implementing an automatic job that clears posts tagged with ‘nsfw’ or other related things in the microblog feed.

      I might implement that, and then submit it to the kbin devs if it works well. There’s no guarantee that other admins/devs would do that as well. If they implement a feature that makes their community more popular, they would seem to have incentive to keep it private. And that’s where stuff like Meta comes in. If they implement rigorous content filtering, I doubt that would make it into the actual AP protocol. It would be the differentiating factor between using their ‘safe’ instance, vs. going rugged on an independent instance.

      They could say “we implement the ActivityPub protocol as specified” and they wouldn’t be wrong. They would just have some extras added onto the top to make their experience more polished. Easy to do when you are a for-profit and have plenty of devs. They would just argue that those are the features that make their interface different, like kbin and lemmy are different.

      The only way around it is for communities to agree that they will run the software as released, maybe with only cosmetic changes. Any improvements to functionality should be submitted to the devs so that the wider community can benefit.

      • cacheson@kbin.social
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Kbin and Lemmy are licensed under the AGPL, so instance source code changes are required to be shared with those that connect to that instance (I assume that includes peer instances as well as users). Corpos can make their own proprietary instances, but they’ll have to start from scratch and not just piggyback on top of our work.