Saasify is an open core company. What does that mean, and why is open source so important to us?
I'm very proud to announce that Saasify's open source GitHub repo has just hit 600 stars.
This is a small but important milestone for us that has taken over a year of consistent, daily work including contributions across over a dozen related projects in the more general JS and TS communities.
I'm a big believer in the power of open source and can say from experience that a lot of people underestimate the second & third-order effects of building a strong open source community.
With all this in mind, I thought this would be the perfect time to share some general thoughts on our approach to open source.
Saasify is what's known as an open core company. This just means that some of our code is open source, and some of it is closed source.
Our platform's codebase is split into two monorepos, one for our publicly-facing, MIT-licensed open source work, and one that's private, for proprietary closed source work.
- User-facing parts of the platform (e.g., our Node.js CLI, React component library, marketing website / admin webapp, JS client API, etc)
- Lots of generally useful functionality that other open source projects and companies may benefit from (OpenAPI utilities, FaaS utilities, badge generator powered by headless Chrome, etc)
- 20 or so example projects showcasing different use cases for Saasify
- A standalone project for Functional TypeScript which transforms normal TS functions (and jsdoc-annotated JS functions) into JSON Schemas and OpenAPI specs
- Our platform's main backend API
- Our API gateway for proxying FaaS requests
- Various serverless functions whose business logic is built on top of OSS packages from Saasify's public repo
- The template-based SaaS web client (most of the React components that comprise this webapp are from our open source react-saasify package)
Choosing what to open source versus what to keep proprietary with the ultimate goal of building a sustainable business is a difficult balancing act, and there's no one right way to go about it. We're sharing Saasify's approach so far in the spirit of transparency and in the hope that it will help other founders make similar decisions in the future.
Working out in the open has some important, fundamental advantages over more traditional proprietary approaches.
For starters, it's one thing to claim that your company's transparent, has a solid platform that customers can rely on, and that customers can trust you, but it's really a different thing entirely to show all of these things by putting your code where your mouth is and open sourcing much of your core platform. Having a reputable presence in the open source community is increasingly becoming a major advantage for aspiring indie hackers.
Another advantage of investing time in open source is that it will eventually attract other talented developers who want to have an understanding of what things look like under the hood before considering whether or not they'd want to work with you. If you can show publicly that your platform is reasonably clean and follows modern best practices, you'll be able to have conversations with many top developers who would otherwise not give your company a second glance.
Aside from the very rare occasional viral HN post or influencer plug, successful open source projects tend to follow a very similar lifecycle as bootstrapped businesses.
They both generally take a slow, methodical approach to gaining traction and eventual success or failure can't be pinpointed to any one particular feature, strategy, or decision. It's a combination of consistent grinding, iterating based on user feedback, and ultimately persistence that separates both successful open source projects and indie products from unsuccessful ones.
If there's one thing that I'd love for other startup founders and indie hackers to take from our experience so far, it's an appreciation for how powerful open source can be as a natural content marketing and business development strategy especially for early adopters who tend to be more technically savvy.
As we continue our journey towards becoming the Shopify for SaaS, we're actively looking for other developers, designers, marketers, and like-minded business people to help us reach our goals. If this type of thing gets you excited, please reach out.
On a related note, COSS.media is one of my favorite resources discussing the tradeoffs and advantages of mixing open source with commercial business. If this stuff interests you, definitely check out their blog.
And finally, check out our open source repo for inspiration and let us know what you think. 🙏