3. License decisions
3.1 Redis → Valkey
Valkey is BSD-3-Clause, and Langfuse's support handbook lists Valkey as a compatible Redis replacement. Redis releases after 7.2 are not open source until version 8 added an AGPL option. The core app needs no Redis at all, because Loco's queue runs on Postgres. Any optional service that needs Redis gets Valkey.
3.2 MinIO → SeaweedFS
MinIO is AGPL v3. SeaweedFS's core is Apache-2.0, and Langfuse's self-hosting docs list it as a supported S3 option that needs path-style addressing switched on. SeaweedFS is itself open-core: its own comparison page marks several features as Enterprise-only, so use only the Apache-2.0 binary. Garage is AGPL and was rejected.
3.3 Integrations
| Candidate | License | Verdict |
|---|---|---|
Native Rust connectors behind IntegrationConnector, plus MCP | Your code | Default |
| Activepieces CE | MIT except packages/ee/ and packages/server/api/src/app/ee, which need a paid license for production | Optional, MIT-only build |
| Node-RED | Apache-2.0 | Acceptable sidecar |
| Kestra | Apache-2.0 core, separate Enterprise Edition | Acceptable on the OSS image |
| Temporal | MIT | Acceptable, overlaps with graph-flow |
| Apache Camel / Camel K | Apache-2.0 (verify) | Acceptable for heavy integration patterns |
| Huginn | MIT | Acceptable, low activity |
| Windmill | AGPLv3 source build; the CE binary adds proprietary terms | Rejected |
| Automatisch | AGPL-3.0 with enterprise files, low recent activity | Rejected |
| n8n, Dify, Flowise, AutoGen | Fair-code, modified Apache, unmaintained, maintenance mode | Rejected |
Activepieces MIT-only build. Build the image from source after deleting the two enterprise folders and set AP_EDITION=ce. Feature gating and license-key checks live inside the enterprise path, so removing it may break imports; confirm by building. Published @activepieces/piece-* npm packages lack a license field (issue #16544), so the npm license check needs an override list.
Native connectors, the default. One adapter per system implementing IntegrationConnector (generic webhook, QuickBooks, Xero, Odoo, IMAP/SMTP), selected and configured in config/agents/connectors/*.yaml. External MCP servers are wrapped by an MCP connector. This keeps Node out of the critical path and avoids open-core drift.
3.4 Observability
| Candidate | License | Verdict |
|---|---|---|
| OpenTelemetry Collector + Jaeger v2 | Apache-2.0 (verify Jaeger's LICENSE) | Default |
| Comet Opik | Apache-2.0 for the whole platform | Optional evaluation UI. Swap its MinIO and Redis for SeaweedFS and Valkey. It uses MySQL (GPL-2.0 with a FOSS exception) |
| Langfuse OSS | MIT except its ee/ folders | Optional. Run without an enterprise key; build from source without ee/ for a strict audit |
| Prometheus | Apache-2.0 | Metrics |
| Grafana, Grafana Tempo | AGPL-3.0 | Open source but copyleft; avoid under a permissive-only policy |
| SigNoz | MIT core plus proprietary enterprise folders | Open-core, not default |
| OpenObserve, Langtrace | AGPL-3.0 | Copyleft, not default |
| Arize Phoenix | Elastic License 2.0 | Not open source. Rejected |
Langfuse says its enterprise code paths run only when an enterprise license key is set. Its prebuilt images still contain that source, so a strict "no non-OSI code present" policy needs a source build.
3.5 Models
| Role | Model | License | Notes |
|---|---|---|---|
| Chat and tool calls (GPU) | Qwen/Qwen3.8-27B | Apache-2.0 | vLLM recipe uses the qwen3_coder tool parser and qwen3 reasoning parser. Reports conflict on which vLLM version supports it; test on your pinned image |
| Chat (small GPU or CPU fallback) | Qwen3-8B or gpt-oss-20b | Apache-2.0 | Lower extraction accuracy; measure with the eval set |
| Embeddings | Qwen/Qwen3-Embedding-0.6B | Apache-2.0 | Vectors up to 1024 dimensions |
| Avoid | Llama, Qwen3.8-Max, some Qwen2.5 sizes, Nemotron | Custom or non-OSI | Blocked by the allow-list in models.yaml |
3.6 Docling models
Docling's code is MIT, and its model weights are licensed separately. A September 2026 license comparison of Docling 2.130.0 by Particula Tech lists the defaults as: the heron layout model under Apache-2.0, TableFormer under CDLA-Permissive-2.0 plus Apache-2.0, CodeFormulaV2 under CDLA-Permissive-2.0, and the figure classifier under MIT. CDLA-Permissive-2.0 is a permissive data license and is not an OSI software license, so record it as an explicit exception or avoid it. For invoices, switch off picture classification and formula enrichment in the parser options. That leaves heron and TableFormer. TableFormerV2 (Apache-2.0) is still a preview. Use RapidOCR or EasyOCR for OCR (both Apache-2.0, verify).