Interledger Foundation fellowship interim report: Web Monetization on the Social Web

Overview

In April 2023, I began a fellowship with the Interledger Foundation to advance Web Monetization in Mastodon and other applications using ActivityPub. ActivityPub is a W3C standard that adds a social layer to the Web platform. It enables any website or app to have social networking functionality that can interoperate with other websites and apps. Instead of everyone having to join one social network, people can now pick a social network provider like they can pick an email provider. My project’s goal is to adapt Web Monetization to work within federated social networks with Mastodon being the reference implementation.

Project Update

Interledger Foundation joins the social web

My first task was to setup a Mastodon community server for the Interledger Foundation. This required more effort than I anticipated. The Mastodon project did not have an automated way to operate the server application and its required dependencies with the security and reliability expected of commercial services. I created a Terraform project to provision the cloud infrastructure necessary to run a Mastodon instance and deploy the Mastodon software on Google Cloud Platform. This code is now open sourced and anyone can use it to easily deploy their own Mastodon instance onto Google Cloud Platform in under 30 minutes! I also submitted multiple fixes and bug reports to the Mastodon project and to Google Cloud Platform’s Terraform provider.

Once the technical part was ready, I worked with the foundation to establish community guidelines, a privacy policy, and moderation plan to support inviting the general public to join its Mastodon server. I documented Mastodon-specific norms for brands and worked with Julaire Hall to start posting all of the foundation’s great social media posts on Mastodon too. We then opened Interledger.social to the world. I hosted 3 office hour sessions to help people learn about Mastodon, the social web (aka federated social networks, “the fediverse”), and get their accounts setup.

Building Web Monetization into Activity Streams

Before support for Web Monetization can be added to Mastodon, support for Web Monetization must be added to the technology standards that Mastodon uses. Mastodon and other federated social network servers send data to each other using a protocol called ActivityPub. The data must be sent in a format called Activity Streams.

Web Monetization requires a payment pointer, which is a URL to an Open Payments API entry-point. I wrote a proposal for how to add a payment pointer to the Activity Streams data format. It’s now being reviewed by people working on the Web Monetization standard.

The W3C group that defined the Activity Streams standard concluded its work in 2018. Extensions to the data format are now proposed and adopted informally by the developers of federated social network servers. Once the Web Monetization group agrees on how to represent payment pointers in the Activity Streams data format, I will submit a Fediverse Enhancement Proposal for consideration by server implementers.

Building Web Monetization into Mastodon

Once the Fediverse Enhancement Proposal is finalized, I will submit a pull request to the Mastodon project that adds functionality to:

  1. Allow a server to set its payment pointer
  2. Allow a user to set their payment pointer
  3. Append a user’s payment pointer to their posts and profile
  4. Store payment pointer information for received posts and user profiles
  5. Dynamically set the active payment pointer in the Mastodon web app based on the post or user profile being viewed

When this work is completed, Mastodon servers and creators with payment pointers will start receiving streaming micropayments from followers who use a browser with Web Monetization support.

Project Impact & Target Audience

Federated social networks allow a digital creator to finally, truly own their online presence, relationship with their audience, and their distribution. It’s now possible for digital creators to break free from the problematic algorithmic curation of centralized social networks that never shows their work to their followers or unjustifiably moderates their posts. Marginalized communities can create their own safe places online, set their own rules for acceptable behavior, and decide how to deal with bad behavior by people on other servers. We have a unique opportunity and momentum right now for people to choose an online community managed by people like them and say goodbye to exploitative, privacy-invading, ad-filled social networks like Instagram, Twitter, and others.

These community servers are not free to run. They need tools to help financially sustain their operation. Similarly, digital creators need tools to be supported financially by their fans. If we can get Web Monetization added as a standard feature in ActivityPub servers and we can convince fans to setup a digital wallet in their browsers, we can expand the economic opportunity for digital creators globally.

The potential is huge. This is a multi-year journey dependent on several other efforts the foundation is investing in. The exciting part for me is how achievable this all feels in this moment.

Communications and Marketing

I led a session on financial sustainability of social web community server operators at Fediforum virtual conference and participated in the MozFest workshop on the next steps for the fediverse in March. That led to creation of the Fediverse Developer Network, a group that meets regularly to discuss progress and challenges in developing fediverse servers.

I presented an introduction to Mastodon and federated social networks at the June Open Payments Huddle and to the Future Money Grantees in July.

I submitted proposals to several conferences and hope to speak more about my work this fall and into next year.

What’s Next?

  • Finalize the representation of payment pointers in Activity Streams with the Web Monetization standards group
  • Submit the specification as a Fediverse Enhancement Proposal
  • Complete the code and submit a pull request to the Mastodon project implementing the specification

Community Support

If you haven’t already, follow Interledger on the social web.

If you haven’t joined a social web community server yet, read my getting started guide and consider joining Interledger.social.

When my Fediverse Enhancement Proposal is published, please add a comment stating your support for the idea and why you believe this particular implementation is the best one. This will show Mastodon and other federated social network server developers how much support there is. I do not work for the company that created Mastodon, so I cannot guarantee my pull request will be accepted. My hope is that people who believe in the fan-supported creators will join me in advocating for this feature to be included.

Special Thanks

  • Erica Hargreave for brainstorming with me early on about bringing federated social networks and Interledger together and encouraging me to apply for the fellowship
  • Alex Lakatos for providing constructive feedback along the way
  • Chris Lawrence for connecting me with the right people within the foundation, generally making things happen, and getting up super early to fix Zoom meeting issues
  • Ayesha Ware for helping me prepare for the Open Payments Huddle, being a fantastic emcee, and answering my newbie questions about setting up Eventbrite webinars
  • Julaire Hall for making the Interledger account worth following with great posts
  • Adrian Hope-Bailie and Kevin Swiber for feedback and guidance on using JSON-LD
  • Anna Sheard for reviewing my blog post drafts
  • Hui Jing for approving my PRs
  • Sabine Schaller, Lawil Karama, and Melissa Henderson for the productive conversations about how the Web Monetization spec should evolve