this post was submitted on 21 Jun 2023
109 points (95.8% liked)
Lemmy.ca's Main Community
2820 readers
1 users here now
Welcome to lemmy.ca's c/main!
Since everyone on lemmy.ca gets subscribed here, this is the place to chat about the goings on at lemmy.ca, support-type items, suggestions, etc.
Announcements can be found at https://lemmy.ca/c/meta
For support related to this instance, use https://lemmy.ca/c/lemmy_ca_support
founded 4 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I feel like people are missing the question that is really being asked here.
The way I read the question is "How are the individual federated servers able to interact?"
I mean, there has to be some sort of system somewhere that helps the servers connect to each other. How does Lemmy.ca know that Lemmy.world exists? There must be some sort of authority that knows. There must be some sort of first step when a new instance appears that lets everyone know that the new server exists.
Unless it's like routers and routing tables but that only works because of the physical structure allowing it, a federated server isn't going to reach out to its nearest neighbor and see another federated server. When you start a new server, do you have to like... pick an existing federated server to... like... knock on the door of? Give them a pie and tell them that you're in the neighborhood now?
I don't know the answer to this question... But I like the pie idea.
Your knock on the door analogy is exactly right--when I started my instance, I had to search every community that I wanted to see directly by URL. Then my server would send a message to that community's server saying that I subscribed to that community. Now, every time a post is made at that community, it's server sends my server an update. If I post a comment to a community on lemmy.ca (like I am now), from my kbin instance (remy.city), and you are reading it from kbin.social, that means my server first saved my comment locally, then sent it to lemmy.ca, and lemmy.ca sent it to your kbin.social because you subscribed to the community. So in that case, lemmy.ca is the 'authority', and is responsible for sending updates out to subscribed parties.
There is no such thing for instances--each new instance has to manually make a connection to another (i.e. a user on the new instance must subscribe to something from another instance). I think the tools like fediverse.observer are reading comments or other activity from popular instances, and are then compiling a list of the instances they find by doing that. But there is no central server/authority that makes communication between instances possible. Each instance has to talk to each other instance for it to happen. It's a bit inefficient but is necessary for decentralized communication.
There literally isn't. New servers do not automatically federate with each other. Someone on the new server needs to manually start following users or groups on existing servers just to to establish any kind of connection. And even then, people on the existing server won't know that any users or groups exist on the new one.
It takes conscious effort by users to create connections and start content flowing between fediverse websites. There's no central authority of any kind. If someone doesn't make those connections, a fediverse website is functionally a stand-alone social media website.
Yes, it's literally just like that. You have to announce to the fediverse you're open to federate with them and then they have the ability to defederate whenever they want.
The way I've seen this work previously on fedi is that people post "hey I made a new server, please boost for reach". That effectively announces the existence of the server to the network. It can be difficult to get noticed at first, if you are a single-user instance without many followers.
Think of it like email vs a website. Microsoft.com isn't connected to Yahoo.com, but they store email originating from both places. The difference here is those emails are email lists (posts and comments from subscribed communities) and get sent automatically once they learn each other exist (because a user asked to get an email).