Apr 26, 2021
The myriad of tools relied upon by developers every day is built and maintained almost exclusively by unpaid volunteers. The maintainers of open-source projects - our digital infrastructure - are in desperate need of support. Because code is less charismatic than a hit YouTube video or Kickstarter campaign, there is little public awareness and appreciation for this work.
Open-source, by design, is not financially sustainable. Finding reliable, well-defined funding sources is exceptionally challenging. As projects grow in size, many maintainers burn-out, find themselves unable to satisfy increasing support/maintenance demands and, unfortunately, in my particular case, irrevocably harm their marriage.Russell Keith-Magee delivered this beautiful keynote at PyCon, which captures the essence better than I can put in writing because it is such a personal topic.
Much has changed since Russells’ keynote and the infrastructure to financially support open-source maintainers now exists thanks to the efforts of Open Collective and GitHub Sponsors.
The truth is free software isn’t free. How much is a task going to cost in person hours? Hours have rates. Rates require payment. Yet, an entire community of developers provide their services outside of their day job to produce tools consumed by businesses.
Did you know there are less than 2100 people in the inner GitHub open-source maintainer community?
I often wonder what the future would look like if these high achievers that our digital society is built upon were empowered to become independent artists. If just one of those people can help more people better understand a technology or improve the developer experience for an entire ecosystem what is the worth/value of that and why isn’t our industry doing that yet?
The word volunteer, by definition, means those who have the ability and time to give freely.
Paying for resources that are being consumed broadens the list of people who can do open-source. Additionally, money enables open-source maintainers to buy services and outsource the activities that do not bring them joy.
At Gitpod, we firmly believe that working for an open-source project should be a legitimate alternative to a career working for a for-profit corporation. Additionally, we’d like everyone to be able to maintain open-source projects, not just people with the right financial background or youth that enables the ability to volunteer.
Today we are announcing five things:
Gitpod has created an open-source sustainability fund and allocated an initial amount of USD 30,000 towards securing our open-source supply chain by paying open-source maintainers.
For every registration to our newly created discord channel during the next month we’ll donate an additional $1 to open-source projects we depend upon.
The upcoming (28th of April from 5pm CEST) non-profit conference on developer experience - DevX Conf will donate all surplus and USD 500 for each Gold Sponsor to open-source projects. Additionally attendees of the conference will have a say how an additional USD 10,000 in open-source funding will be distributed between open-source projects that are unseen digital infrastructure.
Over the coming months, Gitpod will share our experiences with funding open-source projects for other companies to follow and share insights for maintainers who wish to become financially independent.
We recognise that money isn’t the only way to resolve open-source sustainability. Often the problem is access and the initial project setup friction. To address this Gitpod has made Gitpod free for open-source communities so that open-source maintainers can onboard new contributors to their project with standardized developer environments. With Gitpod people from all over the world can contribute from any device without the typical $3,000 Macbook Pro barrier to entry.
Over the last couple months Gitpod has been emailing maintainers of dependencies that Gitpod consumes (npm/golang/Docker) and asking them to get themselves signed up into the GitHub Sponsors or Open Collective programs.
If you appear in our bill of materials then Gitpod would like to unconditionally shout you some beers, some nice food or more as our way of saying thank-you for helping make Gitpod possible.
I hope more companies will follow Gitpod’s lead and do this simple act en masse because maintainers must have income diversity because diversity creates a freedom that enables roadmap and project independence.
If you are a maintainer of an open-source project, then there’s one simple, easy step you can do to enable Gitpod and other companies to provide financial support…
Nadia Eghbal, in 2016 with the support of the Ford Foundation, authored an extensive report into the unseen labour behind our digital infrastructure. She recently published the successor of the report: Working in Public: The Making and Maintenance of Open Source Software. If you haven’t read her work before, then start there.
Eghbal, in her work outlines, digital infrastructure should be treated as a necessary public good. Free public source code makes it exponentially cheaper and easier for companies to build software and makes technology more accessible across the globe. However, there is a common misconception that the labour for open source projects is well-funded. In reality, it is largely created and maintained by volunteers who do it to build their reputations, out of a sense of obligation or simply as a labour of love.
The thing about open-source software that’s too often forgotten, it’s AS-IS, no exceptions. There is absolutely no SLA. That detail is right there in the license!
In business terms, open-source maintainers are unpaid and unsecured vendors.
Gitpod hopes other companies will also start taking steps to mitigate this critical risk in their technology stack. In future blog posts, we will be sharing our experiences with funding open-source projects and insights for maintainers who wish to become financially independent.
Here is what you can do today:
- 1- Generate the bill of materials in your commercial software.
- 2- Identify whom your unpaid vendors are.
- 3- Mitigate your supply chain risks.
In practice, this involves going through each one of your projects in your dependency tree and deciding on the appropriate strategy for that particular dependency.
Gitpod has plenty of smaller dependencies for doing activities such as parsing TOML. As that dependency isn’t of strategic importance, the strategy to mitigate the risk would be to fund the project.
For dependencies that are of strategic importance, then the strategy would be a combination of financial support, becoming regular contributors to the project or even hiring the maintainers of these projects as engineers for [short|long]-term engagements.
Do you have more ideas on how funding can foster a diverse community? → Please get in contact.
That’s it for now. I hope you’ll join us for non-profit DevX Conf, a two-day virtual conference focusing on developer experience. Attendees of the conference will have a say how an additional USD 10,000 in open-source funding will be distributed between open-source projects that are unseen digital infrastructure.
- 📆 From 5PM CEST on April 28-29.
- 📍 devxconf.org.
- 🎫 It's free & non-profit.