Turning Open-Source Into Profit: Our Journey
We’ve generated almost €1M with react-admin, an open-source developer tool. How did we do it? Here is our story, and it’s open-source, too.
This is the first post in a series about building an open-source business.
- Turning Open-Source Into Profit: Our Journey (this article)
- Anatomy Of A Profitable Open-Source Project
- From Open-Source Project to Marketable Product
Sharing is one of our core values at Marmelab. You may see that from this very blog, where we’ve been publishing roughly one article per week for the past 10 years. Another way of sharing is by publishing open-source software. Our open-source projects total more than 80,000 stars on Github.
For a long time, our open-source projects were “side projects” that brought, at most, new opportunities for our core business (we’re a web agency specialized in digital innovation). But we’ve always wanted to generate direct revenue with an open source project to make it sustainable and to gain more independence.
We’ve tried many times, and failed most of the time. For instance, we built a serious game called CultureBoot, which was designed to help managers change the practices of their team. The game was great but nobody paid for it. We also built a tool to help CTOs measure and reduce the carbon footprint of their websites, GreenFrame.io. GreenFrame has a strong user base, but the revenue that it generates has never come close to the expenses we've poured into its development.
Yet one of our open-source projects has reached profitability. React-admin is a frontend framework for building data-driven applications on top of REST/GraphQL APIs. It's brought in a million euros and now makes up a quarter of our company's income. This project has not just made money—it has fulfilled our dream of being funded to work on open-source initiatives.
Why did it work with this project and not the others? What did we do differently this time?
In retrospect, we think the following steps were key to reaching profitability:
- Building a product that people love.
- Finding a way to sell it.
- Forming a team with multiple skills, from engineering to marketing.
- Investing heavily in content.
- Growing a community.
- Aiming for the long term.
None of these steps was easy, and they all required a lot of work. We’ll detail each of these steps in the following blog posts.
But what worked for us may not work for others. For all we know, we might have just been super lucky, and our success isn’t replicable. But, in the open-source spirit, we’re sharing our learnings anyway, in the hope that they may help someone else.
We’ve read many startup success stories, but ours is quite different. We’ve never sought investors. We’re self-funded and we have no debt. We pay our taxes. We do not live in Silicon Valley. We don’t use planes. Most of the people working at Marmelab are ordinary people, not 10x developers, workaholics or visionaries. But we’re insistent.
We may not have the same notion of success as everyone else. Our primary objective is getting paid for doing what we love. We have achieved this objective: the revenue directly generated by react-admin covers both the initial and recurring costs for its development. We don’t want more. We don’t aim to get rich overnight and retire at 30.
We think of ourselves like the local bread makers. As long as we can keep providing our customers with the bread they love and earn our living from it, we'll be content.
We feel incredibly fortunate to have found a way to make a living from open-source. We hope that our story will inspire others to try the same. There aren’t enough success stories about open-source. We’d like to tell ours.
Read the next article in this series: Anatomy Of A Profitable Open-Source Project unveils the key performance indicators of react-admin.