Streams by Markku Documentation

Federation: a brief introduction


Using your account on a Forte/Streams-based service, you can connect with people on thousands of other independently-operated services. This is called "federation". (Hence the word Fediverse, a vaguely-defined universe of federated services.) A single independently-operated system is called an instance, and may have any number of users.

Traditional social networking services (Facebook, X, internet forums, etc) are centralized, not federated. One entity, a giant corporation or something smaller, stores all of your posts, user information, images, etc on one or more computers that are under its own control. You can't send your Facebook posts to followers on X, and you can't comment on a Reddit discussion from your YouTube account.

In contrast, consider e-mail. There are many independently-operated e-mail providers, but they have all agreed on one communications protocol for sharing data. So you can send mail from your GMail account to your friend's Outlook account, or to your bank's customer service account on its corporate e-mail server.

Federated social networks are somewhere in-between. Thousands of independent instances have agreed to exchange information via standard communications protocols. So you can send your posts from an account on a Facebook-like service (such as Forte and Streams) to your followers on an X-like service (such as Mastodon and Akkoma).

These thousands of independent instances can be running any of dozens of types of software which can be very different from each other. And this is why the Fediverse can never exchange information as smoothly as e-mail: these dozens of types of Fediverse software are specialized for many different purposes.

For example, Pixelfed is a replacement for Instagram. You can connect to a Pixelfed user from your Forte/Streams instance, and you can receive and comment on their photos. But the Pixelfed user will not see your posts unless they contain at least one photo, because Pixelfed is built to ignore text-only posts.

Here's another example that is more subtle. Facebook users expect that if they post and start a conversation, they own that conversation. The owner controls who can see the conversation. Nobody can reply without the owner's permission. Everyone who has permission to see the conversation can also see all the replies. And this is how we handle conversations with Forte and Streams (and some other similar Fediverse software).

The X-like parts of the Fediverse (including Mastodon) don't work this way. Nobody owns any posts or comments. Anybody can read anything, anybody can reply to anything. Their software can't reliably assemble a post and comments into a conversation, and it can't automatically forward your reply to all the other participants. We can communicate with these folks from Forte/Streams -- IF we comply with the requirements of their very different system.

Technical differences across the Fediverse have given birth to very different social environments and specializations. So if you don't mind the extra effort, you can get a lot of variety via federation. But if you prefer, Forte and Streams give you the tools to ignore almost anything that you find annoying.