How We’re Supporting Open Source Maintainers ($50,000)

I’m a huge proponent of open source, and here at Frontend Masters, we’re constantly looking for ways to support and promote various projects. Whether it’s through creating courseware for new projects, teaching our students how to work with them, engaging with maintainers, or even donating directly to some projects.

In fact, since 2019, we’ve donated over $250,000 via Open Collective.

This year, though, we’ve decided to do things slightly differently. Inspired by Chad Whitacre @ Sentry, rather than large donations to a handful of projects, we are switching to donating to as much of our dependency tree as possible.

As a first step in this experiment, we’ve allocated an initial budget of $50,000. We will distribute that money across the three channels detailed below.

10% of funds donated via GitHub Sponsors

We will donate $5,000 over the next 12 months to as many dependencies as possible on GitHub Sponsors. Our final list totaled 161 organizations and maintainers, ranging from $2 to $7 monthly. We achieved 93% coverage as some maintainers had set a minimum donation threshold larger than $10/mo.

While some may not see the value of smaller donations, we’ve heard from many that even small amounts can be motivating. In fact, according to the Linux Foundation’s 2020 FOSS Contributor Survey, most maintainers rank making an impact on the world, doing great work, and learning above getting paid. As such, we’d like to think of our small donation as a way to recognize and hopefully motivate a larger pool of maintainers.

10% of funds donated via Open Collective

Furthermore, we think it’s unhealthy for the ecosystem to have the larger projects sitting on multiple $100k of inactive funds in their Open Collective account while smaller projects go unrecognized.

Further to our dependency tree, there are projects central to our courses or some that we think are critical tools or infrastructure projects that don’t appear in dependency trees.

We internally curated and ranked a list of 18 projects we’ve funded via Open Collective.

The remainder of the funds will be distributed via thanks.dev.

Like Sentry’s experience, we’ve found scaling open-source sponsorship with thanks.dev a breeze. Our dependency tree consists of 1,100+ GitHub and GitLab projects, of which over 350 are fundable via various channels.

As noted previously, our goal this year is to achieve fairness and work towards improving the health of the communities we rely on. Our partnership with thanks.dev has allowed us to avoid the logistical nightmare of manually managing that many donations.

We’ve allocated a monthly budget of $3,125 and ranked our repos and the ecosystems we depend on. Thanks.dev is handling the rest.

As of now, further to our donations on GitHub Sponsors, there are also 148 projects receiving funds via thanks.dev with amounts ranging from $10 to $147. The full list is available here.

Final Thoughts

The beauty of Open Source lies in its near-pure meritocratic essence: projects providing significant value thrive with downloads and contributions, while others struggle to grow in contrast. However, the Linux Foundation’s 2020 OSS Contributor Survey also found that many maintainers have considered quitting due to burnout, with higher risk among popular projects.

Our experiment this year is an attempt to shine a light on this threat to open source.

While it’s commendable that large tech companies support the more significant Open Source projects via donations to foundations and providing compute resources & staffing, we’d like to encourage companies of all sizes to start supporting the smaller projects as well.

Finally, we Frontend Masters joined the FOSS Funders to learn from other companies sponsoring open source. We want to work with them to iterate and find a sustainable model that supports the hard work that goes into the software we all use and love!

I’d love to hear your feedback on our approach to funding open source; cheers!

Leave a Reply

Your email address will not be published. Required fields are marked *