ou might have seen that we’ve been defederated from beehaw.org. I think there’s some necessary context to understand what this means to the users on this instance.
How federation works
The way federation works is that the community on beehaw.org is an organization of posts, and you’re subscribed to it despite your account being on lemmy.world. Now someone posts on that community (created on beehaw.org), on which server is that post hosted?
It’s hosted on both! It’s hosted on any instance that has a subscriber. It’s also hosted on lemmy.ml, lemmygrad.ml, etc. Every instance that has a subscriber is going to have a copy of this post. That’s why if you host your own instance, you’ll often get a ton of text data just in your own server.
And the copies all stay in sync with each other using ActivityPub. So you’re reading the post that’s host on lemmy.world, and someone with an account on beehaw.org is reading the same post on beehaw.org, and the posts are kept in sync via ActivityPub. Whenever someone posts to that community or comments on a post, that data is shared to all the versions across the fediverse, and these versions are kept in sync. So up until 5 hours ago, they were the same post!
“True”-ness
A key concept that will matter in the next section is the idea of a “true” version. Effectively, one version of these posts is the “true” version, that every other community reflects. The “true” version is the one hosted on the instance that hosts the community. So the “true” version of a beehaw.org community post is the one actually hosted on beehaw.org. We have a copy, but ours is only a copy. If you post to our copy, it updates the “true” version on beehaw.org, and then all the other instances look to the “true” version on beehaw to update themselves.
The same goes for communities hosted on lemmy.world or lemmy.ml. Defederation affects how information is shared between instances. If you keep track of where the “true” version is hosted, it becomes a lot easier to understand what is going on.
How defederation works
Now take that example post from earlier, the one on beehaw.org. The “true” version of the post is on beehaw.org but the post is still hosted on both instances (again, it has a copy hosted on all instances). Let’s say someone with an account on beehaw.org comments on that post. That comment is going to be sent to every version of that post via ActivityPub, as the “true” version has been updated. That is, every version EXCEPT lemmy.world and sh.itjust.works. So users on lemmy.world and sh.itjust.works won’t get that comment, because we’ve been defederated from beehaw.org. If we write a comment, it will only be visible from accounts on lemmy.world, because we posted to a copy, but our copy is now out of sync with the “true” version. So we can appear to interact with the post, but those interactions are ONLY visible by other lemmy.world accounts, since our comments aren’t send to other versions. As the “true” version is hosted on beehaw, and we no longer get beehaw updates due to defederation, we will not see comments from ANY other community on those posts (including from other defederated instances like sh.itjust.works).
The same goes for posting to beehaw communities. We can still do that. However, the “true” version of those communities are the ones on beehaw, so our posts will not be shared to other instances via ActivityPub. And all of this is true for Beehaw users with our communities. Beehaw users can continue to see and interact with Lemmy.world communities, but those interactions are only visible to other Beehaw users, since the “true” versions of the Lemmy.world communities (the ones sent to/synced with every other instance) is the Lemmy.world one.
Communities on other instances, for example lemmy.ml, are unaffected by this. Lemmy.world and beehaw.org users will still be able to interact with those communities, but posts/comments from lemmy.world users won’t be visible to beehaw.org users, as defederation prevents our posts/comments from being sent to the version of these posts hosted on beehaw.org. However, as the “true” version is the one on the third instance, we can still see everything from beehaw.org users. So we see a more filled in version than the beehaw users.
Why can I still see posts/comments from beehaw users?
Until they defederated us, posts/comments were being sent to lemmy.world, so we can see everything from before defederation. After defederation, we are no longer receiving or sending updates. So there are now multiple versions of those posts.
Why can I still interact with beehaw communities?
This won’t ever stop. You’ll notice that all posts after defederation are only from lemmy.world users. You won’t see posts/comments from ANY other instance (including instances that ) on beehaw.org communities.
Those communities will quickly suck for us, as we’re only talking to other lemmy.world users. Your posts/comments are not being sent to any other lemmy. I highly recommend just unsubscribing from those communities, since they’re pretty pointless for us to be in right now.
Why do I still see comments from beehaw users on lemmy.world communities?
Again, comments from before defederation were still sent to us. After defederation, it will no longer be possible for beehaw users to interact with the “true” version of lemmy.world communities. Their posts/comments are not being sent to any other lemmy. They also aren’t getting updates from any other lemmy, as the “true” version of those communities is on our instance.
Why do I see posts/comments from beehaw users on communities outside lemmy.world and beehaw.org?
That’s because the “true” version of those posts is outside beehaw. So we get updates from those posts. And lemmy.world didn’t defederate beehaw, so posts/comments from beehaw users can still come to versions hosted on lemmy.world.
The reverse is not true. Because beehaw defederate lemmy.world, any post/comment from a lemmy.world users will NOT be sent to the beehaw version of the post.
This seems like it’s worse for beehaw users than for us?
Yes. In my opinion, this is an extraordinarily dumb act by the beehaw instance owners. It’s worse for beehaw users than for us, and will likely result in many beehaw users leaving that instance. They said in their post that this is a nuke, but I don’t think they fully assessed the blast area. Based on their post, I don’t think they fully understand what defederation does.
I came up with a list of examples to explain this, but I can’t see to add them to the post. I’m having a really hard time posting today. So here they are in a comment. I think this helps show exactly what’s going on.
Examples
If this still doesn’t make sense, then try the following examples. I hope being able to see defederation in action makes this a little more clear.
Beehaw Communities
We’re going to use gaming@beehaw.org as an example of what happens to beehaw communities
Here are three links:
The first link is the beehaw gaming community as hosted on beehaw. All of these are sorted by new, because it makes it very obvious when defederation went into effect. You can see that there are several new posts.
The second link is the beehaw gaming community as hosted on lemmy.world. You can see that all the posts before defederation (5 hours ago at time of writing) are the same as the beehaw one. But now, none of new posts are visible. We no longer get updates from the “true” version on beehaw. There are some new posts there, but all are posted by lemmy.world users. And the posts from lemmy.world users are not visible on beehaw.
The final link is to the beehaw gaming community as hosted on lemmy.ml. This is identical to the beehaw.org community, as the “true” version is on beehaw.org, the one that gets updated on other communities is the “true” version.
Lemmy.world communities
We’ll use the lemmyworld base community as an example:
https://beehaw.org/c/lemmyworld@lemmy.world/data_type/Post/sort/New/page/1
https://lemmy.world/c/lemmyworld/data_type/Post/sort/New/page/1
https://lemmy.ml/c/lemmyworld@lemmy.world/data_type/Post/sort/New/page/1
The first post is the version of this community as hosted on beehaw.org. You can see from 5 hours ago, there are no more posts. That’s because they no longer receive the “true” version of this community. Someone on there could still post, but then it would only be visible to other people on beehaw.org.
The second shows it as hosted on lemmy.world. We can see all the posts. The last link shows it as hosted on lemmy.ml, and we can see it’s the same as the lemmy.world version. The “true” version is on lemmy.world, so lemmy.ml keeps up with the updated version.
Third instance communities
Finally, we have the example of communities that are on instances that have not been defederated by beehaw.org.
https://beehaw.org/c/asklemmy@lemmy.ml/data_type/Post/sort/New/page/1
https://lemmy.world/c/asklemmy@lemmy.ml/data_type/Post/sort/New/page/1
https://lemmy.ml/c/asklemmy/data_type/Post/sort/New/page/1
We can see all three of these versions look pretty similar. That’s because for the most part they are. We are identical with lemmy.ml, as lemmy.ml hosts the “true” version, and we get all updates from the “true” version. Beehaw.org will not get posts/comments from us, so beehaw actually doesn’t have the most “true” version of this community.
Comment example
I found this one really entertaining:
https://beehaw.org/post/568532?scrollToComments=true
https://lemmy.world/post/148178?scrollToComments=true
https://lemmy.ml/post/1267202
This is the same post hosted on three different instances. Since the community is on lemmy.ml, the “true” version of this post is the lemmy.ml one.
It was posted by a beehaw.org user AFTER defederation, but it’s still visible to lemmy.world users, since the community it was posted to is lemmy.ml, not beehaw.org. We can comment on it, and those comments are sent to the “true” version on lemmy.ml (and then shared to the wider fediverse). However, comments from lemmy.world are NOT sent to the version of this post on beehaw.org.
When I found this example, there were only two comments on this post, both from lemmy.world users. So the poster did not get an initial response because of defederation.
All I needed to know form this is that I can block and unsubscribe from all beehaw communities and look for new ones hosted on other instances. If I ever want to see beehaw stuff I will create an account there. For now, I am happy I am part of lemmy.world as I am not a fan of heavy moderation. As long as there is a way of downvoting, I have absolut trust in the community to regulate itself.
In fact, this is a big problem for me in beehaw. They took away the power for the community to self-regulate by removing downvoting and instead want a centrally moderated and controlled “safe space”. Which is fine for some I guess but definitely not for me. If I see trolls, bigots, etc. I just downvote and move on. Some people get affected way more about it than others I guess.
This makes it super confusing as to whether or not someone will actually be able to interact with your post/comment. You’d have to constantly check the user you are replying to is not @beehaw.org
Perhaps lemmy.world should defederate from beehaw.org? That would solve this UX problem?
We really shouldn’t. That wouldn’t actually solve any issues. It just means that the versions of posts we’re looking at on other instances aren’t “true”.
Beehaw is defederating incorrectly. The best thing to do is to abandon them (considering the size of lemmy.world, that’s what’s likely to happen). It should not be common practice to retaliate with more defederation.
Just think how fun it will be with people telling you to “read the thread” when you can even see it and dont know it exists.
**Thank you **for the excellent and detailed explanation in both post and this comment! This helped me so much to better understand how lemmy works and what the implications can be. It is especially useful and interesting to see it demonstrated on a current example, although that’s a sad circumstance.
I have only one last question. What happens if they ever decide to re-federate? How will these desynced threads merge? Will votes merge? Will users know content is merged or will that be another cause for confusion?
Post saved, great resource. :)