Build Decentralized, Federated, Social Apps from Top Open Source Fediverse Applications
by Ashok Balasubramanian Updated: Mar 13, 2023
Guide Kit
This kandi kit on Fediverse applications helps you build federated social applications like Twitter. LinkedIn, Good Reads, Instagram, Reddit, and many more alternatives based on the ActivityPub protocol. You can use these popular open source libraries, such as Mastodon, PeerTube, WriteFreely, Plume, Owncast, Pixelfed, Misskey, BookWyrm, and others, to build your applications across micro, macro blogging, writing, reviews, podcasts, link aggregators, and professional networks.
A federated social network is a type of social network comprising multiple different providers or platforms. Instead of being controlled by a single company or organization, it is decentralized and distributed across these different providers. It enables interoperability among multiple social networks in a transparent way. The focus is on data exchange, and different networks adopt one unified data architecture so that a robust, heterogeneous network-of-networks can emerge.
Federated social networks solve issues commonly found in traditional social networking platforms, such as lack of user control and limited diversity in services. By joining a federated social network, you can select from various profile providers or even host your own server. This allows for greater innovation and flexibility. Additionally, profiles on different servers can communicate with each other seamlessly.
A federated social network comprises multiple independent services that communicate with each other using standard protocols. This allows users to interact with friends on different social networks without joining the same one. In other words, users from different social websites can communicate with each other seamlessly.
ActivityPub is a decentralized social networking protocol based on the ActivityPump protocol from Pump.io. It offers a client/server API for managing content and a server-to-server API for delivering notifications and content between federated servers. ActivityPub is recognized as an official standard by the World Wide Web Consortium’s (W3C) Social Web Networking Group.
ActivityPub is a protocol that allows different social media platforms to communicate with each other. It does this by providing a standardized way for platforms to create, update and delete content and deliver notifications and content between servers. This means that users on one platform can interact with users on another platform that implements the ActivityPub protocol.
For example, Alice is on a social media platform called “SocialA” and Bob is on another platform called “SocialB”. Both SocialA and SocialB implement the ActivityPub protocol. This means that Alice can follow Bob’s account on SocialB from her account on SocialA. When Bob posts something on SocialB, Alice will see it in her feed on SocialA. Similarly, when Alice likes or comments on Bob’s post from her SocialA account, Bob will see the like or comment on his SocialB account.
This is possible because both platforms use the same standardized communication method through the ActivityPub protocol.
Here are some cool open source applications to build micro, and macro blogging, writing, reviews, podcasts, link aggregators, and professional networks.
mastodonby mastodon
Your self-hosted, globally interconnected microblogging community
mastodonby mastodon
Ruby 42009 Version:v4.1.2 License: Strong Copyleft (AGPL-3.0)
PeerTubeby Chocobozzz
ActivityPub-federated video streaming platform using P2P directly in your web browser
PeerTubeby Chocobozzz
TypeScript 11703 Version:v5.2.0-rc.1 License: Strong Copyleft (AGPL-3.0)
writefreelyby writefreely
A clean, Markdown-based publishing platform made for writers. Write together and build a community.
writefreelyby writefreely
Go 3630 Version:v0.13.2 License: Strong Copyleft (AGPL-3.0)
Plumeby Plume-org
Federated blogging application, thanks to ActivityPub (now on https://git.joinplu.me/ — this is just a mirror)
Plumeby Plume-org
Rust 1947 Version:0.7.2 License: Strong Copyleft (AGPL-3.0)
owncastby owncast
Take control over your live stream video by running it yourself. Streaming + chat out of the box.
owncastby owncast
TypeScript 7457 Version:v0.1.0 License: Permissive (MIT)
misskeyby misskey-dev
🌎 An interplanetary microblogging platform 🚀
misskeyby misskey-dev
TypeScript 6545 Version:13.13.2 License: Strong Copyleft (AGPL-3.0)
epicyonby bashrc2
ActivityPub server without Javascript, designed for simplicity and accessibility. Includes calendar, news and sharing economy features to empower your federated community.
epicyonby bashrc2
Python 37 Version:Current License: Strong Copyleft (AGPL-3.0)
socialhomeby jaywink
A federated social home
bookwyrmby bookwyrm-social
Social reading and reviewing, decentralized with ActivityPub
bookwyrmby bookwyrm-social
Python 1659 Version:v0.6.3 License: Others (Non-SPDX)
go-littrby mariusor
Link aggregator inspired by (old)reddit using ActivityPub federation.
go-littrby mariusor
Go 242 Version:Current License: Permissive (MIT)
reel2bitsby reel2bits
Self-hosted Soundtracks and Podcasts sharing, with ActivityPub federation.
reel2bitsby reel2bits
Python 162 Version:Current License: Others (Non-SPDX)
moontreeprojectby Faleidel
the moon Tree Project is an open source link aggregator
moontreeprojectby Faleidel
TypeScript 18 Version:Current License: Permissive (MIT)