A federated social network is one comprised of multiple decentralized and independent websites/servers ("instances"), which communicate among each other to form a cohesive body of content, activity, and user identities. A user with an account on one instance in such a network should be able to interact with users throughout the whole network as though it were one site. Many federated social network projects exist, and (to varying amounts) are intercompatible, together comprising what is sometimes called the "Fediverse."
Feddle (federation extension for Flarum) aims to integrate participating Flarum instances into the Fediverse. Forum discussions have a lot in common with other kinds of social media posting, while also bringing unique value to the table. There's potentially a lot to be gained from federation for Flarum and for the rest of the Fediverse.
I've been researching one thing after another leading up to this for near six months. Now I finally have a repo up.
https://github.com/squeevee/flarum-ext-feddle
This extension uses the W3C standard protocol ActivityPub for interoperability, which makes it out-of-the-box able to interact with most of the Fediverse, including:
- Mastodon (you know, the one you've heard about)
- Pleroma
- Friendica (we're using some of their code, gotta mention them)
- Blogging platforms such as Write Freely, Plume, and WordPress w/ Pterotype (using a lot of their code, see below)
- Specialized platforms like PeerTube for video, PixelFed for photo sharing, and Funkwhale for music
- About a zillion other microblogs
- No standalone forums (yet)
Mind, a lot of projects on that list are new and yet to be officially released. We'll fit right in!
A couple of other mainstay projects are working on supporting ActivityPub, namely pump.io and gnu.social. Diaspora, probably the second most famous federated social network, does not seem interested in ActivityPub unfortunately.
I mentioned Pterotype. That's important. Pterotype's ActivityPub code is the foundation of Feddle's server-to-server interactions. The standalone library is still very much a work in progress, so I intend to contribute to it perhaps even as much as I do to Feddle. I recommend anyone interested in this project keep an eye on it.
https://github.com/pterotype-project/activitypub-php
The idea of small communities making social spaces on their own terms, was what initially attracted me to Flarum. I'd mused about federating it, but I never expected to be able to do it so quickly. I'm very excited for this project!