OSS-core (Sentry, Posthog, Mattermost) — the core is open source under a permissive (MIT/Apache) or copyleft (AGPL) licence. The commercial company offers a hosted version of the same code, plus enterprise-only features (SSO, audit logs, dedicated support, SLAs). The split runs through the codebase, with proprietary modules in a separate licence.
Hosted-OSS / SaaS-on-OSS (Vercel for Next.js, Hashicorp Cloud) — the core is open source under a permissive licence. The commercial company runs the canonical hosted version. Customers can self-host but most pay for the hosted experience. Risk: clouds (AWS, GCP) launching competing hosted versions.
OSS-adjacent (Stripe, Tailwind) — the framework / library is open source; the business is a separate product that benefits from the OSS's distribution. Tailwind sells UI components and admin templates; Tailwind itself is free.
The model dictates the licence, which dictates the entire trajectory:
- MIT / Apache 2.0 — maximum adoption, lowest moat (cloud forks legal)
- AGPL — protects against unauthorised hosting; tolerated by most enterprise, refused by some
- BSL (Business Source Licence) — paid for cloud hosting; converts to OSS after N years (HashiCorp, MariaDB pattern)
- SSPL — Mongo's response to cloud forks; controversial; treated as non-OSS by Debian/Fedora
Pick licensing the day you start, not on day 365 when you realise the model needs protection — relicensing breaks trust permanently.