When to Open Source
Today I wanna write about the decision-making process of starting cal.com as an open-source company, to help others make a similar decision.
Some tech magazines are writing about the "Renaissance of Open Source" and I want to make sure you are doing the right things for the right reasons – or at least reflect on your reasons.
I've been getting similar variations of this question quite a lot recently, due to the growth and coverage of cal.com which is why I wanna spend the next 10 minutes outlining how I think about SaaS vs open source and when to open source.
Before we get started I wanna go back in time and briefly talk about my builder career. While I got into tech through WordPress, arguably one of the biggest Web2.0 OSS projects, I've not been an OSS-die-hard.
Cal.com is the first OSS project I am actively working on, and over the past 10 years, I worked on roughly 20 closed source projects. Most of the time there was a very good reason those projects were not open source.
So how did I turn into a COSS founder (commercial open-source software)?
When I worked on my previous company, leanhire.com, I was in dire need of a scheduling tool.
Unlike the classic use case where I, or our employees, would make bookings (such as in sales or recruiting), we needed a scheduling product for our hiring marketplace. As in every two-sided marketplace, your users are interacting with other users.
Tools like calendly, savvycal, motion, etc. are amazing products to help you make bookings. But they fundamentally suck (sorry) at providing the infrastructure to have user-to-user bookings. You can't be paying $19/month for each seat if you have +5,000 users as we had at Lean Hire.
SaaS solutions also don't provide any insights into what's happening inside. In the onboarding, we asked our customers to copy/paste their scheduling link and we auto-added it to the outreach emails. From there on, it was a complete black box.
We didn't know if or when events happened if they were rescheduled or canceled.
You also couldn't really change the workflow, design, or API calls that are being made when booking.
An open, accessible, extensible solution that I could self-host was needed.
Why Open Source?
My immediate google query was: "Calendly open source" because that's what open source stands for: open, accessible, extensible, and self-hostable.
To my surprise, I couldn't find a single project doing what I was looking for, so I started my own:
Be problem-obsessed, not solution-obsessed
You see, from the very first day it was obvious to be an open-source project. The things we intended to do, were fundamentally harder being a closed SaaS product than being open.
The first learning I had during my Y Combinator batch in 2019 was to be problem-obsessed and then find the best solution for it.
Good: I have this problem, maybe I can solve it with open-source, maybe not.
Bad: I love open source, I wanna be a COSS founder like you Peer! I wonder what I can open source!
This is a common problem of founders who have not really found their muse yet. I was one of them. Back in 2018/2018, AI and Computer Vision were the thing to be doing.
Every startup domain was ending in .ai and everyone was trying to find problems to solve with this “new” technology.
I see this recurring theme now with open-source and even worse in web3.
No, we likely don’t need a Tinder for Dogs that is powered by Solana.
While I fundamentally believe pretty much every business could be open-source, not every business should be open-source.
As with any open, accessible, and free software, there are obvious and non-obvious drawbacks. There is no such thing as free food.
COSS companies done right grow fast as fuck. It’s the nature of free and open software to have massive adoption early on. Developers love open source. They love to be able to look into the code base, fix simple bugs that may annoy them, or overall just be helpful and give something back. Who doesn’t like to be helpful?
But the massive growth and value creation comes at a cost: value capturing. Pretty much every COSS founder I talk to is thinking about the concept of value creation and value capturing.
A freemium SaaS business has two customers: free tier and paid. And the ratio is usually very good. For example:
“Webflow powers more than 100,000 websites for businesses large and small."– https://webflow.com/customers
Webflow's latest valuation is reported to be $2.1B.
An open-source company, on the other hand, looks fundamentally different, with a ton of self-hosters and free customers, who sometimes don’t even know a commercial company behind the project exists.
For example: WordPress powers over 455 million websites as of 2021, and that number only continues to grow.
“The parent company of WordPress.com, Tumblr, and more, Automattic, announcing a new funding round bringing the company's total valuation to $7.5 billion” – https://cheddar.com/media/automattic-announces-288-million-funding-round
If Webflow would power 455 million websites – or – if WordPress was a centralized SaaS business with the economics and value capture mechanism of Webflow, they would likely be the biggest companies in the world.
Should I open-source X?
If you are asking this question yourself, you should probably not do it. As mentioned above, it is usually very obvious if you need a solution that is open, accessible and extensible or not.
If you don’t need it – don’t.
But if you want to sell into Enterprise, highly regulated industries or just want to build a solution for the sheer masses of people (100,000 vs 455M websites) then going open-source makes a ton of sense.
Additionally: focus on building the best product. The majority of consumers don’t really care if you are open-source or not.
They care about the best value for their money. Open source helps with value creation a ton: the feedback cycle is super fast, community members fix bugs, help with translations, and many other things, but never forget to build a superior product over your SaaS competitor.
Because at the end of the day, that’s all that matters: build something people