Forge
markdowndeeb25a2
1<!-- English translation of adr/0101-licensing-and-commercialization-strategy.md. Canonical Russian: ../../adr/0101-licensing-and-commercialization-strategy.md -->
2
3# ADR 0101: Licensing and commercialization strategy
4
5**Status:** Accepted
6**Date:** 2026-04-26
7
8## Related ADRs
9
10| ADR | Role |
11|-----|------|
12| [0009](0009-strangler-migration-and-exceptions.md) | related ADR |
13| [0024](0024-ide-sdk-and-stable-contracts.md) | related ADR |
14| [0027](0027-small-team-focus-vs-public-maturity.md) | related ADR |
15| [architecture-policy.md](../../architecture-policy.md) | outside numbered ADR |
16
17## Summary
18
19- **License** matrix and dependency rules (copyleft, commercialization).
20- Guardrails for stack choice and artifact publication.
21- Governance — alongside [0100](0100-project-constitution.md).
22
23---
24
25<a id="adr0101-context"></a>
26
27## 1. Context
28
29CascadeIDE plans to remain open source while preserving commercialization options (cloud services, enterprise services, support, custom integrations).
30The project also considers AI and runtime dependencies with different license models, including “strong” copyleft.
31
32Without explicit policy, dependency decisions can drift and create future IP conflicts (distribution limits, re-licensing risk, due diligence risk, contributor uncertainty).
33
34---
35
36<a id="adr0101-decision"></a>
37
38## 2. Decision
39
40Adopt **open source with commercial options** licensing strategy:
41
420. **CascadeIDE code in this repository** is distributed under **MIT** (see root [`LICENSE`](../../LICENSE)); commercial services and public contacts — [`COMMERCIAL-NOTICE.md`](../../COMMERCIAL-NOTICE.md).
431. **Default distribution path** uses only licenses from the base allowed list.
442. **“Strong” copyleft** components (GPL/AGPL family) are forbidden in core and runtime without separate approved ADR exception.
453. Commercialization remains open via:
46 - managed cloud offerings,
47 - enterprise extensions,
48 - support/consulting/training.
494. Each new external dependency is reviewed and recorded with license metadata.
50
51---
52
53<a id="adr0101-license-matrix"></a>
54
55## 3. License policy matrix
56
57<a id="adr0101-matrix-allowed-default"></a>
58
59### 3.1 Allowed by default
60
61- MIT
62- Apache-2.0
63- BSD-2-Clause
64- BSD-3-Clause
65
66<a id="adr0101-matrix-allowed-reviewed"></a>
67
68### 3.2 Allowed with explicit review
69
70- MPL-2.0
71- LGPL family
72
73Review criteria for this group:
74- linking and deployment model,
75- obligations on modified files/libraries,
76- impact on packaged desktop distribution.
77
78<a id="adr0101-matrix-restricted"></a>
79
80### 3.3 Restricted (ADR exception required)
81
82- GPL family
83- AGPL family
84- SSPL
85- custom non-commercial / source-available terms limiting business use
86
87---
88
89<a id="adr0101-dependency-rules"></a>
90
91## 4. Dependency management rules
92
93For each new package or library:
94
951. Record:
96 - package name,
97 - version,
98 - source URL,
99 - declared license,
100 - notable transitive license risks.
1012. Add and update project notices in [`docs/THIRD-PARTY-NOTICES.md`](../../THIRD-PARTY-NOTICES.md).
1023. Ensure CI license checks fail on:
103 - forbidden licenses,
104 - unknown/unapproved licenses.
105
106---
107
108<a id="adr0101-forbidden-architecture"></a>
109
110## 5. Architectural guardrail for forbidden licenses
111
112If a component with forbidden license is considered:
113
1141. Start with PoC assessment outside core delivery path.
1152. Run legal and product review (obligations, distribution model, update policy).
1163. Allow only via separate ADR exception with rollback plan.
117
118Do not assume “automatic safety” from process boundaries alone (e.g. sidecar/process split) without explicit legal review.
119
120---
121
122<a id="adr0101-commercialization"></a>
123
124## 6. Commercialization model (non-exclusive)
125
126Open source core is compatible with commercial scenarios via:
127
128- cloud and managed services,
129- enterprise add-ons,
130- paid support/SLA,
131- consulting and implementation.
132
133This ADR does not fix a single monetization path; it preserves flexibility while supporting dependency hygiene.
134
135---
136
137<a id="adr0101-consequences"></a>
138
139## 7. Consequences
140
141<a id="adr0101-consequences-positive"></a>
142
143### Positive
144
145- Clear contribution and dependency rules.
146- Cleaner IP chain for future due diligence.
147- Lower risk of accidental license blockers.
148
149<a id="adr0101-consequences-negative"></a>
150
151### Negative
152
153- Some technically attractive libraries may be excluded from core.
154- More process load when adding dependencies.
155
156---
157
158<a id="adr0101-rollout-plan"></a>
159
160## 8. Rollout plan
161
1621. ~~Add `license-policy.md` (short developer policy).~~ Done: [`../../license-policy.md`](../../license-policy.md).
1632. ~~Add/maintain `THIRD-PARTY-NOTICES.md`.~~ Done: [`../../THIRD-PARTY-NOTICES.md`](../../THIRD-PARTY-NOTICES.md) (copied on publish via `CascadeIDE.csproj`).
1643. Add CI license check as required gate.
1654. Run baseline dependency license audit and remediate findings.
1665. Track exceptions in separate ADRs.
167
View only · write via MCP/CIDE