Flags keep the sibling honest in both directions
The discipline cuts both ways, and that's the point. The open-source build resolves its flags from committed config — so what the community ships is exactly what the matrix says, with no hosted-only magic leaking in.
The saas build is the same code with different values — so 'works locally, broken on cloud' bugs shrink to config diffs. And moving a feature between editions is a reviewable one-line change, which forces the pricing conversation to happen in the open (internally) instead of by code drift.
The failure stories flags prevent
Every open-core maintainer collects the same incidents: the contributor who built against the public repo and hit an invisible saas-only assumption; the enterprise prospect who asked 'what exactly do we get over self-hosting?' and got four conflicting answers; the well-meaning PR that accidentally exposed a paid feature because nothing marked it as paid. Each is a boundary question answered by vibes instead of data.
With per-tier flags the answers are mechanical. What does self-hosting include? Read the open-source column. What do you sell? Diff the saas column against it. Is this feature paid? It has a flag, and the flag has values.
Starting without ceremony
You don't need a migration to begin — you need your next divergent feature. Flag it, set per-tier values, commit the generated config, and let the matrix grow one honest row at a time. tier·dev makes that loop a two-minute task: connect the repo, define open-source and saas, create the flag, copy the snippet.
frequently asked
- Won't publishing the boundary help competitors clone our paid tier?
- Your paid tier was never secret — it's on your pricing page. The matrix adds engineering precision, not strategic leakage, and the community goodwill is worth more than the obscurity.
- What if the community flips the paid flags on themselves?
- Self-hosters who flip flags were never your customers — they're your power users. What you sell is hosting, SSO that's supported, updates, and someone to call. Open-core economics survive honesty.
- Does this replace a license boundary like BSL or Elastic-style terms?
- No — licenses govern rights, flags govern behaviour. Many open-core companies use both: a permissive core, a licensed private module, and flags as the operational seam.
Published June 4, 2026 · Last updated June 16, 2026