Genuine inquiry . Maybe I am not experienced enough with the various federated platforms but I am an avid user of matrix, and have dabbled in lemmy. From what I have seen is federation is on the path to decentralization but not fully there. It creates fiefdom, little kingdoms . Great yes you may find one that suites you better, but users now can end up isolated to their island, switch island sure but now you are isolated for the previous island and maybe others. Its stupid. On matrix you need to know the other island(server) to even find its rooms(communities). Some rooms block users from one server while others block users of other servers. You either have to run multiple accounts or accept the limits. Add in you are at the mercy of your home server, you can lose your account have it immitated, and more. The performance is horrible not sure why, but content is slow to update and spread. Matrix has the problem because of its design most people are on the matrix.org server and so the point of federation is largely lost. They are moving to p2p where it seems the solutions for federation now dont apply.
Anyway why is federation not stupid? Are these problems only with Matrix? Cause I look at lemmy and it seems far worse.
The server needs to be online to receive activities from remote instances, so it should stay online (they will retry sending a few times). The solution is to cache things on the client when it is online. That would actually be pretty simple to implement, because each post, user etc has a specific id. Then you also need to cache anything that your client sends, and transfer it to the server once its available.
Honestly this solution is better than p2p, as long as your are using the internet and not something like bluetooth.
Sure, but then you need a heavier client. And at that point, why do you even need federation between servers? Just have the client do the work, connect the client to multiple servers instead of having the traffic go server-to-server in federation.
Imho, this defeats the point of federating.
Another advantage of hosting your own instance (even without hosting any community) is that then you are the one in control of your identity (same reason why someone might want to host their own email servers). Ideally I should be able to participate in a third party instance without being worried of my entire identity disappearing if that instance disappears, or if the owner of the instance doesn’t like me and wants me removed from his server. I’d much rather just be banned from communication with that instance rather than lose my entire identity in the whole federated network.
Even the OpenId example I gave that is not using federation is more flexible in this regard. There you really can own your identity and participate in multiple communities without being “owned” by them.
If that flexibility is taken away, then it’s not very different from not having a federation at all. In Mastodon at least the federation makes sense for threads of toots that are truly cross-server (as in, none of the servers actually owns the entire conversation, or has admin privileges over the other). But in the case of a reddit-like post where communities are owned by a particular instance, I expect the server hosting the OP has authority over what comments are done in that post, or what posts are done in that community. So in the end the control of the conversation is centralized, even if the messages come from other servers. At that point they might as well come directly from the clients.
You really underestimate how hard it would be to write something like Lemmy as true p2p. You can already connect to multiple servers from Lemmur. And of course you can host your own instance for use with any client, if you are worried about an instance disappearing.
In Lemmy federation actually makes a lot of difference, for example your instance may not show posts or comments in a remote community if the author’s instance is blocked. Votes are also not counted from blocked instances.
But that’s using separate identities, right?
I wasn’t comparing it to p2p. And I agree p2p is hard. What I was talking about is using something similar to OpenID to abstract the authentication and share an identity across servers. Then each server can have whatever forms of moderation they prefer. The servers would use standardized APIs for the client and identity server, so users can use any compatible client and any compatible identity provider (OpenID style).
Sorry, I still had another comment by @lemm1ings in mind and didnt notice that you’re a different user.
The main point of federation is that you dont need multiple accounts on different instances. Instead you can communicate with people on different instances from a single account. I am not familiar with openid, but if someone else wants to implement that in lemmy, we would probably accept it.
good idea nutomic!