Can someone explain the Fediverse?
As the title says, could someone explain the Fediverse or this whole concept of federated instances?
I looked at Mastodon a few months back and recently at Lemmy and read a few articles and I still don't quite get it. I joined a Lemmy instance but didn't see any content from other instances. (God this makes me feel old)
To me, a non techie (who is reasonably computer literate), the problem with all these federation based platforms is that they don't seem immediately intuitive to laypeople.
It also seems to have the problem of individual instances being quite parochial in that there seem to be a lot of niche instances but few that are necessarily generic for an international audience, or conversely instances that are too vague ('this is an instance for humans') whereas with something like Reddit you just sign up and post in subs just like vbulletin based forums and subforums back in the day. Tildes is essentially similar in principle.
Please feel free to tell me, if I'm an old man yelling at the Cloud.
Mastodon and Lemmy both use the ActivityPub protocol, which is basically a set of rules outlining how to exhange information with other software that shares that same protocol.
You can think of federated instances as being similar to email. Instead of having one central service, there are many. You can either run your own, or use somebody else's (such as Gmail or Hotmail). Your account (email address) only exists on one service. However, since the services all share the same protocol, you can use that one account to contact anybody on any other email service.
In the same way, there are many Mastodon and Lemmy services (instances). You can create an account on any instance, and use it to talk to other people regardless of which instance they use.
That's a pretty broad summary, and there are some exceptions.
In ActivityPub software, federation usually happens automatically, but it's ultimately a choice, usually up to the person running the instance. They may choose not to federated with certain other instances. For example, if their members cause trouble. Similarly, other instances may choose not to federate with them. Either way, when federation between two instances is blocked, they can't exhange data and their members can't see or communicate with each other. In that respect it's similar to if Gmail and Hotmail both decided to block each other for whatever reason.
That's why it's important to choose an instance that vibes with your own personal views and politics. You want to have some degree of trust that the people running your instance will make decisions that you're comfortable with.
Also, while federation can happen automatically, there are some requirements (at least for Mastodon). Without going into too much detail, if two Mastodon instances are unknown to each other, they will begin to federate if a member of one instance follows a member from the other. When that happens, the servers begin synchronising new posts from those members and their immediate circle, and the number of members being synchronised grows as more and more follow each other. This way, the specific members being synchronised is kept as small as relatively possible, and only grows as needed. Mastodon instances also don't retroactively synchronise old data (such as old posts) except in certain circumstances.
That's another very broad summary, but it can explain why small or new instances sometimes seem empty - they may not have begun federation with many other instances yet. This may be the case for the Lemmy instance that you joined, but I don't use Lemmy and can't speak to that directly.
I hope that helps. Others who are more familiar with ActivityPub can probably chime in and correct me if those details weren't accurate, but I tried to keep it relatively high-level.
Oh, to address your other point:
That's the nature of federation.
It's helpful to join a instance with the kind of people and content you're most interested in (for example, programmers and programming). That way you have immediate access to interesting content straight from your own instance, and a moderation team that reflects those interests.
Or if you don't have a single particular interest, it might be helpful to join a big, generic instance with a lot of people. That way discussions generally don't revolve around one particular topic, so you'll see a lot more variety.
And there are all kinds of instances in between.
This helps explain the variety in instances you can join. Different types of instances appeal to different people, and the beauty of federation is that anybody can start a new instance any time they want.
Reddit would be akin to joining an isolationist Lemmy instance that refuses to federate with anyone else (which is a perfectly valid choice for some use cases). You have access to that instance's members and topics, and that's all - just like a traditional web forum.
Thank you for the explanation!
My concern, I guess, is that the creation of instances is just abtruse enough to lend itself to a particular demographic- young, techy- and the baggage that entails. For example I looked at an instance labeling itself India or Desi (I'm not from India but am ethnically Indian) but it was full of trollposts, bigotry and flames. I saw other instances (quite a few) labellng themselves open to stuff like shotacon, lolicon and such, which is a bit of a red flag. Others seemed very seriously tankie. The whole thing just seems like it'll ultimately create another 4chan type area of the internet.
The thing about Reddit and Tildes is that the tech work is done and gives laypeople a layer on top of which they can create a sub/tag a topic.
That's the trade-off of federation. There's no single controlling authority. Anybody can create an instance and use it however they want.
Therefore there are instances full of unsavoury (and probably illegal) content. There are also instances geared toward professionals in different fields. They'll have completely different vibes, and any good instance will outright block the bad ones to protect their users.
There are also shades of grey, though. Especially when it comes to politics. Some instance administrators proactively block other instances whose administrators or users have different personal views, even if those views aren't overtly bad. Such is the dual-edged sword of federation.
This is why it's important to try and find an instance that vibes with your own views and politics. You might personally want an instance that proactively blocks certain other types of instances, and that can be totally valid. I like that my instance blocks known trouble-making instances, and I'm confident that it will never turn into something like 4chan. But it can be frustrating if your administrator decides to block an instance that you like for petty, personal reasons.
Trust is important, and you might prefer to trust a single, centralised service like Reddit or Twitter (for example). But as we've seen recently, those centralised services come with their own administrative and moderation problems.
Federation helps address some of the problems with centralisation, but it still has challenges of its own. Sadly there's no perfect solution.
Thanks! You've really helped me get a basic grip on this whole area of technology.
What's your preferred instance?
For Mastodon, it's Fosstodon. I don't use Lemmy and can't really speak to those instances. I've joined kbin.social, but it's having trouble dealing with the huge influx of new users and might not be the best choice for the time being.
Thanks for such a thorough and easy ELI(15?)! I've been trying to wrap my head around this for months, and I suspect OP and I aren't the only ones.
See, that's kinda where this federation idea falls apart for me. We haven't solved the issue of the person with his finger on the power switch, so we haven't solved the issue of bad administrators in the network. Sure, I can change instances, just like changing subreddits. We know how that goes. Association between servers is just another iteration of killfiles.
When you have no idea which server is actually running your instance, and the people running servers don't really know which instance is on the server they have donated to the project, and instances can move around from server to server every couple of hours in a nice lazy automated fashion so that they can't really die, and content can move around the same way inside the instances, and everything is about your own user filtering of that network - then you've got your decentralized, federated network.
You've also got programming complexity and network overhead that is the stuff of nightmares, which is why this stuff has such a hard time getting off the ground. It inherently overcomplicates what would otherwise be simple. Just look how confusing the signups are for regular non-techies trying to use Lemmy, that's a perfect example.
I want that decentralized federated network, someday, though. I'm a fan of the idea, just not very optimistic than anything other than an AGI will ever be able to create it successfully. :P
Yes, those are valid criticisms of ActivityPub software (Mastodon, Lemmy, etc). They are decentralised in the sense that there is no one party that controls all the content (like Reddit). Instead, that content is controlled by (centralised around) smaller individual parties (instances) that band together to share it (federation). It's not truly decentralised, and at any point the owner of an instance can pull the plug and delete their instance along with all its content and user accounts. It can and does happen.
Effective, user-friendly decentralisation is a hard problem to solve, and there's probably no perfect solution. However, I think ActivityPub is a good step in the right direction.
I'm glad it exists and people are using it. That experimentation will lead to new insights for the next iteration, and we will make some progress.
Have you heard of Solid?
I feel that (or something like it) is the next step in this direction.
That... would do as the storage mechanism for something decentralized and federated. Fascinating project, I may end up liking this better than mega.nz.
And since its storage, its flexible. No reason it couldn't store the user's message history, like an email inbox.
Thanks for the elaboration! Very salient points especially about the accessibility to laypeople. As I said in another post, when I fumbled around on Lemmy it seemed like a recipe for another 4chan.
A decentralized network show no trace of decentralisation on the surface.
To me that doesn't seem too hard to achieve with some additional infrastructure, but it's not that it's just a technical problem, it's that federated networks usually consist of instances based around topics, rather than providing infrastructure for all.
How do I know if a Lemmy server is good? I joined Lemmy.world, but just because it was the first that appeared in the discovery page
I don't use Lemmy, but I have two suggestions:
I'll ask a follow-up - for the technically inclined, how hard is it to run your own Mastodon/Lemmy instance? To use your email analogy, email hosting (and especially email sending) is largely handled by large companies, because spam caused self-hosted email to be perceived as untrustworthy. Is that an issue with Mastodon? How easy is it for me, some random schmuck with a VPS and a domain name, to run a personal Mastodon instance and start federating with the wider Fediverse? Will other instances accept federation, or will I be shouting into the void?
I tried running my own Mastodon instance with Masto.host, a managed hosting service, for a little while so I could have a Mastodon username at my own personal domain name.
Since it was a managed service, it was very easy to get up and running - you have to do very little besides pay the subscription cost. However, I found it boring as I was my instance's only user, which meant no local timeline and limited federation. I could follow everyone I wanted, but there was basically no firehose of posts from people I didn't follow.
It's not that other instances won't accept federation - they nearly all will by default. But it takes a lot more work to get federation happening when you're running your own instance with few users.
In the end, I cancelled my subscription and continued using Fosstodon, my original instance.
You generally won't have trouble with being blocked or defederated unless your instance and its users cause trouble for others. Lack of moderation is a common cause for being blocked. If an instance's users are given free reign to harrass people, the whole instance will quickly get blocked by others.
If you're technically inclined, I assume it's not difficult to self-host your own instance. There's a pretty thorough guide here.
As I understand it, federated platforms can better be thought of as new protocols for communication. Think of it like email — you may have signed up for a Gmail account (and received an @gmail.com username), but you can just as easily communicate with @yahoo.com or @proton.me members via the "email protocol". Gmail may offer you some features or add-ons specific to Gmail, and you're beholden to Gmail rules and regulations, but you and all other email users can talk to each other over IMAP/POP/SMTP.
In the case of Mastodon, the protocol is ActivityPub, for BlueSky, it's the At Protocol, for Lemmy, it's Lemmy (a subset of ActivityPub). Since the protocols are open, anyone can spin up an instance and communicate with other users while implementing their own features and moderation (like you could set up your own email server). And if an instance has lax moderation and allows undesirable activity, you can block that domain (like you can filter out email domains).
Personally, I'm not really active on any federated platforms, so I can't comment on how each one handles cross-domain content. It seems like it's up to each instance owner to decide (to a degree) how easy they want to make that.
Thanks, the email server analogy clicked for me!
I think it depends on the instance, but in most cases it should be both. For example, Mastodon allows you to block users or domains: https://docs.joinmastodon.org/user/moderating/#block
And instance owners should be able to block domains from federating with them as well.
it has been already explained in the other comments but I just want to add my two cents, when I first tried mastodon a while back, I kept thinking it was one social media website and was frustrated when I couldn't find what I wanted to see (this is why choosing a suitable instance is important) and just kept seeing the toots (the "posts" on mastodon were called toots) I wasn't interested in. I then realized that's not the case, fediverse is more like a set of self-hosted social media (think of it as something like phpbb but all connected) websites that communicate with one another. I know that may seem obvious but it wasn't to me at the time, anyway, what I'm getting at is, each instance is a forum/microblogging/whatever on its own, so for example, if you go to emacs you will find people talking about emacs; if you go to fosstodon you will find people talking about FOSS; if you go to mastodon.art you will find people talking about art or posting art etc. but users from all these instances can interact with one another, and now to complicate things, you can comment on, like, or boost/repost from any activitypub enabled site, so you could for example, comment on a peertube instance from mastodon account and from your instance!
so... now the important question, how to do that ? it's simple, you just copy the link of the post or video and paste it into your instance's search bar. (this is only for posts that are not already federated, e.g. if you can't find it by searching just the name of the account or hashtag, otherwise you can obviously view them normally)
it works the same way in lemmy. and yeah to discover new content you'll have to go the said instance instance and copy the link and paste it to your instance's search bar. also, in lemmy, you'll only see posts from other instances if you're on the "All" tab, you'll know a post is from another instance if the username is in the form
@username@instance
(in the case of communities, there isn't an @ at the start) mastodon has a "remote only" option but lemmy unfortunately does not.I feel like I made this comment longer than it should be but I wanted to elaborate, hopefully it is helpful
Ah, there's the rub, you see. The sort of stuff you see as a novice will be heavily dependent on the instance you join, as you say, and it seems to take quite a bit more active hunting to build the sort of feed which you want.
I swear I'm not lazy or a luddite, but it just seems a lot harder for people to stumble upon interesting content and decide to join.
you're right, it can definitely be improved, maybe a dedicated input box for links ? in any case yeah, it's not ideal but fwiw they have an API so someone can possibly make client that makes it easier to use.
This doesn't answer your question but I have one too. I've dabbled in the fediverse a bit but I have a huge problem with the discoverability.
On reddit, when I get into something, I go to its sub and find people discussing it. But on the fediverse, if I want to look for people talking about, say, Street Fighter, I put it in the Mastodon or Misskey search bar and get very meager results. I can't even tell if anyone's discussing the topic across the entire fediverse or not because I can't see everything across every instance at once, only in the ones federated with mine, and even then, it's difficult.
In my case, it doesn't help that I'm on some near empty Misskey instance that I should probably leave from. But where to? I can't tell where people are discussing the things I'm into because there's a billion instances and I can't really explore them all. The most popular ones are massively focused on serious topics like tech, software dev, FOSS and all that, and while I do have interest in that, it's not the main thing I use social media for, so having my feed flooded with it when I'm looking for other kinds of content doesn't help. It's hard to find instances that actually fit what I'm into, and when I do, they're unpopular.
Is there something I'm missing about how to use the fediverse that would make it all make sense for finding content? Honestly, I have the same problem with Tumblr and even Twitter, so I don't know if it's purely fedi's fault, but it does feel a lot harder there.
Your best bet for discoverability and content is to join a relatively large instance. The bigger an instance, the more likely it is to federate with a lot of other instances and be pulling in more content.
Currently fiddling around with mastodon. It looks like the thing to do is just join a big, generic instanceand start adding hashtags that interest you. But yes, I think it works better if the user is into the main areas of activity like software development and so forth and can then add tags and snowball from there.
Having said that I never got the hang of Twitter either.
I'm just going to archive this wonderful writeup of the fediverse's moderation problems right here. it's enlightening reading. Even if OP is confused about the Tildes philosophy, he's not wrong about the fediverse and what's going to happen to lemmy in the long run.
The tendency to fracture does persist with tildes too though. I mean, we're trying to cultivate a certain culture here, but we've already seen parts of the user base fracture off into their own thing, and I imagine as the site grows that will be harder and harder to ward off. The simple fact is that social relationships like trust, tolerance or hate aren't transitive. There is, with a likelihood bordering on certainty, a transitive chain of friendships from you or me to a literal nazi. That doesn't mean I'm friends with a nazi. But if you wanted to build a social network where everyone could invite their friends, you're left with two choices:
(1) You now have a nazi on your network. He brings his friends. You probably don't like that. Voat.
(2) Somewhere along that chain, you draw a more or less arbitrary line in the sand. The first person in that chain that is actually intolerant has to stay outside. The last person that is still tolerant is miffed, because their friend, who "isn't a bad guy at all" can't join them. They are inclined to fracture the network. Good riddance, you say? Well, the "shore of tolerance", the last acceptable link in the chain, is under continued threat of eroding away towards a network where their friends can join them. After them, there's a new shoreline that's under threat. These need not erode away towards a literal nazi site, just some place else that draws the line somewhere else. It should be noted that (afaict) tildes has experienced this erosion both from the left and right.
This is however all predicated on the assumption that we're building one cohesive space where everyone has to get along with everyone else. Maybe that is the point we should attack the problem from. There's already discussions about letting groups differentiate out into distinct cultures, with distinct crowds and moderation, and I'm not opposed to that. But I don't think that alone is a solution to the fracturing problem. You're just building a fault line along which fractures could form.
Here's an idea: Currently, tildes moderation is objective. Or at least, it's subjective through one person's lens: Deimos. Maybe we can build a system that moderates away undesired content, not based on what Deimos deems appropriate, but based on what the viewing user deems appropriate. There's probably still a need for the admin to moderate out the worst elements, but I can imagine that users have a much harder time finding issue with the crowd they're with. While the space is fractured, in a way, into the content you can see and that you can't, the fracture is always reasonably far away from you.
The thing I'm wondering about in such a setting is, how would it feel to exist in such a space? It's loses some of the analogies with physical spaces we're used to. Content that you can see, maybe I can't. Maybe you complain about people doing X thing, and I can't even see it.
(I'm focusing this on the social problems of such a system. I'm completely disregarding technical feasibility. If anyone's interested, or maybe even if not, I will work out and write up how I could imagine such a thing to work on a technical level. At least the parts around data, stats, and ML; how to make predictions of who to display; not so much the web development parts. I imagine the data tildes does currently collect might not necessarily be sufficient, but not sure about that.)
I don't have much to add other than to say that I really appreciate this well thought out post.
After doing some glancing reads on the subject, and checking out Kbin Social, I mean it looks alright. But everything seems fractured, all this Lemmy stuff, instances...a mastodon? I understand we can subscribe to these things as one, but...with what 'main' account?
I will say Kbin looks nice, and nicer than tildes on on my iPhone. But I still don't really get the whole fediverse stuff - if I find it confusing...I think it'll blow a casual reddit users mind honestly. If I were to sign up for kbin, am I still able to take that account to the other places? Will each have their own PCgaming 'sub' for instance? Questions upon questions!
edit: Kbin seems slow also, not good.
Is there an app you use for kbin on iOS?
And yes, apparently you can use your Mastodon 'account' on other fediverse thingies. No idea how to, though.
Nah I only looked at it today on PC and my phone, the Safari website was decent but I think the whole fediverse whatever was acting up as it was slow.
I would prefer an app for both here and kbin as safari just feels a bit janky, despite both having really great browser looks.