The overhead of duplicated data across the network. Not reposts on different instances, but the software itself on those different instances needing to cache/store this one single post for their users locally
Don’t large services have many duplicates/caches spread across the globe to balance load and reduce latency? Couldn’t this be seen as a positive? It could also be seen as a redundancy layer.
Yes. It's very common to cache content closer to the user, otherwise the site would be slow. Some services like Netflix and Facebook even provide custom caching servers to internet providers to install in their data centers. These are called Netflix Open Connect and Facebook Network Appliance respectively. They significantly reduces costs for the ISP, as Netflix and Facebook are generally two of the heaviest users of bandwidth on an ISP's network, and traffic entirely within their own network is effectively "free" for them.
This is a good part of federation IMO - if users join an instance physically close to them, their experience is going to be nice and fast, since everything is cached on their instance. It's also pretty easy to spin up a new Lemmy instance in your country if one doesn't exist yet.
Until there's some kind of organizing central committee of servers that could mutually defederate problematic instances, every server is forced to play whack-a-mole to deal with fascists and pedophiles and the like. Every server can not be an island onto themselves, they should be in communication with each other and then collectively decide on the rules of the federation.
I forsee in the future federation boards, like servers that work together to vote on good/bad actors/instances and from those other instances could subscribe to their moderation. Still open moderation, you can still set up an instance that doesn't adhere to group A or group B's mod lists, but for the vast majority of people you could have a good experience.
For example, dunno how many saw but had to remove an anti-LGTBQ post in a LGTBQ community today. I'm sure I'm not the only mod who removed that from their instance today, it'd be great if there was a way other instance admins could share that and "team up" with moderation.
What if instances could "subscribe" to the list of defederated instances of each other?
So for example. Let's say that Alice and Bob have their own instances, alice.ml and bob.ml. Bob trusts Alice, so he sets up the following rule in bob.ml: "if alice.ml defederates an instance, then bob.ml defederates it too."
Then Charlie starts charlie.ml. It's a bad instance. Alice manually defederates alice.ml from charlie.ml. Bob won't need to do anything - bob.ml would do it automatically.
I feel like this idea would address the issue of playing whack-a-mole, since admins of multiple servers can split the busywork if they so desire, and only with whomever they desire. And there's no risk of a central control going rogue, since there's no central control on first place.
It could be even further refined with more complex rules on when to automatically defederate other instances. Such as taking into account if the other instance did it manually or automatically, or how many among X instances defederated it.
What you eventually get is a single global list that the majority of instances use, at which point every new instance must immediately agree to adopt the list lest they themselves are also immediately defederated.
From what I understand, there are already instances who operate this way.
I see that as a pro and a con. If one narcissist manages to get to a position of authority, they can’t derail the whole network. That also means that people can form their own echo chamber islands of like-minded instances. There could be the main island of random interests and then a separate extremist island of all the instances that got defederated from all the big instances. Not an ideal solution, but it’s still better than a fully centralized Reddit.
It's interesting to see the mirror between Fediverse philosophies, and the history of international relations. For every person who believes every physical country should be an autonomous island unto themselves, you'll find someone else who believes every country should be policed by the standards of another country or group of countries.
The fact that we can have this debate on the internet is interesting...but I also find it interesting that the internet was already federated to begin with. And we all see how that turned out. The Fediverse is just an internet within the internet.
Scalability. Most federated Lemmy instances are hobbiest run projects started by every day joes and privacy advocating sysadmins. These instances can handle a modest amount of activity. Lemmy.world is slowing to a crawl and barely working due to being overloaded. At the scale of tens of thousands of active users you NEED proper infrastructure and a dedicated team. These are not things that come easy when the instance generates no revenue besides meager donations. Lemmy.world is looking for on call system operators willing to contribute 5-10 hours per week. Good help is rarely cheap let alone free.
I posted this in response to the DDOS attacks a few weeks ago. Same idea.
"...
This is a shame. Hosting a high visibility server is no joke, and I don't envy the admins and the very difficult work they do. It's simultaneously an argument for and against decentralization. For - a single instance can get knocked out without talking out the whole fediverse. Against - it seems as though high visibility communities are potentially fairly easy to target and take down.
I think that decentralization wins out here in the end, but it does feel like there may be a need for some sort of fallback mechanism to be in place at an instance/community level. I suspect this might evolve somehow over time. It would require some way to expand trust between instances and or portability of communities (which could be fraught with user trust/data integrity issues).
If things don't evolve it could grow into a whack-a-mole game for bad actors, or there might need to be more investment into server infrastructure (which could work against decentralization if only because of economies of scale).
Or maybe there's no issue after all? I'm just imagining potential implications of a scaling fediverse - it's fascinating and exciting stuff!
..."
Everyone is a lot safer, faster and less vulnerable by being on smaller servers.
It's not possible to ddos thousands of smaller instances in the same way. And if communities were spread out, taking a few instances down wouldn't even be noticeable.
Democracy. All people want it, but many people struggle with it. The comments up in this thread are all basically talking about this topic: People have to agree on what their society should be about. And that can is hard work. It means reconcile and debating. It is not very different from every other Federation like the EU or Germany with its 16 states. Here is an Example:
During COVID, Germany - as a Federation of 16 states - all had to decide on what is the best way to recognize the threat, mitigate it, and build up protections. In the Federal Republic of Germany, that meant that the Goverment took over some aspects, but many things were left to the states (Instances). People had a hard time seeing how this is a good thing. Many people - esspecially conservatives - ask for a strong man and are not able to hold long discussions. They want pragmatic decisions even if it will not guarantee the best outcome in the long run.
The good thing about a Federation is/was, that you have 16 "Working groups" running to the same goal, trying to find their best solutions. Some come up with great ideas on their own, some get inspired how the neighbors do it, some take an international approach and look into europe and some are just overwhelmed with the given task and struggle. People were really put off how "Everyone does his own soup" and some were really angry why there was no central plattform. Like China. Where one man said what to do. Not realizing that this could mean, that this one person has either the right solution, or is ending up locking down whole cities and incarcerating people into camps. For Years. People thing highly of centralized approaches, but do not see how bad it can go - and Germany went to that in a very bad example not only 80 years ago. Yet, we still struggle to see the benefit in Federation as soon as problems arise. In normal times they love Federation.
So my point would be: Federation is great, but the huge downside will be, that we have to talk a lot. Maybe even include a voting tool. Make it secure enough that it can not be abused too much (because it will the bigger the instance gets). We have to define or at least trust certain people, that they will take care of our instances, that we can get behind. And if not, - contrary to living in a Federated country - we are at least able to move to the next instance without a pain (if the instances support account moving one day). But people will get tired of talking too much. They want action. They want a simple and easy solution and continue their life. Some will invest a lot of time into making the instance bearable for many, while some users will just sit in a soft crib, not contributing anything and not understanding why those people "in the glas palast" will not come up with the right solutions. Because they are not debaters. They want pragmatism and will accept more authoritarian instances, if it can make them feel like they are getting lead in a strong way - disregarding if it will play nice with others or not.
In the end, Federated Systems will be a mirror of our societies, closer than what plattforms were ever be able to reflect. But this will come with the exact same problems. I can see a bright future for federated systems if enough people invest their time in it to design the experience what was previously done by worker in multi billion dollar corporations. Now people are given the tools to create their own federated experiences in a digital place. Die instances will prosper by it. Some instances will lose. Some software will burn. Some instances will be too small to have a solid team to answer all this. Some users will be appalled by all of this. But if a critical mass of people can survive and is willing to carry the stick and some form of general consent can be reached via a declaration and a living and growing and changing body of rules, that will adapt to the new challenges of time, it will be THE BEST system out there.
Except if you think a communistic/chinese approach with a central figure and a central single party is the best, that will tell you what the right thing is to do and if you do not follow, your are an deviationist and must be handled/expelled. Some people people love that shit. interestingly, mostly only if they were born into this and were indoctrinated into such a system. There is not a single country in the last 50 years where the people where asked and they willingly decided for themself, that they want such a system. Those systems were always created above the heads of the people - as it is their nature of those systems.
A good approach would be several Cartas that can be nested/cascaded that define what people share as a general consent. Two Instances agreeing into a strong bond of the same value. Another one that wants to join them. Some instances might group as The United Instances of the Fediverse with some basic rights that are not debatable and some views that might change over time. Some communities maybe want to be a left alone and do their own thing with a unorthodox decision tree. Some will not share this carta, so they will come up with their own what would lead to interesting paradoxes or even expose some fallacies in some communities.
Time will show how much strength and endurance we have and how worth it will be for us, to govern our self: Put some things in the hands of the Software we want to use (Government), keep some rules to us (instances) and decide for our own where we want to live as a user. In reality - at least in Germany - it took decades to grow organically. Police and Schools is in the hand of the state, for them to decide what to teach (to some degree) and and when to neglect a criminal/unwanted behavior (to some degree) e.g. for what amount of canabis/hatespeech he can be picked up. In the same way will the instances in the Fediverse define for themself where to draw the line and people will move to those places that give them the best balance of having enough freedoms to life a fulfilling life, but not too much freedom that it will end in anarchy. Basically Democracy.
Good thing is we can learn from past lessons and implement things better. And we have quite a few technical solutions and additional abilities, that don't apply to real world political systems.
For example we can implement more complex voting systems than a simple majority election. The Debian project uses a variant of a Concordet method. We can vote often and for details because the process is cheap(er).
We can shield users from each other and have fewer dependencies to other things. We can strive for different goals at the same time and sometimes use technical tools to make opposing things possible.
I think the most important thing is, we need a protocol that is as flexible as possible to allow for every scenario. And good/excellent tools for moderation and political stuff. That'd be a good foundation.
In examining the intricacies of federation and centralization within the context of a democratic society, we're faced with a rich tapestry of challenges and opportunities. The Federal Republic of Germany's response to COVID-19, with its 16 federated states, serves as an illustrative example of a model that facilitates diverse approaches towards a common goal. It's a demonstration of what can be described as decentralized centralization, allowing for creativity, adaptability, and the potential for mutual learning.
However, the attraction towards centralized leadership, particularly when vested in a single figure, reveals a tendency that should be approached with caution. It often leads to the erosion of democratic principles and individual liberties, a phenomenon not unknown in various historical contexts.
In the digital realm of the Fediverse, we find an interesting parallel. The absence of dark money can be seen as a safeguard against the undue influence of concealed financial interests. It fosters an environment that encourages open dialogue, collaboration, and community-driven decision-making. Yet, the tension between the need for extensive discourse and the desire for immediate action presents a challenge that's emblematic of democratic processes.
The proposal for the creation of Cartas is an ambitious pursuit, one that seeks to balance the freedoms and responsibilities that define our existence, and in doing so, constructs a framework for a more equitable and humane digital landscape. It's a path that demands careful consideration, relentless effort, and a commitment to the ideals that underpin the very essence of democracy.
True, but it's more complicated wiht Lemmy since the duplicate communities aren't as obvious because of the multiple instances.
Its kind of a bug and a feature since it's how decentralized services work but it will likely keep Lemmy from growing (at least to the extent that reddit did).
It's also hard to find active communities that aren't just reposting from another source, like another lemmy community on another lemmy site, or reddit or something. It's kind of weird here.
I wish they had multi-"reddit" support so I can aggregate common communities between instances. I suppose clients could do this but I haven't seen the option yet.
One downside/senario I'm worried about is what happens when something really bad happens. Like illegal authorities-get-involved bad? Like leaking sensitive government information or a homegrown r/ jailbait situation that the media catches wind of. Stuff can't be permanently deleted, at least not without nuking everything around it...which people might be tempted to do. And that's basically turning anything seriously incriminating into essentially an infohazard that could get you nuked because you're in an instance where someone else from it commented on the thing or something. And any attempt to and defederation from the offending parties probably isn't the hard shutoff that the authorities would be demanding in such a situation. Even if nothing effectively happens to the greater Federation, it would be a PR nightmare that would probably kill any future attempts of evangelising the platform in the future, especially to bigger communities looking for a new place to stay.
Places like Reddit have mods and admins that worst case scenario, can be the scapegoats. Lemmy doesn't really have that layer of protection because of how esoteric it is to the layman.
Sure this is the case? Because Mastodon had that problem before. I thought every federated platform had permanent deletion implemented by now? And federation of the deletion and cached data...
Yeah this happened to some guy in Australia hosting a tor exit node if I recall? I saw it on Lemmy, but didn't save the link. Since he wasn't behind a corporation, I think he got held personally liable. Best bet in hosting an instance is probably to form a corporation for some legal protections.
In the same way that it's part of the fediverse specs to copy info from another instance when a user requests it, it's also part of the specs to delete info when an instance requests it. Goes both ways. The only way it becomes a problem is if your instance deliberately disables certain functionality, or otherwise fails to moderate.
Of course if a user copies the info locally and holds a copy there's no stopping them, but reddit would have the same issue there.
If I want to share a cool link with someone who has an account but is not yet active, I have to:
ascertain their instance if they are on the site
visit their instance on a browser
search their instance for the post I want to share
On centralized platforms I can hit the "share" button the moment I find something interesting. When I do, I will receive a single link that will work for all users of the service.
Granted (because the platform then harasses the user who follows the link, trying to annoy them into getting an account and/or logging in so that it can more accurately harvest their data) it's not a ton better centralized.
But it does make it extra difficult to evangelize this way. I convinced a friend to get an account, and yet when I shared a link with him (without taking the above steps), he sent back a screenshot of the banner telling him he wasn't logged in.
I'd like an easier way to pull the uninitiated into a conversation occurring on this network of sites.
I get it's some form of tracking and that scares people here, but I keep on thinking there must be a way to set up cookies or whatever the right term is so that when you click on a link you'll automatically get sent to the Lemmy post through your specific instance. I would suggest an extension but I'm personally of the opinion that any site that needs a third party extension (like say, RES or Xkit) to fully work isn't a well designed site (not to mention it makes evangelising harder because now you gotta sign up for a new confusing thing and download this extension)
Like everyone's screaming "use smaller instances!!!1!" But like, this issue pretty much tells you "you should be using the same big instances for the best sharing/viewing experience"
There's not a great solution to this and it's a real problem. The easiest way is an app or browser extension that could recognize lemmy domains and swap in your preferred instance. That gets into problem territory with defederation though.
Another way would be federating identity, people would still get log in messages at least the first time per instance, but they could log in as user@myinstance and get a logged in experience then. This is a huge technical pain in the ass, and still not great for user experience though.
You could also share links in a Url shortened style and use that redirect to let someone select an instance or log in to another service to know where to send links. This also isn't great.
I am unsure wether I understood you right. If I want to share your comment for example, I hit "share link", and it gives me this
https://lemmy.myserv.one/comment/1133028
There's no "you aren't logged in" showing up for me when I open it in a browser
It used to be a banner above the comments. Now it seems to be in the sidebar. That's a good design choice. It's an improvement. It might not have scared my friend so much.
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: [email protected]
This is actually a massive improvement. It gives directions, and the earlier one didn't. It's friendlier than the earlier version too.
However, this evolution badly needs to continue (since I don't see how asklemmy's front page is going to tell you anything about the federated instance signup process or enough about the "home instance" concept for them to know they need to go to their home instance.) If I was given a link to your comment, and I wanted to upvote your comment, I would still need to 1) navigate to my home instance's search tool and 2) paste your comment's URL into that search tool. And that's still a complicated process for a lot of people.
I do really appreciate the direction the web app is going here,
they have gotten rid of the "vote" buttons and the "reply" buttons if you're not logged in.
the "not logged in" notification now tutorializes a little bit.
These are all very good developments.
But they need to continue. We need to tutorialize stronger.
In a federated system you have no control about wheter remote instances are running up-to-date software or even the same type of software (think Lemmy vs Kbin), which makes breaking changes really hard to impossible, since you never know what ancient version another instance might run.
This is part of the reason why e-Mail works the same now as it did in the 80s. If e-Mail was a centralized service, it would be a full communications- and office-suite now, but since it's federated it's still separate messages in folders and stuff like grouping messages by thread are considered innovative.
This is part of the reason why e-Mail works the same now as it did in the 80s.
I still want to see a proof that there isn't a technical solution for this.
There are things like versioned APIs, backwards compatibility... You can make your network protocol modular and extensible... Think of XMPP and some other examples.
E-Mail is somewhat alright and has a few good design choices. That's why it's still around today. With the additional lessons learned since then, todays knowledge and tools, I bet we can design some technical solutions to the upgradeablility-problem.
It's absolutely just a skill issue, matrix has made breaking changes without significant issues.
Turns out that if you just design a protocol with changes in mind you can simply reserve a version namespace for all but the most fundamental functionality and crank the number up for every breaking change.
But extensions are no good if most people don't use them. Take end-to-end encryption in eMail. It's a good feature that has been around for multiple decades, but most people don't use it. Since most people don't use it, there's no point in using it. So you have the network effect right inside your system.
When e.g. WhatsApp made every chat end-to-end encrypted it took a single update and went so smooth and easy that most people wouldn't have noticed if it wasn't for a big modal telling the useres that it was introduced.
Introducing breaking changes or new features to a federated system with lots of hosts and lots of different software implementations is certainly not impossible, but it's much more difficult than on a centrally managed system.
We were talking about federated software, based on a shared protocol but with many different implementations vs centralized software (as in run by one entity, not as in non-distributed).
Your pedanticts are what the whole discussion was about. So your pedantics aren't valid.
1: Anything that's federated is public (to instance admins) and can't be reliably deleted.
For ActivityPub, that's pretty much everything except user account.
For email (SMTP) that's sender, recipient, subject, and usually body.
Etc. Instance admins can log whatever they want. Laws like the GDPR or CCPA don't apply to all instances.
2: User signup is much harder because choice paralysis over which instance to join often sets in. That in turn leads to default recommendations, resulting in centralization in a few instances. E.g. lemmy.world, beehaw.org, sh.itjust.works, lemmy.ml for lemmy, Gmail, Apple mail, MS Live email, AWS email options for email.
For your point 1)
The same applies to any other social media or good old phpBB forums that some clubs still use. GDPR still apply as soon as you log personal data of an European user. So if an instance admin does shit with the data they can be charged.
GDPR isn't that complicated, tons of small non profit structure (e.g a sport club) deal with personal data without any issue. If you don't spy your user and do the minimum needed amount of data processing your data privacy policy can hold in a couple of lines. It get huge because big social media spy us
Old-school forums have single points of contact. They're no more private than ActivityPub, but a takedown to the admin is a takedown of all instances. Obviously public data can be cached or archived, so as always you have to send takedowns to every archival service, search engine, and any CDNs too.
The GDPR "applies" whenever an EU resident's data is stored. The enforcement requires some presence in the EU by the entity storing the data. For multinational companies that means if they have any banking services there (e.g. taking payments from EU customers) they have a presence. For individual fediverse admins, that's not necessarily a concern. At worst their instance's domain would get blacklisted to EU users.
From running multiple accounts across multiple instances, I've found that each instance feels like a separate forum of posts. Sure some of the big ones federate with each other, but that still doesn't lead to being able to see the same federated content when you log into infosec.pub or lemmy.world. I think a lot of the differences in content lie with which instances federate with which other instances.
Identity theft. Not as serious as the real life version but imagine that I make an account with your username on another instance, maybe under a domain that's very similar to yours, and start stirring up trouble. If you're someone people recognize I could hurt your reputation or scam people.
More of a wish than a challenge but federated identities would be awesome. Home instance offline? No problem, just switch servers. No need to try and sync settings and subscriptions between accounts.
Blockchains already do this with public key cryptography. Your "login and password" would just be a Mnemonic Phrase. The fediverse just distributes the public information to use that phrase.
Agreed, portability of accounts should be much higher priority that it currently seems to be on either mastodon or lemmy. But also, that limitation is not an option at all on non-federated platforms.
It is difficult to control users, to ban them permanently etc.
It is difficult to make money with federated software. You could maybe show ads. But nothing that'd make you rich.
Where I notice the most annoying downside to me most is Mastodon: You cannot see any previous discussions and interactions.
When some makes a post I see zero replies, zero boosts, and zero likes when viewing it from another instance. The user also has zero previous posts and zero people following them. When opening the profile on their instance I see hundreds of previous posts, a couple of thousand follows and the toot in question has some likes, some boosts, and a lot of replies.
You cannot censor content. I could make an instance where I post the most vile things and even if 99.99% of lemmy hated my guts and wanted me shutdown I could continue to host my instance and federate with like minded communities. In a non federated platform Admins would delete my instance.
This is a positive to some and a negative to others.
This has been a thing since even before the web existed, with Usenet (the original federated forum) in the 1980s.
Would you really want admins controlling what you can and can't say online? What if the admins have different political or societal views than you, and delete you / your content just because they disagree with what you're saying? The world needs fewer power-hungry admins and mods, not more of them.
Also, the the thing with open source software is that you can't control how people use it - a key feature of open-source is that it's accessible to everyone.
IMO anyone should have the power to start their own Lemmy instance, but other instances should have the power to block you. I do agree that there's some instances that 99% of Lemmy would block. For cases like that, an optional global blocklist of awful instances, that any instance could opt-in to blocking, would be useful.
Each individual actor in the system has less incentive to provide value and no incentive to maintain continuity. As a result, you are basically reliant on a small number of unconnected and pseudonymous volunteers who could walk away at any time. Add to that managing a server with thousands of users is basically a part-time job with little pay and you have a system that is sustained by the kindness of a couple dozen strangers.
That's why I usually try to interact a bit with my two instance admins on one of my alts. It's a small instance (less than 100 users at the moment), and I trust them enough that they would warn us and allow someone to take overall if they wouldn't feel like managing the instance anymore.
I'll put it this way. In the US, there used to be a rule where, if you broke the law and the police were after you and you drove into another state, the police from the first state you were in had to rely on that state's police to do anything. There was an episode of the Simpsons that spoofed this once. Now apply this to websites.
I see no downsides to the idea of federation at all. All the downsides that exist on the specific platforms can be fixed or addressed; there is no inherent flaw in interconnectiveness of various sites/platforms/models, and that's all the "federation" is: various sites connected together sharing content.
It might decide to construct a secret droid army and plot in the shadows to overthrow the galactic republic, all while secretly acting as a tool manipulated by the dark lord of the sith. Also tricky trying to explain to people that to join something called ‘lemmy’ they need to go to geddit.social or kbin.social or whatever but that it’s all basically the same except it’s not. Personally I think the Sith Lord thing is a bigger issue.
As I understand it, there's a huge downside to federated software in the requirement to be Always Online.
Lots of people have slow internet connections, or no connection at all, preventing them from accessing their software.
Everyone should be able to use the programs/apps they have without regard to whether they are online or can get online.
What federated software would actually make sense to work offline, though? Everything I've seen is literally internet tools like social media (forums, blogs, chats, etc). None of those things would work offline.
This isn’t really specific to federated software. The client can go offline but the server can’t. Same applies to all centralized services. The only place this really applies is for decentralized (as in, no central points) systems, and those tend to have a lot of special sauce to make other people being offline less painful