You can’t minimize dependence from outside servers if you want a million servers with 5 people on each. Unless you are exclusively interested in the content those 4 other people post in your server.
Your subscription to a community from an outside server will always depend on the outside server providing the content from that community. And you have to also depend on your chosen server having connection with that outside server.
Personally, I feel like it makes more sense to just have each instance be its own server without hosting the other instances content and instead have the user identity/account able to access every single server that speaks the same protocol (something like OpenID to have a common user account across services). Then use standards so a common UI can be used client-side or for any particular server-to-server communication (much like how blogs can do backtracking between blog posts from different blogs and so, without them really having to federate). It would be more efficient while having the same end result but with a more free and open ecosystem, like the blogosphere used to be before it was shadowed by twitter & facebook.
To me, federation between private servers the way mastodon does it only makes sense for private communication like XMPP or Matrix… but the minute you are publicly posting content in the internet it makes no sense to have servers mirror the content from others just so people can access that content from one server in the next… if redundancy was the point then it would make more sense a P2P model, if a common UI/account was the point then separating those as independent servers would make more sense. The current structure binds each user account to one instance, the content being public forces the instances to list which other instances they allow, and this makes it so you might end up having to create multiple accounts in different servers if you wanted to access instances that do not want to federate, and at that point it’s not much different from centralized services. It restricts what instances the user can access (based on which instance they are registered with) and places extra responsibility and bandwidth/storage requirements on the instances themselves.
There’s ongoing work to encrypt much of the metadata. https://github.com/matrix-org/matrix-doc/pull/3414
Yes this is needed for room persistence across multiple servers, but IMHO that is a solution looking for a problem and also a highly over-engineered one.
Without this solution the transition to p2p would be much more complicated, would it not?
GNU/Linux is about Freedom. Among them is the freedom to choose what runs in your computer and how. So in that sense, it is about choice.
That’s preciselly what allows anyone to change anything. If anything, it’s the ones that fight against that freedom the ones with the controlling OCD.
Choice is what drives innovation and change. If people aren’t allowed to choose and can’t experiment with alternatives then they’ll always have to use the same thing, no competition, no change.
I do agree that no software should try to “ship everything”. But that has nothing to do with giving choice. The UNIX philosophy is a good example of the freedom that can come from simplicity, you don’t need a program to do it all for it to empower user choice. In fact, often the small tools that do just one thing but do it well are the ones that offer the most flexibility in the way people can integrate them in very different workflows.
Note that allowing the user to choose by themselves what they run/do is not the same thing as demanding that devs implement/give the user anything.
I’m sure I’d agree with the underlying context, but I think it picked the wrong message. Choice is good and Free Software is about choice.
The development pace is very slow, and it’s true it’s a very low priority project for the FSF, but it’s not completelly dead yet. Last commit was ~28 hours ago. https://git.savannah.gnu.org/cgit/hurd/hurd.git/log/