06 Licensing¶
Source page: 06-licensing.html
6. Software licensing audit (v1 stack)¶
Evaluation of every component in the v1 stack for commercial use without an open-source license. Bottom line: nothing in v1 blocks commercial use or imposes copyleft obligations on the product's own code. One component requires a paid license (Oban Pro); one imposes a hosting constraint (TimescaleDB); two have easy fully-open swaps if license purity matters (OpenTofu for Terraform, OpenSearch over Typesense).
6.1 Fully open source — permissive, no conditions
Elixir, Erlang/OTP, Phoenix, LiveView, Absinthe, Ecto, libcluster (Apache 2.0/MIT) · PostgreSQL (PostgreSQL License) · pgvector (PostgreSQL License) · Oban open-source core (Apache 2.0) · React, React Flow core, React Native, Expo, WatermelonDB, Tailwind (MIT) · OpenSearch (Apache 2.0) · Playwright/Chromium (Apache 2.0/BSD) · PostGIS (GPLv2 — copyleft, but server-side unmodified use is standard practice and imposes nothing on product code) · Prometheus, OpenFeature, flagd (Apache 2.0) · vLLM (Apache 2.0) · candidate model weights Qwen2.5 and Mistral (Apache 2.0), Phi-4 (MIT) · open embedding models nomic-embed/bge (Apache 2.0/MIT) · Apache Kafka and ClickHouse, the deferred components (Apache 2.0). Free for commercial use without conditions.
6.2 Components requiring attention
| Component | License | Implication for this business |
|---|---|---|
| Oban Pro | Commercial (paid) | The only paid software license in the core runtime. OSS Oban covers queues/retries/scheduling; Pro adds the workflow, chain, and batch primitives the automation engine leans on. Modest cost; alternative is building workflow composition on OSS Oban. Recommendation: pay. |
| TimescaleDB | Apache 2.0 core; Timescale License (TSL) for continuous aggregates & compression | The features we chose it for are TSL: free to use in the business, source-available, but not OSI open source and cannot be offered as a managed database service. Practical bite: unavailable on AWS RDS — self-host on EC2 or use Timescale Cloud. |
| RudderStack (server) | Elastic License 2.0; SDKs MIT | Free to self-host inside the product, including commercially. Restriction: cannot resell RudderStack itself as a managed service — not applicable here. Source-available, not open source. |
| Terraform | BUSL 1.1 (since 2023) | Free for this use case (not a Terraform competitor), but no longer open source. Adopted mitigation: use OpenTofu, the Linux Foundation MPL-licensed drop-in fork. |
| Sentry (self-hosted) | FSL (source-available) | Free for internal business use with conditions; SaaS is paid regardless. Acceptable either way; not open source. |
| Grafana | AGPLv3 | Genuinely open source but copyleft. Internal dashboard use is fine; AGPL obligations only arise if Grafana itself is modified and served to outside users — not planned. |
| Typesense (server) | GPLv3 | Open source, copyleft; fine when not distributed. Preference recorded for OpenSearch (Apache 2.0) to keep copyleft out of the data path entirely. |
| Documenso (if self-hosted) | AGPLv3 | As an embedded paid API it is simply a vendor. Self-hosting triggers AGPL obligations only if modified. Dropbox Sign alternative is commercial SaaS. |
| Redpanda (deferred option) | BSL | If the Kafka trigger fires and Redpanda is chosen for operational ease, note it is source-available. Apache Kafka remains the fully-open option. |
| Model weights (LLM) | Varies by model | Weights licensing differs from code licensing: Qwen2.5/Mistral (Apache 2.0) and Phi-4 (MIT) are unrestricted for this use; Llama Community License permits it but carries use restrictions, an acceptable-use policy, and attribution terms; Gemma Terms similar. Policy: prefer Apache-2.0/MIT weights; review terms before fine-tuning, since derivative adapters inherit them. |
| PostHog (self-hosted) | MIT core; some features proprietary/paid | Core autocapture, heatmaps, and session features used here are MIT. Premium/enterprise features in the same repo are under a proprietary license — feature selection must respect the boundary. |
6.3 Commercial SaaS by design
Never open source; paid per use — a spend question, not a licensing risk: Stripe/Payrix/Finix, Twilio, Postmark, Nylas, Wisetack, Sunlight Financial, WorkOS/Auth0, Datadog (if chosen), LaunchDarkly (if chosen over OpenFeature), Vanta/Drata, Osano/OneTrust, AWS, measurement partners (EagleView, HOVER, RoofScope, Roofr), and the prospect-data services: parcel aggregators (Regrid/ATTOM/CoreLogic), permit APIs (Shovels), contact-enrichment brokers (Melissa, BatchData, Endato, PropertyRadar), USPS CASS/NCOA processors, DNC scrub services, and mail-house APIs (Lob, PostGrid). GPU compute for local LLM serving is an infrastructure cost (AWS), replacing hosted GenAI API spend — a deliberate hedge against the unknown future cost and stake of LLM/GenAI APIs. Enrichment brokers additionally impose data-license terms on the records themselves — reviewed per §5.
6.4 Standing policy — license drift
Terraform, Sentry, RudderStack, Redpanda, and Timescale all moved from open source to source-available licenses in recent years. "It was open source when we adopted it" is a live supply-chain risk: license terms are reviewed at every major version upgrade, and components with fully-open forks (OpenTofu, OpenSearch, Valkey-class precedents) are preferred where capability is equivalent.