How will lemmy instances survive if they get too big?
I know there's donations and the owners can use their own money, but there's a limit. I doubt a platform with hundreds of thousands of daily users can survive with only donations.
By having more instances and better user distribution.
Running a small-ish instance isn't very expensive, around 5-10 euro a month (some VPS providers are cheaper, etc). As Lemmy development continues, and more optimizations come in, these smaller lemmy instances will be able to support more users.
There is also a discussion on GitHub to introduce user and community migrations between instances. So once that feature is implemented, it will be easier to redistribute everything across all Lemmy instances.
Is there a point where there are so many instances that propagating all that data is too taxing
Yes, that becomes a concern as the network size grows and the amount of aggregate replication traffic increases. Mastodon has like 10x the server count of Lemmy, though... so that's hopeful. They do use ActivityPub differently though, it possible that federation scales differently between them.
Most instances will hit a hard cap where the user support can't scale anymore. Admins will have to close sign-ups and force new users to other instances to distribute the load. That's the point of federation.
The issue is admins do not yet know where the limits are, and Lemmy still needs a lot more backend optimization work.
It's super cheap. A lot of us nerds have very good incomes and can pay for an instance that has like 20 TB of network traffic for less than 10 dollars per month.
It's our way to try and contribute to the growth of Lemmy and also it's fun to run our own instance.
That sort of thing should be a self-correcting problem to an extent - when performance drops, people will (hopefully) move to other intances. Also, a well-managed instance would stop accepting new members before it go to that point.
Also, there would be developers watching https://fediverse.observer to see if few registrations are open, but sign-ups are climbing in all open instances. Of course they are going to jump in if there's an opportunity.
Until people start donating to instance owners, and instance owners continuously scale up the servers, thus inviting even more people to centralised on the biggest few instances.
I think we’ll see a variety of servers with different funding models, similar to how radio and tv stations in the us can have a variety of funding models. NPR has a network of member stations that all carry their content (if the stations want, or they can get content from another station, or they can make it themselves).
Threads is an example of a federated service with a corporate funding model. I definitely think it’ll survive since they have as much money as Facebook wants to sink into it.
But we’ll probably also see servers that run on donations by a dedicated community.
If Threads is the NBC/CBS/ABC of the federated landscape, then those small servers will be like public radio stations, which operate on donations and the occasional government grant.
I think there are people who would chip in a little bit to fund a non-commercial server just the same as there are people who chip in money to NPR.
I'm posting from a self hosted server running on a raspberry pi! While no long term test has been carried out yet, it's really snappy :3
I wonder how the network will scale if more and more would self-hosts small instances with just 2-4 users. If it would decrease load or increase load on the instances that hold popular communities.
I'm pretty sure it's a net increase in load, saying this from my own small instance here. I don't want to primarily use the big instances - that's why I started my own. But lemmy.world encompasses so much that any load I would've prevented by subscribing to communities outside of lemmy.world is probably negated by lemmy.world already being subscribed to that community. And even if we're just counting lemmy.world content, pretty sure it's a net increase because browsing lemmy.world just shows aggregate votes and paginated lists. When federating they're sending everything, even the 90% of stuff I and my users never even see. I wonder what the tipping point is, where the load of federating communities is outweighed by the load saved by not constantly reloading lists and whatnot. I bet it's at least 10.
EDIT: Also wanted to add there's proposals for how to spread out the load without having to switch protocols or anything. I certainly wouldn't mind my own instance being used to forward stuff on.
As opposed to a corperate social media site, Lemmy has waaaay lower operating costs (not servers). It’s open source so dev work is volunteer, and there isn’t a bunch of resources dedicated to squeezing users for every penny or appeasing advertisers.
Servers can get pricey for sure, but not having all of that other overhead goes a ways to making it more sustainable.
There is a lot of debate on whether or not small instances help or make it worse, mostly due to how Lemmy handles pushing updates.
The main consensus is that joining a small to medium sized instance would have the smallest footprint on Lemmy.
That being said, Lemmy has a lot more developers working on it now it has all this attention and now they can see where Lemmy struggles on large instances, so what is true today may not be true in the future.
Worse come to worse I'm here for a good time not a long time.
Like if an instance like lemmy.world gets too big and fails I'll probably head to another instance like kbin.social. If it starts a failure cascade people will leave for traditional social media or just leave social media entirely until federation can support it.
Maybe I end up leaving for another social media site, or I just watch youtube and no real social media or something. Whatever happens I'm here while I'm here.
I run a lemmy server and its actually very hard to encourage people to sign up and use the server as they have to resubscribe to their communities manually or with a script and people just dont want to do it for basically very little gain for themselves individually even if when hundreds of people do it collectively it helps reduce load on popular servers. Its kind of like the climate change issue. One person doing it on their own doesnt change much and incurs a lot of work so why bother? Even if it is true that 1000 people moving would make a measurable difference.
The better question is, how will lemmy survive if instances get too big. The whole point of the fediverse is to prevent centralization.
IMO we need self-imposed regulations that are community enforced. In the context of user count, the community should decide on an appropriate max active user count. Each instance should deactivate signups if they're over the limit, and if they refuse, other instances should defederate them until they do. In general I'm not a fan of defederation, but I also don't think we should defederate threads just because it's owned by Meta. It should be defederated because it's behavior is anti-fediverse.
I doubt a platform with hundreds of thousands of daily users can survive with only donations.
Is that really so though? Assuming some small percentage of the user base chooses to donate, would that not scale as the instance gets larger, as long as the percentage stays about the same?
I decided to toss something like a buck a month at my instance as I came with the reddit migration and didn't want to be a part of the problem. I also appreciate the ad-free space we have here on lemmy.
And it's not like running a PBS station or something in terms of costs. I'm actually pretty optimistic about the donation model, though maybe you're right? Maybe the optimism is misplaced?
Is that really so though? Assuming some small percentage of the user base chooses to donate, would that not scale as the instance gets larger, as long as the percentage stays about the same?
I would guess that it wouldn't scale in a linear fashion - earlier adopters who saw first-hand all the problems and what the admins had to do would tend to be more appreciative of their efforts than folks who arrive further down the line when everything is humming along.
That said, donating isn't the only string to the funding bow - affiliate links would tend to scale linearly with user numbers and I imagine we'll see bots or even hard coded regular expressions that spot links people add and tag an affiliate link on the end. If they are going to be used, instance admins might as well claw some cash back.
Scaling is a big concern with Lemmy, and pretty much any Fediverse platform. However the positive side is the software can adapt and as it becomes more popular it will naturally acquire more resources.
Admins do have control over the size of their instance. They can shut down new sign-ups if they get to a point where they can't support any more users. They can either expand their capacity or leave sign-ups closed. Ideally as you get more users you get more support through donations which can cover the cost of expansion.
Another aspect is how well ActivityPub can hold up to demand as more and more instances enter the fold (ActivityPub is the protocol standard that supports the Fediverse). Hopefully the designers have put a lot of thought into scalability. ActivityPub has mechanisms to limit instance resources to what's on demand from users of that instance. It's not like each instance has to accommodate the whole of data and bandwidth comprised by the platform.
As users we'll just have to see how it holds up and have some faith the designers did a good job with scalability. I think the other aspect of having enough instances to support the size of the user base will work itself out naturally.
I’ve been wondering about this not so much from a performance perspective, but rather from a storage perspective. Assuming old posts and comments are never cleaned up, a handful of particularly active instances could easily crush federated smaller instances storage, right?
Not as big of an issue as you'd think. In 2015, the entirety of Reddit could be archived using ~2TB of storage space. Keep in mind that this is the size when saving everything as uncompressed JSON, so the actual DB size would have been even smaller than this!
You're much more likely to see this DDOS-like effect coming from ActivityPub traffic volume. High activity = Lots of messages = Lots of processing demand. As the Fediverse grows, the baseline processing power necessary just to keep a small instance afloat will steadily rise, but it's not yet clear how big of an issue this will actually be.
We already saw a pretty major rash of Lemmy instances getting overwhelmed back on July 1st, but a lot of that bottlenecking was caused by quirks specific to Lemmy (which can be ironed out) rather than overhead inherent to the ActivityPub protocol itself (which, to be fair, is still relatively heavy).
From my understanding a instance will only interact with posts and comments (store them) when a user on that instance does. So just federating with a older instance that has a large back catalogue does not mean it will flood the small instance.
Side note about images. They seem to only ever be saved locally on the server it was uploaded to. So custom emojis like will not be saved on for example lemmy.ml (here). Only on my self hosted instance. Perhaps if a post is really popular and I link a self hosted image like that, it might put strain on my host to deliver this image though. Worst case just my small instance will go down and the link will be stale.
Side-side note: I might want to make all emojis smaller so that they both fit in the text better and put less strain on my host.