The open source ecosystem is the most valuable part of the software industry today.
From the programming languages to the web frameworks,
the operating system to the cryptography,
all software companies today use open source.
Open source software is creating billions of dollars in value for companies and venture capitalists,
but it has a funding problem for itself.
There are not good ways for open source projects to capture the value that they create,
while being available for free and providing the fertile ecosystem that companies are built on today.
There are many warning signs that open source is an ecosystem in danger.
Many people doing this work are burning out,
or just never getting involved in the first place.
We need to improve the sustainability of open source to protect the valuable ecosystem that we have built.
We need a new funding model for open source.
Funding the Open Source Ecosystem
I’d like to propose an idea:
A program called 1% for open source: where companies agree to invest 1% of their funding round or yearly profits into the open source software that they use.
This is a win/win/win:
- Companies invest in the tools that they use to ensure continued development and support. The companies can also use their support of open source to make hiring good developers easier.
- Open source projects are able to fund project management and maintenance that is required to make them sustainable for the long term. The project then continues to be a force multiplier for the entire software industry.
- **Venture Capitalists ** invest in the open source ecosystem that makes companies much cheaper to build. It’s also really good marketing for the VC firms, to show they are investing in our common infrastructure.
Why is this a good solution?
The biggest reason is because all parties involved benefit from open source.
Having a concrete point in time also makes it much easier to define when the money should be invested.
It applies both to startups and established companies,
and mixes payments in terms of lump sums and yearly payments,
to make budgeting easier.
We have tried many different methods of sustainability in open source,
but many of them are project specific and don’t address the ecosystem.
Increasing investment in infrastructure across the entire industry is the only solution that will work in the long term.
My focus on this program is to increase the total revenue for the entire open source ecosystem.
A lot of places have “Open Source Fridays” and “20% time”,
but those programs are the first to be cut when a company has issues.
They also mix incentives,
where the work that gets done is more valuable to the company than the project.
We need a program that invests real money in the infrastructure that we use,
with the projects themselves choosing their own direction.
How should we implement it?
The company should invest 1% of the money into the open source projects that they use. There are many different ways this could be implemented.
A few of my ideas are:
- Companies create a list of the OSS projects they use, using tools like http://libraries.io/, and then give money to the 10 largest projects that have a way to accept money. This could be done during the license compliance phase of the investment process.
- There could be a new non-profit foundation created, which gets all the donations and then has established criteria for how to reinvest the money as grants.
- You could give the money to the existing foundations that focus on the area of open source that is most valuable to you
Making the execution of the investment standard is an important part of making this actually happen.
There should be standard processes and criteria for where your money will go,
so that it’s not adding additional overhead to companies who give back.
A simple example for a Python project could be:
- You give 1% of your VC investment to the Python Software Foundation
- You run a script that looks at all the projects in your requirements.txt that your project depends on
- That list is cross-referenced with a list of the Python projects you use that need funding
- The top 10 projects you use that need funding, sorted by lowest amount received that year, are each given 10% of your investment as a sustainability grant
I have a few sources of inspiration for this idea:
- One Percent for the Planet – They ask established companies to give 1% of their revenue to help invest in the planet. This model for sustainability of an ecosystem was my inspiration here.
- Stripe’s open source retreat – where they fund projects to work on specific features.
- Mozilla’s open source support – where they fund awards for projects that they use internally
- Coinbase’s open source fund – which is a monthly donation program
- Segment’s open fellowship – which gives 3 month fellowships, similar to Stripe
I was inspired to write up my thoughts because I tweeted the idea,
and it was well received:
We should start a movement called “1% for OSS”, a program where VC’s and startup companies agree to invest 1% of their funding round into the infrastructure that their companies rely on. #sustain #sustainoss
— Eric Holscher (@ericholscher) February 23, 2018
I don’t plan on actually building a new program for funding open source,
so please contact me if this is something that you’d like to actually work on!
This is a viable option for funding large amounts of open source,
but it will require a lot of work.
I’m happy to help,
but it will really take motivated people to execute on this idea and make it happen.
I see the next steps being:
- Figure out the exact process for determining who gets money from a project
- Figure out the proper entity to use (an existing non-profit, or a new one?)
- Find a willing VC or Company to do a test run
- Iterate on what you learn, establishing standard processes for the next test run
- Once you have a model that everyone is happy with, start expanding the program
Thanks to everyone who gave me feedback on this post:
- Samuel Wright
- David Fischer
- Russell Keith-Magee
- Nadia Eghbal