David Heinemeier Hansson

July 1, 2021

Broken software invites collaboration

After two decades of open source participation, I’ve found it easier to cultivate community collaboration around software that’s obviously a little broken. Waiting until the project is pristine before sharing it with the world creates an aura of perfection that intimidates and alienates. So releasing before every bug has been squashed, every feature filled in, every facet documented meticulously improves the odds that it’ll attract the interest of others to help make all that happen.

That’s not a license to release a busted mess, don’t get me wrong. But it is an invitation to consider exactly how long to wait before you share with the world. And your own bar for the quality of the contributions, especially in the early days. Where getting more that’s mostly right rather than less that’s entirely so helps create momentum.

Open source is a like magical waltz between strangers. We have to find our dancing feet together, and quickly, because otherwise it’s awkward. Most projects start out with just one or a few people on the floor. It’s intimidating to step out there with them in all circumstances, but especially so if it looks like every step is perfectly in sync and every sequence a success. Once the dance floor is full, it’s harder to notice, and it doesn’t really matter as much. But it’ll never get there unless a few brave beginners dare participate.

Would you care to dance?

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.