What is actually missing from AT Proto to be usable in the way Doctorow describes? He writes:
Bluesky lacks the one federated feature that is absolutely necessary for me to trust it: the ability to leave Bluesky and go to another host and continue to talk to the people I’ve entered into community with there. While there are many independently maintained servers that provide services to Bluesky and its users, there is only one Bluesky server. A federation of multiple servers, each a peer to the other, has been on Bluesky’s roadmap for as long as I’ve been following it, but they haven’t (yet) delivered it.
But according to the source code repo, federation features are fully available, including independent servers. There’s even a guide for setting up an independent server: https://atproto.com/guides/self-hosting
Edit: looks like I’m probably not missing anything, and the protocol is fully capable of what Doctorow wants, it just doesn’t have any other large instances yet: https://social.coop/@bnewbold/113420983888441504
Edit 2: I found a post that seems much more honest and informative about the actual limitations of AT Proto. In particular:
Relays cannot talk to Relays. If Bluesky Social, PBC decided to show ads (or do something else you don’t like), it would be very hard for you to switch to a different Relay and still be able to interact with all the other folks who stayed at the Bluesky Social, PBC Relay.
Edit 3: the “more honest” post above actually appears to be misleading as well: https://bsky.app/profile/shreyanjain.net/post/3lbndy6pknc2k
…how is it Bluesky’s responsibility to set up an independent server? If they’re the ones that set up the server, how can it be independent?
Doctorow’s complaint only makes sense as a critique of Bluesky itself if he’s talking about the technical aspects of AT Proto. If what he really means is just “nobody has bothered to actually deploy and maintain a fully separate relay instance”, that’s not a problem with Bluesky, it’s an ecosystem issue that he could help by encouraging people to do that work, rather than discouraging them from learning about the platform.
I honestly don’t have much stake in this fight, I’m just frustrated that, as far as I can tell, Doctorow, an intelligent person with a nontrivial following, appears to be spreading misinformation about what is or isn’t possible with Bluesky.
I’ve read over the documentation a few times and maybe I’ve missed it somewhere else but I’m not aware of any option to host a relay yet. As far as I know only self hosting PDS’s are an option now (which only handle your own data and authentication but still relies on a relay to serve you content from the rest of the network) and app views (which are the front ends that sort and show content)
So in a sense bluesky is distributed and portable within the ATProto network, but still centralized until other entities can host relays and interopt (or opt out of interoperability) within the network.
Here’s a post on how to set up a relay: https://whtwnd.com/bnewbold.net/entries/Notes on Running a Full-Network atproto Relay (July 2024)