Think of email. Email is based on a protocol called SMTP (Simple Mail Transfer Protocol). Anyone can run their own SMTP server and thus participate in the wider world of email. Or you can use somebody else’s server- companies like Google (gmail) and Microsoft (outlook.com) and others run public email servers you can make your home on.
If you want to make your own SMTP server you don’t need anyone else’s permission to do it. Your domain name (@whatever.com) tells other servers how to connect to your server. That concept is called federation- that the email servers can talk to each other.
In contrast to that, you have something like Reddit. Reddit is a monolithic system- only Reddit Inc runs the servers. You can’t host your own Reddit server and if you could there’s no way to link it with the rest of Reddit. Same with other platforms like Facebook, Twitter/X, etc. Discord too- they call their instances ‘servers’ but in reality it’s all ran by them, you can’t host your own Discord server on your own hardware.
With that in mind, a lot of smart people looked at this and saw a problem- with monolithic systems, the entire community is essentially hostage to the whims of the host company. So if Facebook decides to sell all your data or start charging, there’s not much you can do short of leaving and then you can’t participate in Facebook anymore. OTOH, if your email host decides to get shitty, you can just move to another email host. So it is understood among many tech people that while federated systems are harder to build and maintain, they are more beneficial for the public because they avoid any single points of control.
Thus, you have Lemmy. Lemmy operates like Reddit in terms of functionality, but it operates like email. You’ll notice that every user has a domain name after their username-- like you’re @TheArtfulLlama**@lemmy.zip**. Lemmy.zip is the ‘instance’ (aka server) you happened to register on. You can choose any of them or make your own. As you can see I’m @SirEDCaLot**@lemmy.today**-- lemmy.today is the instance I registered on. I could register @siredcalot@lemmy.zip and that would be totally different than @siredcalot@lemmy.today, much in the same way that the email address DaveJones@outlook.com isn’t the same as DaveJones@gmail.com.
On the back end, each server hosts communities (aka subreddits) created by its users, and makes those communities available to all others on other servers. You posted this to the community !imadethis@lemmy.zip (that’s a community, note the ! rather than @ for the username tag). So lemmy.zip server is hosting this comment thread. When I reply here, I’ve got lemmy.today open in my browser and I see this post. So when I hit reply, my instance will send my reply to your instance. And thus it all works :)
On Lemmy, different instances have different rules and policies. For example some openly permit posting pornography and gore, others require trigger warnings on potentially triggering words. So if you’re going to create a Lemmy community, make sure it fits within the rules of your home instance. Your home instance policies DON’T apply to what you visit through them-- for example if lemmy.zip disallows porn, that doesn’t stop you from going to to a porn community on another instance.
That’s so interesting, thank you so much for the detailed response! I’d been a Reddit user since 2011 and logging onto the desktop version of Lemmy makes it look a LOT like old Reddit…back when times were more simple 😭
Okay here’s the primer.
Think of email. Email is based on a protocol called SMTP (Simple Mail Transfer Protocol). Anyone can run their own SMTP server and thus participate in the wider world of email. Or you can use somebody else’s server- companies like Google (gmail) and Microsoft (outlook.com) and others run public email servers you can make your home on.
If you want to make your own SMTP server you don’t need anyone else’s permission to do it. Your domain name (@whatever.com) tells other servers how to connect to your server. That concept is called federation- that the email servers can talk to each other.
In contrast to that, you have something like Reddit. Reddit is a monolithic system- only Reddit Inc runs the servers. You can’t host your own Reddit server and if you could there’s no way to link it with the rest of Reddit. Same with other platforms like Facebook, Twitter/X, etc. Discord too- they call their instances ‘servers’ but in reality it’s all ran by them, you can’t host your own Discord server on your own hardware.
With that in mind, a lot of smart people looked at this and saw a problem- with monolithic systems, the entire community is essentially hostage to the whims of the host company. So if Facebook decides to sell all your data or start charging, there’s not much you can do short of leaving and then you can’t participate in Facebook anymore. OTOH, if your email host decides to get shitty, you can just move to another email host. So it is understood among many tech people that while federated systems are harder to build and maintain, they are more beneficial for the public because they avoid any single points of control.
Thus, you have Lemmy. Lemmy operates like Reddit in terms of functionality, but it operates like email. You’ll notice that every user has a domain name after their username-- like you’re @TheArtfulLlama**@lemmy.zip**. Lemmy.zip is the ‘instance’ (aka server) you happened to register on. You can choose any of them or make your own. As you can see I’m @SirEDCaLot**@lemmy.today**-- lemmy.today is the instance I registered on. I could register @siredcalot@lemmy.zip and that would be totally different than @siredcalot@lemmy.today, much in the same way that the email address DaveJones@outlook.com isn’t the same as DaveJones@gmail.com.
On the back end, each server hosts communities (aka subreddits) created by its users, and makes those communities available to all others on other servers. You posted this to the community !imadethis@lemmy.zip (that’s a community, note the ! rather than @ for the username tag). So lemmy.zip server is hosting this comment thread. When I reply here, I’ve got lemmy.today open in my browser and I see this post. So when I hit reply, my instance will send my reply to your instance. And thus it all works :)
On Lemmy, different instances have different rules and policies. For example some openly permit posting pornography and gore, others require trigger warnings on potentially triggering words. So if you’re going to create a Lemmy community, make sure it fits within the rules of your home instance. Your home instance policies DON’T apply to what you visit through them-- for example if lemmy.zip disallows porn, that doesn’t stop you from going to to a porn community on another instance.
Hope that helps!
That’s so interesting, thank you so much for the detailed response! I’d been a Reddit user since 2011 and logging onto the desktop version of Lemmy makes it look a LOT like old Reddit…back when times were more simple 😭