Lunch Isn't Free
A few weeks ago we launched the Open Source Pledge. One of the components of the launch campaign was Sentry funding some out-of-home (billboards) in San Francisco. Its an experiment to use activism-style marketing to drive attention to the cause and create more conversation. This is not a post about that campaign (though happy to educate you why its effective another time). What am I here to talk about is frankly the naive sentiment that developers of open source software somehow are different than other developers, and that they don’t need paid.
Why ought they be compensated? They volunteered to give away their work. [source]
I’d like to believe this sentiment is rare, but I’m not sure that it is. Frankly I’m ashamed that people even think this way. If you dig into the other comments you’ll find everyone is so wrapped up in their own little corner of the world that they can’t see the issues impacting the broader ecosystem.
- It’s not Linux.
- It’s not commercialized software like Sentry.
- It’s not projects built inside of Meta. Or Google. Or Microsoft.
Often projects like the above have a great mechanism to sustain the development costs. They have a model that allows them to pay the developers, and in many cases they have a large team of people working on the project. They’re not someone hacking on an idea in their spare time, juggling their personal ambitions with whatever allows them to pay their bills. They’re not curl, or ffmpeg. They’re not one of the many substantial and influential projects often maintained by a single developer putting in countless, thankless hours. They don’t have a sustainability problem. They’re not what we’re trying to solve for.
We want to make it so the projects that garner less attention are also sustainable. Those projects are not always the most ambitious in the world, but they’re still often providing an immense amount of value to the rest of us. They’re the projects that live in our dependency trees - not the frameworks, not the operating systems - but the libraries that help us more efficiently develop our applications. They’re built by people deeply passionate about their work, and they’re not getting paid for it. That’s fine, they shouldn’t be required to be paid for it. But we should recognize the value they create, and provide a mechanism for them to sustain their work and continue to innovate.
There are a variety of approaches to this problem, but two that are particularly effective ecosystem wide:
- Give time to your team to contribute to the broader open source ecosystem. Even better, hire the people building those key projects and give them the space to work on them.
- Give money to the people mostly likely to deliver on the things that matter to you.
If these sound familiar its because they’re how most of the world thinks about charitable giving, or anything else of substance for that matter. They’re how we approach contributing to causes that matter to us, often with little to no expectation of anything in return. They’re not rocket science, and they’re an accepted practice. They’re a practice that cleanly applies to the nature of open source, which is just another cause that provides value to all of us. They’re also both necessary and effective - we need both more people to be involved in contributing to open source, as well as more corporations to step up and fund the projects (and developers) that matter to them.
There’s really not more to be said here, but if you think just because someone is giving away free software it means they don’t need paid, you’re wrong. Software costs time and money to develop, and that time and money has to come from somewhere.