Hello Web Monetization Community!
We’re back with the second interim report for our project, Gib. When we started working on Gib during the first round of Grant for the Web back in 2020, we had one mission: make sharing prepaid links to web monetized content as easy as possible. Though our initial implementation did not prove to be viable given the available technology, we persisted and ended the first grant period with a vision for how Gib could take shape. Incidentally, Interledger also announced the Rafiki toolkit around the time of our final grant report. Fast-forward to the middle of the current grant period and we have been able to make substantial progress toward that vision.
This time around, we have focused intensely on building the product. We have set up the hosting infrastructure to support our prototype launch, delved into the brand-new Rafiki project as a backend architecture, spun up some of the front end components that will make the prototype a success, and begun consulting with legal teams about the fiscal compliance of our product. Enabling all of this are some truly fantastic collaborators that we were able to bring on thanks to our Grant for the Web funding.
Before the grant period started, we set out to create a development environment that could be used to onboard teammates as quickly as possible. First, we conducted a preliminary security audit of our envisioned architecture, and found that the backend components of Rafiki would require a Dockerized environment running with root privileges. As a hedge against security pitfalls we generated an Ubuntu sandbox running inside of a VirtualBox VM, which we then used to successfully execute a running test instance of Rafiki from its GitHub repository. Rafiki’s test suites are exceptional, and we felt a real sense of wonder when we saw them run to completion on our test box.
In month 1 of the grant period, we continued work on our onboarding environment, with the aim of using GitHub Codespaces as a safe and shareable place for future collaborators to work on Gib. Unfortunately, Codespaces was running on a Microsoft Azure host that was not set up with the latest Linux kernel, which is required for some of Rafiki’s components to function. We raised discussions within the Codespaces community on GitHub and StackOverflow, but did not receive a response before we decided to change tack and go with a more configurable infrastructure provider.
At the same time in month 1, we began working on a different kind of infrastructure: the legal kind. We approached and onboarded Tamir Haddad, founder of Legal & Ops P.C., to provide us with General Counsel services. Tamir has helped us with tools and advice for hiring as well as open source licensing. Just as well, we met with with Kimberly Holzel – a Partner and expert in Fintech compliance from Goodwin Procter LLP – to figure out how we can navigate Gib through the various money licensing hurdles that face it. Through Kim, we discovered that we can potentially partner with an established financial institution that will act as the custodian of our Interledger-enabled digital wallets.
In month 2 we landed on Linode as our shared development environment and prototype hosting service. We were able to spin up an Ubuntu-based server running the latest Linux kernel and set up all of the other dependencies required to run Rafiki. This came together just in time for us to engage with our first developer contractor, Tyler Altenhofen. Tyler came to us through The Recurse Center (where Alex is also an alumni), with several years of programming experience under his belt.
Month 3 saw us complete onboarding Tyler, which was a learning experience for all of us trying to gather the various blog posts and pieces of documentation around the “money sender” side of the Web Monetization spec and reassembling them in a way that someone who is completely new to the project could hit the ground running with. We set up a project board on GitHub and took off from there. Tyler has since put together excellent implementations of our link generating browser extension, the Payment Manager installer, and part of the Payment Handler service.
Most recently, we have begun the work of implementing an API around Rafiki on our Linode server that will be used by our Payment Handler service to transfer money from a Gib wallet to a content creator’s payment pointer. We have also begun engaging with a motion graphics expert to bring the promise of Gib to light for content sharers of all stripes.
Lastly, Alex gave a lightning talk on Web Monetization to an audience of over 70 software developers at the Recurse Center’s annual Never Graduate Week! Slides from that presentation are available here.
Discussion is ongoing. On our own, getting licensed as a money transmitter in all 50 U.S. states (as a start for us) would be a long journey, so we are working to bring on an institutional partner that can expedite our compliance.
We spent the first half of the grant learning about the legal resources that would be most helpful for our project. We intend to spend the second half of the grant period engaging with said legal resources for specific and viable solutions.
Several of our internal components have been built out (e.g. the link database, the link generator extension, and the payment manager installation proxy).
A front end mock-up is being used as a waypoint to guide focused development of the prototype.
We have also secured the domain gib.gives to link to our project.
We have the Rafiki backend running with a passing test suite on our Linode host, and are defining endpoints based on the API contained therein for our Payment Handler service to interact with.
We are working with Kris Castro, a motion graphics expert, to develop a short animated explainer video of Gib and how it is enabled by the draft Web Monetization specification. Our goal is to have this media ready by the launch of the Gib prototype in July.
As previously mentioned, Alex spoke about Web Monetization at Recurse Center’s Never Graduate Week 2022 event. The slides from that talk are available here.
We will continue to work with Rafiki and aim to contribute to their open source codebase in the coming weeks. Early on, we contributed an issue to the Rafiki repository regarding GitHub Codespaces, but closed it without an attached PR as Codespaces configuration at the necessary level is out of our hands at this moment.
Furthermore, we will continue to work with our legal counsel to produce a viable and compliant financial partnership for our project.
We are also planning to host a launch event where we will debut our prototype to the public, along with our short edutainment video. Stay tuned for details!
We would love to hear how other people have spun up Rafiki and what their experiences and takeaways from it have been. We would also love to consider more potential use cases for Gib from the community.
If you are in the NYC area and are interested in attending our video launch event, or are interested in watching our video when it goes live, drop us a line at firstname.lastname@example.org