this post was submitted on 24 Oct 2023
1168 points (86.1% liked)
Technology
59132 readers
3250 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Mastodon is just one of the many frontends for ActivityPub, the protocol behind the whole thing. While Mastodon software indeed is written and maintained by an organization, it is nonprofit, and doesn't have any control over the actual Mastodon instances since those are basically run by enthusiasts
This makes sense, thank you. I'm becoming so aware of how little I know about software (I had to look up the term frontend).
Is this right: Mastadon is an open source frontend and ActivityPub is the open source backend. And Mastadon is kind of like a tool that people use to create instances. The instances keep all of their data on their own servers, but the servers can talk to each other so every server has access to data from every other server. So if Musk bought Mastadon, he wouldn't have control of all the individual servers' data, and if Musk bought a server, all the users who wanted to could switch to another server without losing any of their data. Does this mean that every server holds a copy of all of the data from the whole network of servers?
The instances sync data only as needed - for example, if a user on a specific instance is following someone on another instance, and that someone posts something. Fetching and storing data from the entire Fediverse would require an absolutely enormous amount of bandwidth and storage, much more than most people will ever be able to afford and maintain :) (This is also why instances often purge old cached data - to reclaim storage space that is unlikely to be taken by useful data, per the nature of minuteness of social networking, and if you ever need a deleted resource, it can just be requested and synced back up to your instance, as long as it's still available on the original one.)
As the end user, you should be aware that this synced data may, and most likely will at some point (not many instances achieve absolute 100% uptime, after all), get incomplete - especially if you're using a smaller instance. When browsing user profiles, it is generally a good idea to look up their profile on their own instance, as it is guaranteed to have all of their data.
Also note that my explanation regarding "frontends" is oversimplified and technically inaccurate: a "frontend" is the user interface part on top of the software that implements the protocol. This, basically, means that you don't have to stick with whatever UI your instance offers - there are other web and native clients that will talk to your (Mastodon, Pleroma, Misskey, whatever they come to support) instance, and your instance will still handle all things ActivityPub, such as fetching data from other instances to it and vice versa.