As many of you know, Tuist is a COSS (Commercial Open Source Software) project. We transitioned from being purely OSS to COSS to enable people to work full-time, not just supporting developers and teams using Tuist, but also advancing the developer tooling ecosystem by creating more open-source solutions.
In making this transition, we drew inspiration from the ideas and mental models of Heather Meeker, a renowned lawyer specializing in software licenses and venture capital. She helped us understand how COSS companies differ from traditional ones and what that means for the long-term sustainability of our project. I recently watched one of her talks on YouTube, and I wanted to share some of the ideas that have influenced our thinking:
- Why be open in the first place? We see openness as a tool for building better software. Openness fosters trust and encourages global participation. With global participation comes a diversity of ideas, which leads to more innovative products. It also holds everyone accountable, as their work is publicly available for critique and feedback. Additionally, it acknowledges the possibility that a project may end, and works to minimize risks for users. This approach often leads to slow and steady growth rather than the rapid, hockey-stick-like growth that many expect. Such projects tend to rely on a series of short sprints fueled by external capital, whereas we view Tuist’s journey as a marathon that has just begun.
- The strength of COSS companies lies in their brand loyalty and community. Building this takes time and requires many social and human interactions. Communities formed around open-source software are typically long-lasting and are often the catalyst for organic, word-of-mouth growth. We don’t spend heavily on marketing or community building. Instead, we treat everyone with empathy, extend a helping hand, and share our enthusiasm for solving developer problems. We expect nothing in return, but over time, some may become interested in our complementary paid offerings.
- Community and paid features should be complementary, not substitutes. A larger community of users should translate to more people opting for our paid features. The decision of where to draw the line between free and paid features is unique to each project. In our case, we’ve drawn it between features that require a server and those that don’t. Servers help address challenges that arise at scale. Our goal is to maintain a healthy balance between the two: Tuist as a standalone CLI tool provides significant value by abstracting Xcode project complexities, and we’ll continue improving it with every release. Meanwhile, Tuist Server complements both Tuist and Apple’s official tools for building apps at scale. The success of the paid side supports the Tuist project and benefits the ecosystem because we reinvest in open-source. We aim to make the server code available, though under a different license that ensures the business can continue to thrive.
COSS is a different kind of business. We build first and foremost for the community and use the business model to continue supporting our work full-time. By breaking down walls through open-source, we believe we can advance the ecosystem and drive more innovation. You upgrade to paid features because they solve real problems for you, and we aim to offer pricing that reflects the value you receive.
I’m personally excited about the future of Tuist and what we’re building with this model. We’ve always strived to be unique in some way, and I believe the COSS model captures that spirit.
If you have any questions, feel free to ask! If you’re curious about how our complementary features could benefit your project, I’d be happy to jump on a call and walk you through it. Or if your team is facing challenges we might help with, let’s chat. Just grab a slot, and let’s talk!