Reddit is going downhill, Twitter is a mess, Youtube is making decisions that no one wants and Instagram/TikTok are creating algorithms to make you addicted to their content at the expense of your mental health. Before them there was myspace, digg, yahoo etc doing the exact same thing. The common thing is that the power on these platforms is 'centralized', meaning that a single company has the power to make any rule or change which the users will have to agree with if they want to continue using the platform.
'Decentralization' aims to return control to the people. Instead of one dominant entity governing the entire system, these platforms rely on smaller, user-operated nodes that communicate with one another. This way no single user or company has the power to make changes to the entire system, or to decide what is acceptable or not as each instance can have their own set of rules by which they run.
Federation
In simple terms, when two instances communicate and send data to each other, they are said to be 'federated'. An instance can thus federate with thousands of other instances to view and interact with the content hosted on them. You can even set up your own small personal instance and federate with every other instance to view data from the entire fediverse.
If an instance becomes unomoderated, hosts illegal content, has a bot problem or has just in general a vibe you don't agree with, an instance admin can 'defederate' from that instance, meaning you will no longer view posts from them nor can they view posts from you, effectively breaking any communication with them.
Fediverse
Fediverse, or 'federated universe' is the name given to the social media platforms that utilize this concept of federation and decentralization. While Lemmy and Mastodon are the most popular right now, there are many similar platforms. There is Peertube for example, which is a Youtube alternative, or Pixelfed, which is an instagram alternative. You can view a list of all such platforms on this site. Here's also a visual representation that might help.
Lemmy
Lemmy is the reddit alternative social media that is part of the fediverse.
It works similar to reddit, in the sense that people can post stuff and other users can comment on these posts, higher upvoted posts rise to the top etc. The main difference is that communities (subreddits of lemmy) are hosted on different instances which can then all be viewed by a user from their home instance (provided they weren't defederated). So no single instance or admin has control over all communities, nor do the hosting costs skyrocket as ideally each instance will host some communities to balance the load.
Mastodon
The Twitter alternative and the first popular fediverse platform. it's pretty similar to Twitter so if you know how that works you pretty much know how Mastodon works too (apart from the decentralized aspect).
Kbin
While Lemmy and kbin are spoken of together nowadays, kbin is actually more of a hybrid between lemmy and mastodon. While you can use kbin just as a lemmy alternative with a different skin, it is also a microblogging site. This means that you can follow individual users, and people looking at your 'timeline' can even view posts you upvoted, similar to twitter.
Right now there is no way to interact with mastodon users through lemmy, but Kbin can view content from both. So it's upto you which kind of platform feels better to you.
Edit: Small correction but Mastodon can view lemmy content as well, so it's just lemmy who's unable to fetch mastodon content right now.
ActivityPub
ActivityPub is the protocol on which the entire fediverse runs. It provides a client to server API for creating, updating and deleting content, as well as a federated server to server API for delivering notifications and subscribing to content. All you need to know is that if a platform is part of the fediverse, then it must be using ActivityPub protocol.
FOSS
Free and Open Source Software. It's a more general term but thought it's relevant enough to be added since a lot of people might not have heard of it. FOSS applications are not only free but make their source code public, which means anyone can view exactly how each part of the site works and to check if nothing malicious is added. People can even modify this code to make changes and make the application better. Here's the source code for lemmy for anyone interested.
Aside from the terms I'll also try to answer some questions I've seen asked frequently:
Q: How is this entire thing monetized?
A: In short, donations. Decentralization helps by making the hosting costs manageable for a single instance, so donating even a little bit to your home instance can help them cover a large portion of their operating costs.
Q: What Instance should I join?
A: While I wish I could say join any one of them, in reality, each instance has a different set of rules and philosophy on which they operate. Some can be heavy in their moderation, trying to curate a very specific feed, while others are much more liberal, letting users have more free control. My advice to someone new would be to make an account on any instance just to get a feel for how everything works and if you like the concept of Lemmy. Once you've grasped how things work, then choose an instance to be your main home.
Q: Why do I see different amount of upvotes and comments on different instances?
A: If the comment is new, it can take some time to sync and be visible on other instances in general. However, remeber that you can't see upvotes and comments from users your instance has not federated with. So if your home instance has not federated with some instances, the upvotes and comments from users of that instance won't be visible to you.
A: Yes, a lot of them infact. Here's a megathread that's being kept updated with all current apps.
Q: I signed up on an instance, now what?
A: You should see 3 tabs at the top, namely subscribed local and All. Subscribed will give you the feed from the communities you've subscribed to, local will show you communities hosted on your home instance and all will give feed from all the communities from every instance you are federated with. all is basically the r/all of lemmy. That's a good place to start browsing to discover new communities and to interact with people from other instances.
Q: My feed looks different on my instance compared to another instance even though we haven't defederated from anyone?
**A:**The way federation works on lemmy is after someone searches and subcribes to a community for the first time from another instance, only then is the information about an instance fetched.
This is done this way to prevent flooding and overloading the local instance with every single other instance at once (and to not waste bandwidth connecing with spam intances). So if you set up your own personal instance, you’ll need to search interesting communities once yourself to view them later (or set up a script to do something like it).
These are the main points I thought a new user might find useful. If someone has anything they wish to be added, comment below and I'll update it with relevant information.
Thanks for the explanation. I just a have a question regarding the communication between lemmy and mastodon, In the "Fediverse" paragraph you included a visual representation that shows a connection between these two platforms marked with "activity pub". However as you have mentioned in the kbin paragraph there doesn't seem to be any way to interact with mastodon through lemmy. Why is that? Is it just a limit in the interface because of the different nature of posts (microblogs on mastodon and long posts on lemmy) or are there other reasons like technical issues preventing them from using activity pub and interacting with each other?
I hope this is ok to ask, but: suppose this gets popular enough that monied interests will want to try various influence ops here as they have done elsewhere. Is there enough metadata available that spammy or suspicious activity can be detected and guarded against?
I keep thinking back to posts on Reddit by some guy who was convinced the lack of posting and commenting anonymity would be horrible for people. Horrible for spammers and influence ops, I assumed, but without actually understanding in what way.
Can I ask dumb starter questions in this thread? Love the idea, but still trying to figure it out. I have an account on fmhy but don't know how to interact with other instances. I use liftoff for pretty much everything Lemmy related right now
From the home screen, at the top shpuld be 'local@lemmy.fmhy.ml.'. You can also select 'all@lemmy.fmhy.ml'. That will show you a feed from everyone FMHY is federated with.
If two inatances you like block each other, you can get accounts on both. The entries have a 'via fmhy..' Or 'via sh.itjust.works' for whatever instances you have listed in your configuration. Long-press on instance name in configuration to delete it if you don't want it. I deleted lemmy.world, because I can just see lemmy.world stuff in 'all' via fmhy.
Technically, it's not federation, it's confederation, but we have some bad history with that word.
That's a good question, I'll update the post with it an answer to it as well.
On liftoff, assuming you have signed in, at the very top you should see local@lemmy.fmhy.ml. if you click on it, you should see a drop down with instance names and 3 options of subscribed, local and all for each.
Subscribed would show you the feed with the communities you've subscried to, local will show you content from the communities hosted on your home instance, and all will show you every post from every instance we are federated with. That's basically the r/all equaivalent of lemmy and what you should browse to interact with other instances.
Regarding your own instance to watch whole fediverse: on other thread someone was asking why feeds are different on different instsnces, and someone answered that you only see communities from other instance if someone from your instance is subscribed to that community. Was it wrong?
No, they are corrrect, I guess I should have added this part in the post too. The way federation works on lemmy is only after someone searches and subcribes to a community for the first time from another instance, only then is the information about an instance fetched.
This is done this way to prevent flooding and overloading the local instance with every single other instance at once (and to not waste bandwidth connecing with spam intances). So if you set up your own personal instance, you'll need to search interesting communities once yourself to view them later (or set up a script to do something like it).