Federation: Implement Indieweb and/or ActivityPub integration
Background
Closely linked to the Drutopia aim of "putting the best online tools into the hands of grassroots groups" is that of enabling groups and individuals on different sites to interact and pool ideas and information without relying on corporate "silos" such as those of the big social media corporations. A key idea here is federation. This is the ability for users and groups on different sites to discover each other and interact on the basis of using . The grouping of sites that are connected in this way is referred to as the "Fediverse". According to a site with stats about these sites, https://the-federation.info:
The Federation, or as often called the "Fediverse", refers to a global social network composed of nodes that talk to each other. Each of them is an installation of software which supports one of the federated social web protocols.
These social hubs create a decentralized and federated social network of millions of users all around the globe.
There are (at least) two main approaches to federation and creating alternative ways of connecting sites together: IndieWeb and ActivityPub.
IndieWeb
The IndieWeb initiative is
a people-focused alternative to the "corporate web".
Integrating with IndieWeb involves marking up content in ways that are both human and machine readable and that facilitate inter-site sharing without relying on corporate platforms (FaceBook, Twitter et al). The markup uses microformats and related initiatives.
Indiewebify.me provides documentation on how to join the IndieWeb.
The principles of the IndieWeb resonate strongly with Drutopia principles and values.
ActivityPub/the "Fediverse"
ActivityPub is a decentralized social networking protocol and is an official W3C recommended standard published by the W3C Social Web Working Group. ActivityPub is gaining adoption as a means for people and groups using different websites and softwares to speak to interact and collaborate. The Fediverse is the name given to these federated sites.
- Background info on ActivityPub
- Specification for ActivityPub
- Specification for ActivityStreams, the basis of ActivityPub.
- Specification for Activity Vocabulary, which details "extended types" for ActivityStreams actors and object such as Person and Note.
- LitePub, an unofficial spec extending ActivityPub.
- Discussion forum on ActivityPub
Sample ActivityPub implementations:
- Mastodon, microblogging, "Social networking, back in your hands"
- PeerTube, video hosting, "A free software to take back control of your videos"
- WordPress running the IdentityPub plugin, blogging, "Your readers will be able to follow your blogposts on Mastodon and other federated platforms that support ActivityPub."
- Write.as/WriteFreely, blogging, "WriteFreely is free and open source software for starting a minimalist, federated blog — or an entire community."
- Lots of other active projects such as the Mobilizon event platform
IndieWeb + ActivityPub
ActivityPub and Indieweb are closely related; see ActivityPub page on the Indieweb wiki. Notably, the Bridgy Fed project:
Bridgy Fed lets you interact with federated social networks like Mastodon and Hubzilla from your IndieWeb site. It translates posts, replies, likes, reposts, and follows from webmentions to federated social networking protocols like ActivityPub and OStatus, and vice versa.
Existing projects and initiatives
Indieweb Drupal module
Integrates the philosophy of Indieweb in your Drupal website. Functionality includes:
- Receive webmentions and pingbacks via Webmention.io
- Publish content via bridg.y, store syndications
- Microformats for content, images
- Micropub for creating content
- Creating comments from 'in-reply-to'
- IndieAuth and Authentication API
- Microsub link exposing
- Blocks for rendering webmentions
See also:
ActivityPub
There is a placeholder project at https://github.com/swentel/activitypub. The issues on that project include an initial attempt to scope what would be required to build it out. In short, a lot.