Simply copy and paste the following command line in your terminal to create your first Strapi project.
With 58,000 stars on GitHub, 1,000 contributors, and more than 12 million downloads, Strapi’s impact is clear. Our client base includes tech giants like Amazon and Adidas, among others. But today, I want to shift focus from Strapi's achievements to a topic that's vital for many in the open-source world: the business model dilemma we face when building a Commercial Open-Source Software (COSS).
Our story starts back in 2015 at university. My co-founders, Aurélien, Jim, and I were then students and freelance developers. We often worked with traditional CMSs and faced their limitations firsthand, especially when it came to managing content for modern applications. This led us to create Strapi, and on October 1st, 2015, we pushed Strapi’s first line of code into GitHub.
From the beginning, it was a no-brainer for us that Strapi had to be open source: we believed in the power of community, and our experience building websites as freelancers made us firm believers that a CMS had to be fully customizable. We spent two years studying while working as freelancers and maintaining the project as much as we could on our nights, weekends, and holidays. Juggling our studies, freelance work, and Strapi was challenging, but the community's engagement made it rewarding.
By 2017, it was time to commit to Strapi full-time. We started as freelancers, which allowed us to generate income quickly and use our product firsthand—that was our first business model. However, this model had its drawbacks. Most of our time went to client-specific needs, leaving little for Strapi’s development. We realized we needed to focus solely on Strapi to evolve the product at the pace we envisioned. To be able to free ourselves from distractions and focus solely on Strapi, we had to raise money.
Our fundraising journey began in 2018. We raised our first million in pre-seed, allowing us to dedicate ourselves to Strapi. This was a pivotal moment. It helped us grow our team (by recruiting for the first time) and expand our user base. We then raised a $4M Seed in 2019 and a $10M in 2020. We raised all that money without any revenue coming in. This approach, while successful for us, is risky and less feasible in today's VC climate. That is not something we would recommend doing today. In the current context, you will need to show not only community traction but revenue traction.
To make money in open-source, you have two main options: going open core, or going SaaS.
In 2020, Strapi embraced the Open Core model. At that time, being one of the few headless CMS companies, we saw a clear demand for additional features from our users. The decision to launch an Enterprise Edition was strategic. It wasn't just about adding features; it was about scaling our revenue and attracting further investment. That also helped us raise a great $31M Series B in 2022, two years after the launch of our paid offering.
So what’s the conclusion about Open Core for us? It was an interesting first model for us as we had no infrastructure to manage, we closed significant deals in terms of ACV because companies interested in open core were willing to pay for additional features.
We learned that a key element with Open Core is maintaining a single codebase. Forking the Community Edition can lead to maintenance challenges and user confusion. For us, the Enterprise Edition is an extension of our Community Edition. If you go open core, that's the first advice I’ll give you: do not fork your Community Edition. Instead, make it an extension.
It is important to mention one of the challenges we’ve been facing with this business: measuring usage. When your product does not run on your own servers, it can be difficult to understand usage and iterate based on it. Even drafting a pricing strategy that makes sense for everyone can be difficult, as the pricing usually depends on the usage, whether it's the number of API requests or the number of seats.
|- It brought us to Series B
|- Confusion between free and paid
|- No infrastructure to manage
|- Usage tracking is difficult, which makes renewals, expansion and Customer Success harder
|- Focus on only one business model
|- From individuals to enterprises
|- Enterprise = big deals
|- Requires specific roles: Field Sales, Solution Architects, etc.
|- Enterprise Edition in the open, with one single codebase
|- Sales (and procurement processes) intensive
Despite the success with Open Core, we kept hearing the same recurring feedback from Strapi’s Community: “I love Strapi, but I don’t want to manage servers”. Handling uptime, scalability, security, networking, and so on became a recurring and growing pain point among our users. This insight led to the birth of Strapi Cloud. Our goal was to simplify the Developer Experience: what if you could just click on a “sign up” button and get your Strapi project up and running? Strapi Cloud is more than just a product; it's a solution to a real problem, making it easier for users to get value from Strapi without the complexities of server management.
We learned that companies like to buy features, but are even more comfortable paying for hosted software. If companies use your self-hosted version, they will have to buy servers anyway. So they are more likely to pay you for a hosted service directly.
Proposing a hosted version of your open-source product also comes with some challenges. In our case, we needed new skills in our team, such as PLG marketers, a more proactive customer success team, and Solution Architects. Building and maintaining a platform is a second product, and it might require deeper changes such as architecture changes in your product to go multi-tenant. It asks for a new paradigm to anticipate.
|- Shorter time to value
|- Requires a new set of skills: SREs, PLG marketers, reactive CS, etc.
|- Not only sell features but compute
|- It's a second product to build and maintain
|- Companies are more used to pay for hosted software
|- Might require some architecture changes
|- Flywheel: increases usage and revenue
|- Better suited for self-serve, which results in more efficiency
|- Enlarges total addressabke market
I’ve shared some learnings from our journey to open core and our journey to offer a managed version of our product. Another key thing to think about when building an open-source startup is the choice between being sales-driven and self-serve.
You’ll need to be focused on only one of these two at the beginning because your team will be too small. And even when your team gets bigger, you will want everyone to be aligned.
At Strapi, we had to navigate through multiple motions. We went from individuals with our Community plan to large companies with the release of the Enterprise Edition. Now, with the arrival of Strapi Cloud, we can offer a product to SMBs and mid-market companies.
It can be easy to be all over the place. My advice here would be to focus, and pick one. Iterate on it, try it, and analyze where you get the most traction from. But you won’t be able to optimize multiple machines at the same time.
Our journey also involved balancing sales-driven and self-serve models. In the beginning, it's crucial to focus on one due to limited resources. As we grew, these models became complementary. The sales-driven approach targets larger clients, while self-serve caters to smaller businesses and individual users.
|- More efficient, higher velocity, easily scalable
|- Higher ACV, helps collecting feedbacks
|- Lower retention, lower ACV
|- Capital intensive, requires strong differentiators
|Great fit for SaaS
|Great fit for Open-Core
What have we learned from our journey at Strapi building an open-source startup? It’s vital to start selling early: Don’t do like us, the market is different today. Except if you’re in a very hot market like AI, start selling early. You will learn a lot about who your users are, and what they want. Do something users want. If they want open core, go Open Core. If they want SaaS, do SaaS. Default to SaaS and Self-Serve. Except if your Ideal Customer Profile is the enterprise and that your SaaS market is very crowded, SaaS with Self-Serve is the way to go. Focus on one model only. That’s the most important thing: focus. And say no to the rest. As your business grows, be prepared to adapt and evolve. The open-source landscape is dynamic, and success lies in being responsive to market needs and user feedback.
Pierre created Strapi with Aurélien and Jim back in 2015. He's a strong believer in open-source, remote and people-first organizations. You can also find him regularly windsurfing or mountain-biking!