• sigh

    No. There are better alternatives. Even if it becomes federated, Bluesky will always remain controlled by one company. They’ll always by the biggest server and the defacto authority. Their decisions about the API will be executed by fiat. This is the way with standards that don’t start open, and it’s a constant threat even to the ones that do.

    Cases in point:

    1. ActivityPub and Mastodon. While highly federated with hundreds (thousands?) of open servers, Mastodon is still the 800lb gorilla and has huge influence on the protocol. AP wraps itself around and accommodates Mastodon.
    2. Subsonic. There’s OpenSubsonic, a project to better document and inform a server-independent process around the API; and yet, there are a lot of problems and ill-defined behaviors in the API, and when these come up the knee-jerk reaction is “well, this is how Subsonic does it, so even if it’s wrong or broken, that’s how it has to be.”
    3. Matrix. The reference platform is synapse, and where the API or server behaviors are not clearly defined, it always comes down to how synapse implements things. Matrix will often be extended first by implementation in synapse and then firm establishment in the API definition. This is why you see a lot of attempts to build Matrix servers, and why most lag or founder: because implementation details are worked out in synapse and third parties can’t rely on the API details being reliable, which is always long after it’s already been implemented and deployed in synapse.

    BlueSky will be similar to Matrix: the people with the most influence over the spec will be BlueSky; and they’ll have new features first, be the biggest instance, and if they don’t want a party to play in the game, they’ll have the ability to lock them out merely by the sheer power of defederating and shunting the offender into a small corner of the FediVerse.

    • TheAgeOfSuperboredom@lemmy.ca
      link
      fedilink
      arrow-up
      3
      ·
      1 day ago

      What do you think are the better alternatives? I’m interested in the work others may be doing in federated protocols.

      Also remember that protocols need some sort of authority to standardize, and having a reference implementation is extremely helpful.

      XMPP ran into issues with too many non-standard extensions leading to feature fragmentation. I remember it being a source of confusion and part of what allowed Google to do the whole embrace, extend, extinguish dance.

      Having a company back a protocol is a concern, but not necessarily bad. If the protocol is open anyone is free to fork, just like anyone is free to come up with their own protocol. Getting people to use the protocol is a different challenge as well.

      I guess what I’m saying is that you’re right that there are some problems in this space, but as they say, don’t let perfect be the enemy of good. Mastodon, Matrix, Lemmy, and Bluesky have all taken is a step in the direction of open federation and have started to introduce that concept to more people. They’re not perfect, but a step in the right direction and way better than the closed centralized systems they loom to replace. There’s still a lot to discover in this space, but in the mean time I see no issue in using any of these things for now.

      • What do you think are the better alternatives?

        ActivityPub. The thing most of the fediverse runs on. Yes, Mastodon has a lot of influence, but there are a lot of other servers that also speak AP, and I don’t doubt that the fediverse is big enough to survive even if Mastodon were to go belly-up. Even Lemmy federates with AP, although not particularly well.

        The main issue – IMHO, I’m not particularly active in the federation protocol space – AP faces a number of technical challenges which it seems to be negotiating, if slowly. The biggest is figuring out how models overlap and how to make them work well for users. For instance:

        • Lemmy is like Reddit: users join, and follow, communities. There’s no mechanism in the original Lemmy model for users to follow other users. The communication is long-form; the model is a sort of hierarchical tree: Server, Community, Post, Comment, Comment*. There’s saving, voting, reposting, and a variety of post types. Comments are conversation-style, and are often presented in tree form.
        • Mastodon is like Twitter. Users follow users. There are no communities; the closest thing it has is tags. There are posts, and only posts, and (originally) they were restricted to short-form; even now, some servers enforce the original character limit. There are no replies; only posts that optionally reference other posts – while this may seem like an arbitrary distinction, it isn’t: as a user following another user, you may get an alert, and can see, their reply to another person’s post without having any relationship to the original poster or the original post to which they’re replying. There are boosts, which are sort of like reposting, only again without a target community (because there are no communities). There’s favoriting, which is sort of like voting, except there’s no concept of downvotes. There are multiple post types, but really Mastodon is text posts and hyperlinks, and clients expand hyperlinks.

        And then there are a dozen other types of servers: Pixelfed, Friendica, Misskey, and so on. They’re all more or less variations on the Reddit or Twitter model – they tend to be either user-focused, or community-focused. How well a given client works with a server often depends on which model it follows.

        However, they all speak ActivityPub, and so can federate with each other. The friction at this point in history is how well they federate: how well the content is presented, and how well it translates.

        From a non-technical perspective, ActivityPub suffers from onboarding. It’s relatively hard for new users to jump in. With Twitter, Reddit, and BlueSky, there’s no issue: you have exactly one choice of client, connecting to exactly one server, and anyone you want to follow is also in exactly one place: your server. Joining BlueSky is: download the app, pick an unused user name, get shown a bunch of celebrity names, follow some, and you’re off. With AP users are immediately faced with a bunch of questions they have no background information to help them decide:

        1. Which client should I use?
        2. Which server should I create an account on?
        3. How do I find people to follow (if coming from Twitter), or how do I find communities (if coming from Reddit)

        The last question is especially challenging because if you search for “linux” communities, you’ll find a dozen on them, each on different servers. Are they all different communities? Why are there a bunch of identically named communities? How does federation play into this – if I join one and post, does it show up in all the others? I suspect that, unless you’re fairly deep into the protocols, you probably have an incomplete understanding of how federation is working, so questions like the last one only get more confusing the longer you use the Fediverse.

        This is the cost of freedom and federation; it’s the same challenge Linux poses for non-technical people: which Linux do I choose? Only, Linux in the 2020’s has more clear answers and some emerging consensus; I think many people, when asked by a person looking to migrate, will suggest Linux Mint. Not because they necessarily think it’s the best Linux (I wouldn’t run it), but it’s a clear leader in “Linux for beginners.”

        ActivityPub doesn’t have a “Linux Mint” answer, and that’s because there’s still a lot of “it depends” questions you have to answer first. For someone coming from Twitter, you might just recommend joining Mastodon; but for someone coming from Reddit? Where do you send them? If they ask in a forum, they’ll get 5 different recommendations for the best mobile app, and they’ll get no clear suggestion about which instance to join.

        Regardless, coming back to your first question: ActivityPub. AP is better than BlueSky. BlueSky offers nothing better than AP except monopoly – and my 4 previous paragraphs essentially boil down to “when a monopoly is better for users” – the answer being: exactly once, and that one time is when they first join. But it’s a very important “once”, and one that the Fediverse really needs an answer for.