Our roadmap towards the financial sustainability of open source
Open source software has been an unequivocal good for the world. It produces billions of dollars a year in economic value, billion dollar companies, and hundreds of thousands of well paying 21st century jobs for developers like me and you.
Why then, is it so hard to sustain Open Source? Programmers who work on popular open source projects often do it as a labour of passion. It’s often unpaid or under-paid work. It’s often lonely and thankless work.
One way of measuring the resilience of a an open source project is by its Truck Factor. From A Novel Approach for Estimating Truck Factors:
Truck Factor (TF) is a metric proposed by the agile community as a tool to identify concentration of knowledge in software development environments. It states the minimal number of developers that have to be hit by a truck (or quit) before a project is incapacitated.
Did you know that many of the most popular open source packages only have one or two maintainers?
Projects that only have one or two maintainers do not pass the Truck Factor Test. If someone gets hit by a bus, does the project die with them?
These maintainers are overworked, underpaid, and face a unique problem. When their labour of love grows into a mission critical piece of infrastructure, they have to decide: should I accept help from the community (which is hard to validate), or maintain this ever-growing pile of unpaid work myself?
Here is my statement on the event-stream issue: https://t.co/OmvlVuECHL
Thanks to everyone who sent me friendly emoji 😉 I'm okay. But this is really a much bigger issue (the viability of open source). I'm glad that this incidence is raising awareness!
— Dominic Tarr (@dominictarr) November 26, 2018
Our mission requires we solve this problem.
Our mission at Gitcoin is to grow open source. It’s our north star. It informs everything we do.
In order to fulfill our mission, we must hack away at the sustainability problem. We’ll tell you about our journey thus far, and the paths we’re excited to walk next.
Today, we’re known primarily for our work on the Gitcoin Issue Explorer; an Ethereum-based bounty platform tightly integrated with Github.
Gitcoin has helped 257 funders reach an audience of 15,413 developers. Gitcoin has facilitated 2,261 complete transactions to 641 unique coders.
Through the bounties on our Issue Explorer, we are supporting our mission to grow open source.
The Future — Bounties & Beyond
We think bounties are great for certain things, including definable tasks that have a quantifiable success criteria. But we don’t pretend they are the only way towards open source sustainability.
“If the only tool you have is a hammer, every problem looks like a nail.” — Abraham Maslow (and your CS Professor)
Our long-term vision is broader than bounties. Here’s what we’re focused on, as we expand beyond bounties to follow our north star.
1. Solving For The Builders
Let’s focus on who the actors supporting open source. What are their needs? What are their problems? What can we build for them?
In our opinion, the most important actors in open source are the developers who are working on the projects.
Developers in open source roughly break down into the following three categories:
- Users — Programmers who have used an open source project to support something they build.
- Contributors — Programmers who have contributed at least one successful patch to an open source project.
- Maintainers — Programmers who do the work of maintaining open source projects. Their work is less easy to define than contributors, but can often take the form of code review, grooming issue boards, building community, marketing, public speaking, etc.
We think that the open source contributor lifecycle looks kind of like this:
The happy path (green) is when Users become Contributors, and then become Maintainers.
The failure path (red) is when they stop contributing or maintaining a project — perhaps from loss of interest, burnout, or a variety of other factors.
A famous example of the failure path is a project called Semantic UI, which had unquestionable traction, but whose maintainer could not find financial support.
In order to evaluate this problem, we treat the Open Source maintainer burnout cycle like an optimization problem.
- What can Gitcoin do to accelerate the happy path, and to decelerate the failure path?
- How can we accrue more value to the contributor / maintainer steps in the Contributor Lifecycle?
If Gitcoin is ultimately successful, and is able to build tools that speed up the happy path & slow down the failure path, what kind of world would that create? What would those products look like?
Incentives that accelerate the happy path and decelerate the failure path might look like this.
In a world in which we’re able to solve the Burnout Cycle, more value would accrue in the contributor & maintainer stages of the funnel and less would leave the funnel.
So how do we get there?
2. Solving For Financial Sustainability
There are dozens of ideas out there for accelerating contributions in Open Source software, which we believe can be sorted into three categories:
- Technical Ideas (Dockerizing your repo, having good docs)
- Community Building Tactics (articulating your mission, marketing your repo, engaging the community)
- Financial Sustainability (financially sustaining the project)
We think that financial sustainability of Open Source is the largest unsolved problem.
Seminal Research On OSS Sustainability
As we zero in on finding financial support for Open Source, the first place to mention is Nadia Eghbal’s Lemonade Stand.
“I do open source work, how do I find funding?” — Nadia Eghbal
Lemonade Stand is a seminal guide to financial support for Open Source. It covers everything from donations, bounties, crowdfunding, selling merchandise, sponsorship, consulting, licensing, VC, and grants.
If you look at Lemonade Stand, you see there are a lot of options for getting funding out there! How do we evaluate which ones are worth pursuing?
A. Leverage To Code
One trade-off we think is important (but underrepresented, currently) for maintainers to consider is the tradeoff between time coding (in hours) and potential funding (in $$$).
Many of these options don’t fall into the sweet spot of allowing maintainers to get both high funding and high time coding.
B. Alignment With Values
Of course, there are other considerations to be taken into account. We want to work on work that has an impact, & that aligns with our values:
C. Finding The Sweet Spot
We take the stance that many software engineers are optimizing for work which meets the following characteristics:
- Where they can have the most impact (ideally, coding)
- Aligns with their values
- Compensates well
Numerous studies have shown that work that meets these three criteria lead to more intrinsic motivatation – and that human beings are happier and better when these criteria are met.
This raises the stakes on figuring our financial sustainability. We must do so in a way which doesn’t take away from the other two triangles above.
For more on this philosophy of work, checkout “Building a Platform that Maximizes Freedom.”
3. Betting big on blockchain’s OSS impact
I think it’s fair to have a healthy skepticism about blockchain 🙂
Amidst the hype bubbles and bursts, clear scams, and SEC investigations… it might not seem worth it to dig in and learn more.
We’re often asked, “Why did you build Gitcoin on the blockchain? Why not build it on traditional financial system?”
If you had asked me this question one year ago I would have said two things.
- “Skate to where the puck is going.” Blockchain is the future. Already today, it’s allows Gitcoin to process faster payments, is borderless, cheaper, and is more open. Imagine 10 years from now.
- The blockchain community include open source fanatics. The vast majority of blockchain projects (including nearly the entire infrastructure of Bitcoin and Ethereum) are open source. The communities understand the benefits of open source, and demand that development be made transparent and OS.
However, there are still some significant UX hurdles with blockchain today. It’s hard to get money in and out of the system, KYC / AML regulations introduces friction, and figuring out wallet security and usability of Ethereum applications are all are serious problems.
When you net out these costs and benefits, blockchain might be 10% better than legacy money, today. We know users want 10x more value to move to something else.
For open source maintainers, the reason blockchain is 10x better today is because there is significant funding for open source in blockchain built into the system. There are billions of dollars in market capitalization of top blockchain projects chasing too few developers.
In blockchain, there are billions of dollars in market value searching for developers building core infrastructure.
This leads to a market environment in which there are both good terms & good funding for open source. We’ve seen that firsthand via Gitcoin grants received from the Ethereum Foundation, Ethereum Community Fund, and ConsenSys to fund Gitcoin bounties and Gitcoin Grants (more to come, soon).
Another experiment coming out of blockchain research circles involves a concept called Liberal Radicalism, as specified by Zoë Hitzig, Glen Weyl, and Vitalik Buterin.
The paper describe a mechanism called ‘CLR’, which combines a) crowdfunding from individuals to support a project alongside b) large, philanthropic donations based on the results of the crowdfund.
In CLR, projects which are funded by many small contributions receive more from the ‘philanthropic donors’ (for example, the Ethereum Foundation) than when contributions come from a few large donors.
Gitcoin is excited to experiment with ideas like Liberal Radicalism while we interface with funding entities like the Ethereum Foundation, ConsenSys, and the Ethereum Community Fund. We have more details on the ideas in our Discourse, and are open to ideas there. Join the conversation!
Gitcoin is focused on the following things.
- Solving for the builders of open source software
- Specifically, solving for financial sustainability
- Making a bet on blockchain as a part of the solution
Our Criteria for Funding Options
How do we solve the burnout loop for software developers in OSS? We’ve articulated finding sustainability options which meet the following criteria.
- High funding potential
- High time coding (impact)
- Alignment with values
Funding Options We’re Working Towards
Here are a few options for supporting your Open Source project that we’re excited about
- CodeFund — Ethical Advertising for Open Source Software.
- Gitcoin Bounties — Attract new contributors to your repo.
- Gitcoin Grants — Recurring Funding for Open Source Software.
- Gitcoin Requests — Put a Bounty Request on any of your OSS repos.
- Minting Kudos — Create a world of unique compliments for your community.
Thanks for reading! If you are an OSS developer who needs support, I encourage you to give the tools above a try. Let the results speak for themselves.
To learn more about Gitcoin, click below.