76
Can you explain how federation works on protocol level?
(programming.dev)
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!
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
The easiest way to explain it is that the instances have no native ability to crawl other instances for communities or content. For all intents and purposes, a fresh Lemmy server is on an island and all other instances are their own island until someone builds a bridge to them.
The ability of an instance to receive content is dependent on the subscriptions users add to the database. Once the instance is aware of these other places it will begin checking them for updates and you'll see them regularly whether you interact with them or not.
This goes completely against what the average person is expecting and causes a lot of confusion.
Does that mean that an "all" view is "onl"y all of the subscriptions/places people from my server have?
That's quite interesting.
And thanks!
Note that many instances either have a bot subscribed to other communities to force federation, or use something like https://lemmy-federate.com
FWIW this approach can be helpful but is flawed in its own ways.
Firstly, since not all instances participate you still aren't getting the "complete" fediverse so to speak. This becomes less of an issue as more instances join the bot program, but it's another step that roadblocks what should be an easy and organic process.
Secondly, the bot can pose a potential security risk depending on how it's configured. If you use it to federate in both directions you're subject to malicious actors spinning up tons of new communities on instances that don't restrict user registration. This will in turn hammer the database an instance uses for EVERYTHING and eventually causes slow downs, crashes, etc. The solution to this is to only seed your communities outwardly but if everyone only does that the bot is rather useless...
I don't have a solution for any of this, I'm just pointing out some rather frustrating problems this platform has in its current state.
Well, you can always defederate if an instance starts abusing it. Not that much different to the normal flow, really.
Sure, but potentially after at least one of the instances subscribed to the bot goes down and someone realizes what's happening. It's incredibly easy to overwhelm a small server's database just by subscribing to a lot of communities the normal way. The difference here is potentially any instance federating the bot in both directions is susceptible to this.
The impact across the fediverse vs just one instance would be the main difference. Plenty of people are using that bot having no real idea of what it's doing.
That's just a part of the learning process, IMO. My instance crashed many times, I've fixed it every time and now it's better than before. And I don't think I've had my last fuck up with the instance.
And that's fine for you, I'm not knocking the experimenting and learning process. That was the whole reason I spun up an instance myself.
What I'm saying is that to the other users that would be impacted by these things, it sucks. People are patient to a point but the fediverse has a lot of odd quirks that make it more difficult than it should be to use for a lot of people. Things have gotten better in the last year or so but it still feels like we're asking people to know more than they should have to just to figure out that Lemmy isn't empty. Many people will get frustrated and leave long before they start making excuses for a site they don't know anything about.
It's easy to sit around proclaiming that reddit sucks but the fact of the matter is that it's easy to use and everything they have to offer is covered under one domain. Again, I don't have the solution to these things for Lemmy, but we can't deny that this platform is harder to use than most and a lot of people aren't going to handle that well.