this post was submitted on 08 Sep 2024
99 points (94.6% liked)

Fediverse

28396 readers
124 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to !moderators@lemmy.world!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy

founded 1 year ago
MODERATORS
 

Trying to figure this out as in the recent threads a few people said that Bluesky was federated, but it didn't seem to actually be the case.

https://bsky.social/about/blog/02-22-2024-open-social-web in February announced that Bluesky would allow federated servers

The Bluesky documentation on the topic isn't very clear. They mention Bluesky.social a lot, as if it's supposed to be the one central server other PDS need to federate with:

Bluesky runs many PDSs. Each PDS runs as a completely separate service in the network with its own identity. They federate with the rest of the network in the exact same manner that a non-Bluesky PDS would. These PDSs have hostnames such as morel.us-east.host.bsky.network.

However, the user-facing concept for Bluesky's "PDS Service" is simply bsky.social. This is reflected in the provided subdomain that users on a Bluesky PDS have access to (i.e. their default handle suffix), as well as the hostname that they may provide at login in order to route their login request to the correct service. A user should not be expected to understand or remember the specific host that their account is on.

To enable this, we introduced a PDS Entryway service. This service is used to orchestrate account management across Bluesky PDSs and to provide an interface for interacting with bsky.social accounts.

https://docs.bsky.app/docs/advanced-guides/entryway#account-management

Self-hosting a Bluesky PDS means running your own Personal Data Server that is capable of federating with the wider Bluesky social network.

https://github.com/bluesky-social/pds?tab=readme-ov-file#what-is-the-current-status-of-federation

The custom domain name is still something else, and does not seem to require a PDS: https://bsky.social/about/blog/4-28-2023-domain-handle-tutorial

So, to come back to the title question, do people know of an example of PDS that can be used to access Bluesky without being on the main server?

you are viewing a single comment's thread
view the rest of the comments
[โ€“] flamingos@feddit.uk 10 points 2 months ago (1 children)

Their app is open source, but it doesn't give any instructions on how to self-host it, in fact it seems to not have been designed with self-hosting in mind given the forking section of the ReadMe:

You have our blessing ๐Ÿช„โœจ to fork this application! However, it's very important to be clear to users when you're giving them a fork.

Please be sure to:

  • Change all branding in the repository and UI to clearly differentiate from Bluesky.
  • Change any support links (feedback, email, terms of service, etc) to your own systems.
  • Replace any analytics or error-collection systems with your own so we don't get super confused.

The impression I get from Bluesky is that it doesn't view federation as a core feature of its platform, just a nice technical oddity. I'm no expert on the AT protocol, but from a quick skim of the quickstart, their view of federation seems to be having disparate data repositories (Personal Data Servers) app developers can put their app data into. It doesn't really seems to be about different software communicating with each other.

In contrast, ActivityPub is about passing JSON between servers in a somewhat standard format so different software can reasonably understand what that JSON represents and act on it in a way that makes sense for that software.

(But again, I'm don't know anything about the AT protocol, I could be completely wrong here)

Thanks for chiming in. Thats very insightful. It still seems like bsky is claiming to be something that its not.