When should a product be open source?
September 4th, 2019
I get asked a lot, “Why was Sentry open source? What products benefit from open source.” While at Sentry, I fully bought into the idea that open source was the way of the future. Now, with more than a year’s perspective, my answer has become much more pragmatic.1
Reasons to open source
1. Salt the earth behind you
Once a category has a great open source product, it forms a new baseline. If you’re going to get any traction, you’ll either need to be 10x better than the open source product, or you’ll need to be 1x better and also open source. No closed source application databases have come out since the advent of MySQL and Postgres. No closed source version control has come out after git. No closed source operating systems after Windows. The list goes on and on.
Of course, you’ll still need to figure out how to charge, but at least you’ll own the market and customer relationships. From there, it’s easier to experiment with pricing or complements until you find something that works.
Open source software is like organic food. Some people prefer buying organic food, but even for those people, if they hate spinach, they’ll still hate organic spinach. Organic, like open source, is a signal on how the product was created and for communities that care about that signal, your word-of-mouth can continue, unimpeded.
Signaling is very different than marketing though. Being open source doesn’t magically mean the community will rally around you or that other open source contributors will be your free developer advocates. Sentry, the company, hasn’t tried to build up a community of open source contributors any more than they have they worried about competitors spying on their PRs. They’ve pushed full steam ahead, as if the product was closed source. Advocacy has always come for the product being good. Being open source was the cherry on top.
3. Punt on the business
Probably the most common reason you open source is because you’re out of other ideas. This is quite common in tech-based startups, where the founders have built some insanely cool tech but don’t have expertise in marketing, sales, legal, compliance, security, etc. Sentry and Docker are both great examples of this.
In Sentry’s case, the product was just always open source because Cramer didn’t think the market was worth much. He only started charging because Heroku opened up an add-on store and customers were asking for it. I was hired as growth not because Cramer wanted to invest in the business, but because a growth engineer could function largely independently, unlike spinning up sales or marketing which would require his full attention. It allowed him to continue punting on the business and relentlessly focus on the product. The strategy paid off: Sentry’s open source product was used by every tech company that mattered and as Sentry’s business and hosted offering improved, these same people have transitioned from open source users to paying customers.
Docker had a slightly different story. Solomon toiled away building dotCloud for nearly 5 years before open sourcing Docker. It had been over 2 years since their last raise, which meant that they were probably running out of money. Solomon did not have a business plan when he open sourced Docker. He hadn’t been able to market and sell to developers, so open sourcing was a declaration of go to market bankruptcy. This has become obvious over the last 4 years, as Docker has effectively treaded water in the market, despite being such a dominant leader. Solomon clearly would have preferred if the world had flocked to dotCloud like they flocked to Docker, where monetization would have been trivial, but it’s still better than being dead.
Reason not to open source
1. Who cares?
Do your customers care if it’s open source? Open source isn’t some inherent good. All that matters is building products that create loyal customers. Open source is neutral to harmful for most products because transparency does not translate into a better product but absolutely can translate into advantages for your competitors. So if your customers are C-suite executives or construction workers, open sourcing is idiotic. They couldn’t care less if it’s open source and the paradox of choice may actually befuddle them. Even if your customers are developers, open source isn’t always the answer: GitHub, Stripe, Firebase, DataDog, etc.
2. No monopolistic margins
Open source caps your margins. Your price is tied to your costs instead of your value. Now, those costs might include the infrastructure bill plus a fully-loaded salary of an engineer and those margins can be 80%, but it’s a far cry from products like Salesforce, who have higher gross margins than uptime.2 Now, if you have any real competitors (and most people do), you don’t 99.9% gross margins, but in the case you’ve achieved some kind of monopoly, you’re not able to raise the rent and the ladders behind you.
This is specifically discussing open sourcing products, not libraries. Open sourcing libraries is insanely valuable for hiring as well as other reasons. ↩
It still blows my mind that 1 salesperson’s Salesforce bill will cost more than 100 engineer’s GitHub bill. How? Sales requires a village and each person in the village will need a license: 1 for the CEO, 1 for the VP, 1 for the AE, 1 for the AM, 1 for the SDR, and 1 for the admin. At $150/user, that’s $900/month, which is 100 GitHub Team seats. I learned this because Sentry’s go-to-market team’s software license bill was half the infrastructure bill. And Sentry’s entire product was basically infrastructure. ↩