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 and worse than having fewer bigger 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.
This GitHub issue has a lot of good (but rough and high-level) thoughts on future scaling techniques: https://github.com/LemmyNet/lemmy/issues/3062
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.
Why? A single Linux server has been able to support tens of thousands of simultaneous clients for many years now.
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.
Edit: Corrected network bandwidth amount.
What? Did you mean 40Gbps for less than 10 dollars/mo? Or did you mean 40GB of traffic total monthly? Huh?
Are you talking about a specific server or just Linux servers in general?
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.
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.
I agree, I would like to contribute cpu and memory from my instance to the Lemmy network somehow, without users needing to have an account on my instance.
But it doesn’t work that way currently. Lemmy.world became the largest instance and then we have hundreds of small ones hardly being used at all.