David Heinemeier Hansson

October 19, 2023

The open source gift exchange

I love writing and sharing code as open source, but it's not an abstract act of pure altruism. The first recipients of these programming gifts are almost always myself and my company. It's an intentionally selfish drive first, then a broader benefit second. But, ironically, this is what's made my participation in the gift exchange of open source sustainable for twenty years and counting. Putting my own mask on first, so I can keep helping others.

Contrast this perspective to the resentment I occasionally see from open source developers who feel shortchanged by the exchange. People who get sucked in by the ideal of pure altruism and pursue it, but are then disappointed by what they perceive as a lack of reciprocity after a while. This has always seemed like a contradiction in terms to me. To expect specific forms of reciprocity from acts of altruism.

There's absolutely nothing wrong with developing software on commercial terms, and to expect to be paid for your work. I've built a business, a career, and a fortune on that premise. But the terms of that exchange are better spelled out explicitly. Like, I'll operate a project management system for you, and you'll pay me $15-299/month for that service. If you pay on time, I'll do my best to operate and evolve the system. That is our contract.

The terms of commercial reciprocity when it comes to open source  are usually far more vague, and thus open to illusions of agreement. Then suddenly one party thinks they're owed more than the other party believe they're due. The natural and predictable outcome of such lack of clarity is resentment.

The same is funnily enough true from the other end of the equation too. Users of open source cultivating their own resentment because they mistake the relationship they have with maintainers for a commercial one. And thus expect a standard of customer service they've been used to with commercial vendors. I like to call this specific affliction "vendoritis". 

That's why the gift metaphor is so helpful to settle expectations on both ends on the exchange. If you're a recipient of a gift, one offered with no strings attached, you're not entitled to much beyond the freedom of choice of whether to accept it or not. And if you're the giver of a gift, you'd be foolish to expect specific reciprocity in return.

The open source gift exchange has never been busier. The primary crisis, if there is one, is mismatched expectations between givers and receivers. Solvable by a change in perspective. Give it a try.

About David Heinemeier Hansson

Made Basecamp and HEY for the underdogs as co-owner and CTO of 37signals. Created Ruby on Rails. Wrote REWORK, It Doesn't Have to Be Crazy at Work, and REMOTE. Won at Le Mans as a racing driver. Fought the big tech monopolies as an antitrust advocate. Invested in Danish startups.