Skip to main content
LangWatch is open-core. Some governance surfaces work for every self-hosted deployment under the Apache 2.0 license; others require a paid Enterprise plan. Use this map when planning a rollout: In the LangWatch UI, Enterprise-only surfaces show an “Available on Enterprise plans” card with an upgrade CTA when the org isn’t on an Enterprise plan; the same surfaces gray out source-type dropdowns to otel_generic and retention to thirty_days for non-enterprise users.

Per-file license headers

The repository tree is split 1:1 by license, so the directory a file lives in is its license: The header is a single SPDX line, no block comment, no preamble, no copyright assignment. Tooling (REUSE, GitHub linguist) reads SPDX identifiers natively, and contributors moving a file across the boundary only need to flip one line. The Enterprise identifier is a LicenseRef-* because LangWatch EE is not a registered SPDX license; the canonical text lives at the repo root in LICENSE-EE.

Local dev, QA license generation

Self-hosted dogfood, QA scripts, and seed flows that need the Enterprise feature surface unlocked use a real signed license, there is no env-var bypass. See License generator for the script + programmatic API.