How to fund open source
Again this year, funding for open source is making noise. Throwing their hands in the air, breathless open source advocates on the Orange Website  decry how all the companies are using their code and they’re not contributing back. It’s a shame, they cry. SHAME!
I wrote a draft detailing how I think open source could be funded, but then I realized the entire post was trite, and I had completely buried the lede. So this is the hyperbolic morning-after rewrite, which I hope you will enjoy.
OK, are you ready? Capitalism 101 — in order to receive money, you must do two things: 
- Ask for it
- Convince someone to give it to you
Both of these are lacking in open source, and this is the core reason that open source is under-funded.
Open source needs sales people. I don’t mean advocates, I don’t mean evangelists, I mean dialing-for-dollars, always-be-closing, coin-operated humans, on commission, asking for the cash .
Of course, developers don’t want to sell. They want to hack on open source. They don’t want to be part-time sales people — that shit is hard and that shit ain’t fun!
So here’s what I propose. Someone — not me, I’m busy — makes a non-profit to fund open source. That non-profit hires sales people — lots of them — to ask tech companies for money. A single non-profit would handle all the fund raising for tens of thousands of projects, taking donations on a recurring basis, combining all the donations into a pool which is then split according to the needs of the ecosystem.
How to distribute the money? Let the donors decide. Companies need an ROI on their “donations” to open source. Because I don’t know if you know this, but you can just use open source for free. Free! I just download it and there it is. Legally! No, you need to provide a different ROI before a company will give you the money.
Fortunately, the ROI is easy. Here’s some ROI that companies want:
- The safety of knowing that their entire encryption stack isn’t just built by one person
- Knowing critical safety bugs will be dealt with and distributed in a short time period
- The ability to sway direction of projects they really care about (commensurate with the amount donated, of course)
- The ability to get their blocking bugs fixed
So the non-profit will help those companies achieve the ROI they need — help them identify what technology they use, helps them get money to those projects, and helps them get sway with the projects they want to sway.
Companies need a say on what their money fixes. Each person or company or fund paying in would be entitled to funnel the money to things that they use and need and worry about. Everyone uses Ruby  and Node and SSL and Linux, so everyone can give small amounts to those projects to fund them. Haskell can be funded by all the culty crypto people. If you’re the only weirdo using some weird stack — like functional programming or some shit — then direct most of your money there.
The most important thing is to make it super super easy for companies to give you money, including making a business case and having an actual human sales person navigate the org and do the work to close the deal. Otherwise, you’re going to be writing tortured blog posts about companies not doing their part, then putting a little “donate” buttons on your GitHub, hoping that someone somewhere will throw a dollar into your tip jar.
How much should this non-profit ask for? My first guess was 1%, companies should give 1% of revenue. But some companies don’t have revenue, so let’s also say 1% of VC investments. And also ask all of us developers — whose careers are built on open source — should chip in 1% of salary too.
Doing back of the envelope math here, if some startup makes $1m, then they’d be donating $10k per year. Given companies making $1m often have $500k in annual salaries, 10k seems very affordable. As an engineer making $200k, would I donate $2k a year to open source? Again, that passes the gut check. If I’m building a a company that receives $3m in seed funding, would I pay 30k (once, upon receiving the investment) to fund the ecosystem on which my company is based? Sure — that’s about the cost of the lawyer’s fees.
All of this is predicated on a simple fact: all of us are making a significant amount of money on top of open source. More importantly, companies _require_ open source for their existence. As such, it is not just good citizenry, paying it forward and all that, but it is an investment in protecting your company against existential risk. If no-one is maintaining the projects on which your company relies, you will one day find yourself screwed.
It is pretty easy to part companies from their money, especially to handle existential business risk. But to make it happen, you have to do sales, not write code.
OSS doesn’t have a funding problem, it has a sales problem.
 I’m not throwing shade on anyone in particular, I’m just frustrated that developers hate sales and are comically bad at getting money together as a result. The RedisLabs Common Clause debacle is what triggered this post, but I don’t have any feelings on that.
 The 3rd way is for your parents to be rich, but honestly you’d probably be building a blockchain company instead.
 An excellent resource on how people currently raise money for open source: https://github.com/nayafia/lemonade-stand. I also enjoyed the discussion at https://hackernoon.com/why-funding-open-source-is-hard-652b7055569d.
 I believe RubyCentral is doing a model very like what I’m talking about.
 Because everything we do in tech is cynical marketing anyway, here’s where I ask you to check out my startup: https://darklang.com