We Offered Matching Funds for Open Source—Here’s What Happened
Why Ben Vinegar from Sentry thinks smart companies should financially support the open source tools they rely on.
Why Ben Vinegar from Sentry thinks smart companies should financially support the open source tools they rely on.
Many in the open source community feel that companies who get value from open source should financially support those projects. But how to get them to give? Matching funds could be part of the answer.
Is your company interested in matching funds for open source? We’re going to run more experiments, so let us know!
What is Sentry?
Sentry is a realtime error tracker that began as an open source plugin for Django in 2008. Today, Sentry can collect errors for pretty much any platform, from browser JavaScript to JVM-based languages.
Sentry is a server application you have to deploy on your own infrastructure. Users didn’t want to deal with the operational burden of running Sentry themselves, so they approached the project founder about hosting it for them. Sentry.io was launched in 2013 as a cloud offering, and we now have thousands of customers and 35 employees. While we’re a pretty young as a company, the project and the software are actually really mature.
Why is Sentry Open Source?
Fundamentally, open source is Sentry’s identity. Our founder David Cramer believes in it strongly, and is a big contributor himself. The first employees are well-known creators of open source tools, like Armin Ronacher, the creator of Flask. The Sentry codebase has over 1000 contributors, both to client libraries and the Sentry server itself. Sentry is completely open source, not just open core, so the cloud-hosted product is the same as if you run it yourself.
The community is really important because we are servicing so many platforms and frameworks. You can build it out for your own platform even if we aren’t supporting it yet. Sentry supports more platforms than we have employees.
A few years ago we experimented with closed-source plugins, such as for Google authentication, but we quickly saw that people just built their own anyway. Besides, it didn’t fit with who we are, so we open-sourced everything. We think it’s better business to have everyone contributing to the same ecosystem rather than making their own versions.
We think it’s better business to have everyone contributing to the same ecosystem.
Working on open source is gratifying. I really enjoy freely sharing the neat things I get to work on, which I hadn’t been able to do in previous roles. Like recently, I made a pull request to switch from Underscore to Lodash. Next thing I knew, the Lodash author was commenting and giving us feedback about our approach. You really feel like you’re part of a community when you develop software this way.
Where Did the Matching Funds Idea Come From?
Not long ago, Tobias Koppers, the key contributor to Webpack, tweeted about the state of their funding. It was obvious they needed more to keep him developing full time. Members of the JavaScript community highlighted the gap, but besides broadcasting “you should support open source” there wasn’t much action.
I found it frustrating to see people tweeting about the problem and then washing their hands of it, when I knew they worked for companies who are critically dependent on open source tools but don’t contribute financially. Sentry had already been contributing $100/month to Webpack for a while. I felt that other companies should put their money where their mouth is, and I wanted to call on the wider community to step up.
I felt that other companies should put their money where their mouth is, and I wanted to call on the wider community to step up.
Matching funds have had a big impact on my own charitable donations, so I was curious if that approach would work. I walked over to our CEO, David, and suggested we set a fire under people by agreeing to match financial contributions. We thought of a number to cap it — $400 a month. David thought this wasn’t substantial enough, but I thought we should just try it. We split that figure between Babel and Webpack because we use both tools a lot.
Was Your Experiment a Success?
My expectation was that other companies would just roll in and it would be over within a couple hours. I was disappointed. Most of the contributions were $5 or $10 from individuals.
My expectation was that other companies would just roll in and it would be over within a couple hours. I was disappointed.
One person gave $10 a month to both projects. That’s $240 a year to use free software — not trivial for a single individual. I’d argue that’s a more significant contribution than what we were making as business, relative to budget.
We decided to keep the campaign going for a week so I could reach out to more companies. One other company stepped up with $100 for Webpack, and it wasn’t until after the matching funding timeframe had officially closed that Google AMP announced $100 a month for Babel.
Even though we were offering to contribute a dollar for every dollar donated, we didn’t even manage to reach 50% of our $400/month goal. Part of me wanted to just say “Oh well, we didn’t reach our goal but we’ll just donate the full $400 anyway.” But that’s garbage. The goal wasn’t just about us contributing money, but getting the community of companies who use open source to contribute in a bigger way. In the end, we rounded up Sentry’s contributions to $150/month for Webpack (on top of the $100 we were already giving), and $100/month to Babel.
The goal wasn’t just about us contributing money, but getting the community of companies who use open source to contribute in a bigger way.
Why Should Companies Give to Open Source?
The real reason Sentry gives money is that we are getting immeasurable value from these tools. I believe it’s just good business to contribute back, with code, issues, and dollars, so these tools can continue to be viable and improve.
The real reason Sentry gives money is that we are getting immeasurable value from these tools.
If the open source tools we use went away, we’d have to pay people to write them ourselves. That’s expensive! What’s a few hundred a month to support the critical tools you use, compared with the cost of hiring a full time software engineer to build them for you? It’s a pittance.
Sentry is in an uncommonly fortunate position, because it has a built-in business model, but not every piece of incredibly useful open source software works that way. I want to know what can be done for other types of projects.
What’s a few hundred a month to support the critical tools you use, compared with the cost of hiring a full time software engineer to build them for you?
Someone on Twitter said they didn’t contribute because they didn’t know how the money would be used. I found that so bizarre. When you buy a commercial product, do you think, “Boy I really hope Microsoft uses my $100 appropriately.” No! You are purchasing it because it provides value to you.
People have a very different emotional reaction to open source software, and that might be hard to change. Open Collective has made donating possible, but there’s still an education gap between the value gained and the financial contribution companies are willing to give.
There’s still an education gap between the value gained and the financial contribution companies are willing to give.
Are Current Open Source Contributions Equitable?
There’s a frustrating dichotomy. Small open source companies like us, who are already giving back in the form of producing free software, often donate financially — because we get it. Meanwhile, large companies with lucrative, commercial, closed-source products built on top of open source seem less likely to give.
Large companies with lucrative, commercial, closed-source products built on top of open source seem less likely to give.
Not supporting the tools you depend on is short-sighted. Take the example of an open source company called RethinkDB. They were VC-funded, but they struggled to build a business model and inevitably their funding ran out. The company is gone and development has slowed. There are businesses out there built on this product, and now the software is going stale.
What if RethinkDB had been supported with contributions on Open Collective instead? I’d love to see a future where there are more viable open source businesses employing people, funded through Open Collective. I’d argue that could be far more stable than a VC-funded company that later flames out.
Not supporting the tools you depend on is short-sighted.
Open Collective has empowered projects by giving them the infrastructure to accept payments. Now, how can we as a community can draw more attention to giving back, and build deeper connections between project maintainers and funders?
Why Should Companies Be Public About Giving?
In the past, I have been private about my own charitable giving because I didn’t want to boast. But I was doing a disservice to those causes by keeping quiet. Say what you will about the Ice Bucket Challenge, but it raised an incredible amount of money by raising awareness.
The only way you’d even know Google AMP donated to Babel during the matching drive is if you happened to read the Twitter thread. They are a big company and they should share it wider. Some people don’t even know you can financially contribute to open source. We could all be doing a better job of spreading the word.
Some people don’t even know you can financially contribute to open source. We could all be doing a better job of spreading the word.
Any Ideas for Future Iterations of Matching Funds?
Sentry is not a big company, and that’s probably why our fundraising attempt only went so far. I’d like to explore a bigger matching funding initiative in the future, and get more companies on board. It would be a powerful signal to the community of software companies and their employees.
I’d like to explore a bigger matching funding initiative in the future, and get more companies on board.
A project like Webpack could set a goal of getting to $150k annually, to hire a second person focused full time on documentation and issue triage, and entice businesses that open lots of issues and need more documentation. There could be similar goals for other projects that would get supporters interested.
Matching funding for employee charitable donations is a pretty common perk that companies offer. Open Collective could follow a similar model and get companies to agree to match donations made by their employees. But I don’t see giving to open source as charity — it’s just a sound business decision.
I don’t see giving to open source as charity — it’s just a sound business decision.
Companies could put up the budget and engage employees in deciding how to distribute it. At bigger companies, the barrier is bureaucracy. Employees don’t want to go to some financial officer and pitch someone who’s probably not going to understand. It’s too hard.
What if companies decided on a dollar amount to contribute to open source, say $10k, and divided that among employees or teams to decide which projects to fund? The commitment would already be unlocked at a higher level, and it would be a great way for companies to engage their engineers.
Open Collective wants to work with Sentry and other companies on the next iteration of match funding. We’d love to know which approach gets you excited. Please let us know below!