We Just Gave $500k to Open Source Maintainers
blog.sentry.io
blog.sentry.io
Netted about $25 from their funding round, which is very nice. I can imagine if 1000 companies did this, then on average, many open source maintainers would have their living expenses covered in most parts of the world.
That said, in my case, $25k/yr isn't enough to survive on where I live without aid. Not all open source maintainers need to make a living from their open source work, but it will almost certainly increase the quality of our open source libraries if the developers both choose to do that and are able to sustain their living.
I wrote about the open source funding problem a while ago with my thoughts on solutions here: https://matt.life/writing/the-asymmetry-of-open-source
I don't actually go into these "payments-scaled-by-dependency" solutions because the one big problem I see is that it doesn't distinguish between projects and developers who want/need to make a living from their work, versus those who just want a coffee for motivation to keep going. Surely companies should want an active relationship with the developers of their most important and fundamental projects as well. This is why I typically advocate for sponsorships. Maintainers extend their reach for sustainability, and companies "reach the reach" of those they rely on and establish a business relationship to satisfy what open source licenses leave lacking.
Granted, their approach is certainly easier than developing relationships with all the developers, but I am curious to see if they will reap the results they are hoping for in a few more years.
Outside of the dependency funding we will often directly fund developers (e.g. as contractors, which we did with rrweb back when the author was full time on the project), we subsidize a our services for open source projects (https://sentry.io/for/open-source/), and we also do direct contributions in a variety of ways to organizations (some of that was listed in the post, but even things like continuous support of many community run events).
People will often think a lot of these things as marketing (such as events), and they are, but its marketing that helps both sides. If we were truly lead gen oriented on these things though I can tell you it absolutely does not have the payback you'd get from some other traditional investments.
Edit: One thing I did want to mention- we're not actually looking for a return on investment for these github sponsorships. We don't consider it maintenance fees, but rather as a signal of gratitude. If someone stops maintaining a project thats fine, code doesn't have to live forever. We bundle this into our annual budget at this point more from a charitable giving angle than some kind of R&D cost center.
To clarify my stance, I view this as a net positive for the ecosystem and I hope other companies follow your example. This is a really good thing we hope to see more of!
I’m hoping developers will lean in more too, where sustainability is concerned, to make less passive options a viable option for companies. I think we’re definitely heading the right direction overall.
This sets up a false dichotomy. We _do_ have active relationships with the developers of our most important and fundamental projects.
> establish a business relationship to satisfy what open source licenses leave lacking
We do this. We pay on contract for work we need. This is separate from that.
> the results they are hoping for
The result we are hoping for at a company level is to give a more-or-less fair amount of money in return for the value we have received over the past year from sponsorship-seeking Open Source maintainers. I think of this as IOR instead of ROI—we are paying for value already received. This result is achieved. :)
Our hypothesis is that through social validation we can encourage other companies to follow suit, and if we're successful enough this could create opportunities that don't exist now. The $25k/yr scenarios you describe would be the bottom rung of this. FOSSFunders.com is where we're pursuing this. Wish us luck! :)
Super glad to hear that there are business relationships being established where needed. That helps strengthen the ecosystem.
So, yes absolutely, good luck!!
Cheers!
[I'm the post author.]
There's a bit of a story behind the first sponsor, Zuplo: They wanted to sponsor one specific project of mine, express-rate-limit, and I almost just turned them down. I have a decent day job, and didn't feel like I needed it.
But, express-rate-limit had received a ton of contributions from another individual, gamemaker1, to the point that I had already given him contributor access to the repo. So, I decided to ask if he wanted it before turning Zuplo down. He persuaded me to split it with him.
Once we tried to accept, we learned that he is ineligible to sign up for most sponsorship/giving platforms because he is currently a minor. So, right now the full amount comes to me and then I transfer half from my bank account to his.
We haven't done any major functional changes to express-rate-limit since accepting sponsorship, but we have made a lot of small improvements since then and I think the sponsorship deserves some credit for encouraging that.
By my calculations, that means Sentry has 135.13513514 developers.
I assume that the vast majority of tiny github accounts probably don't have github sponsors set up, and may not even have a link to a real human identity or even someone still alive.
So how does that 95% number look if you take all that into account?
But is it customizable? e.g. does the source has to be made available 1 year? How about 2? How about 1.5?
How about something like FSL-Y2-MIT for a 2-year limitation? You could still use FSL-MIT for the standard 1 year term.
Then you could maybe allow quarter- or half-integer values, e.g. FSL-Y1.5-MIT or FSL-Y0.25-MIT.
All of this easily represented in the name or with minimal digging.
Just wanted to throw in my share of the bike-shedding.
One of our goals is to keep the parameters to an absolute minimum, to aid in adoption. The simpler we can keep it the more easily it will get picked up, is the thinking.
Not to me, it isn’t. Their main product is under the BSL. Their docs IMO describe it in a way that undermines the Open Source Definition and the Open Source Initiative.
Not to rain on the humble brag, but donating 15k to a project that serves as the basis for your commercial offering seems a bit cheap
But I agree that a different approach should be taken for exceptionally crucial dependencies like rrweb is for Sentry. (Edit: to clarify, I think what Sentry is doing is good and we need more of it. I mean that businesses and developers should be mindful of what is being exchanged from their relationship, if any.)
If your core business/product offering relies on a certain open source project, IMO you better take that under your wing to ensure it stays maintained and developed. For Caddy, we offer Enterprise-tier sponsorships to make this happen. Our Enterprise+ tier is designed so that it does not rely on ANY other funding so your company can be guaranteed the assurance of ongoing development even if all other sponsors drop off.
To not do so is simply a big risk your business is taking. Either fund the project or hire in-house experts, which is likely more expensive and less effective.
I'm not criticizing Sentry here --- I applaud their initiative, which is definitely in the right direction! Implementing this requires that the project offer such a sponsorship plan in the first place. One-time donations are simply not sustainable in the long term. Just something to think about.
Not sure why everyone tries to turn things into something they're not.
Our intent is to set a tone for this kind of thing. We are a well known company in the technology sector, so showcasing this creates a model for others to be inspired by. When decision makers at other companies see this, ones who might also care about this cause, it creates opportunities and materials for them to have these conversations within their own teams.
Marketing is not inherently evil as you make it out to be.
Curious in this. 15k is on par with what we give to foundations such as Python, Django, Rust and OpenJS. Is that the right anchor?
Another angle: Which deps should we take money away from to give more to rrweb?
[I'm the post author.]