Forge
markdowndeeb25a2
1# ADR 0101: Лицензирование и стратегия коммерциализации
2
3**Статус:** Accepted
4**Дата:** 2026-04-26
5
6## Связанные ADR
7
8| ADR | Роль |
9|-----|------|
10| [0009](0009-strangler-migration-and-exceptions.md) | связанный ADR |
11| [0024](0024-ide-sdk-and-stable-contracts.md) | связанный ADR |
12| [0027](0027-small-team-focus-vs-public-maturity.md) | связанный ADR |
13| [architecture-policy.md](../architecture-policy.md) | вне нумерованного ADR |
14
15
16## Резюме
17
18- Матрица **лицензий** и правила зависимостей (copyleft, коммерциализация).
19- Guardrails для выбора стека и публикации артефактов.
20- Governance — рядом с [0100](0100-project-constitution.md).
21
22
23---
24
25<a id="adr0101-context"></a>
26
27## 1. Контекст
28
29CascadeIDE планирует оставаться open source, сохраняя варианты коммерциализации (облачные сервисы, корпоративные сервисы, поддержка, пользовательские интеграции).
30Проект также рассматривает зависимости ИИ и времени выполнения с разными лицензионными моделями, включая «сильный» копилефт.
31
32Без явной политики решения по зависимостям могут дрейфовать и создавать будущие IP-конфликты (ограничения распространения, риски при пере-лицензировании, риски для due diligence и неопределённость для контрибьюторов).
33
34---
35
36<a id="adr0101-decision"></a>
37
38## 2. Решение
39
40Принять лицензионную стратегию **open source с сохранением коммерческих опций**:
41
420. **Код CascadeIDE в этом репозитории** распространяется под **MIT** (см. корневой [`LICENSE`](../LICENSE)); коммерческие услуги и публичные контакты — в [`COMMERCIAL-NOTICE.md`](../COMMERCIAL-NOTICE.md).
431. **Базовый путь распространения** использует только лицензии из базового разрешённого списка.
442. **Компоненты со «сильным» копилефтом** (семейство GPL/AGPL) запрещены в ядре и рантайме без отдельного утверждённого ADR-исключения.
453. Коммерциализация остаётся открытой через:
46 - управляемые облачные предложения,
47 - корпоративные расширения,
48 - поддержку/консалтинг/обучение.
494. Каждая новая внешняя зависимость проходит проверку и фиксируется с лицензионными метаданными.
50
51---
52
53<a id="adr0101-license-matrix"></a>
54
55## 3. Матрица лицензионной политики
56
57<a id="adr0101-matrix-allowed-default"></a>
58
59### 3.1 Разрешено по умолчанию
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 Разрешено с явной проверкой
69
70- MPL-2.0
71- семейство LGPL
72
73Критерии проверки для этой группы:
74- модель связывания и развёртывания,
75- обязательства на изменённые файлы/библиотеки,
76- влияние на распространение пакетированных desktop-сборок.
77
78<a id="adr0101-matrix-restricted"></a>
79
80### 3.3 Ограничено (требуется ADR-исключение)
81
82- семейство GPL
83- семейство AGPL
84- SSPL
85- custom non-commercial / source-available условия, ограничивающие бизнес-использование
86
87---
88
89<a id="adr0101-dependency-rules"></a>
90
91## 4. Правила управления зависимостями
92
93Для каждого нового пакета или библиотеки:
94
951. Фиксировать:
96 - имя пакета,
97 - версию,
98 - URL источника,
99 - заявленную лицензию,
100 - заметные риски по транзитивным лицензиям.
1012. Добавлять и обновлять проектные уведомления в [`docs/THIRD-PARTY-NOTICES.md`](../THIRD-PARTY-NOTICES.md).
1023. Обеспечить, что проверки лицензий в CI падают при:
103 - запрещённых лицензиях,
104 - неизвестных/неразрешённых лицензиях.
105
106---
107
108<a id="adr0101-forbidden-architecture"></a>
109
110## 5. Архитектурный ограничитель для запрещённых лицензий
111
112Если рассматривается компонент с запрещённой лицензией:
113
1141. Начинать с оценки PoC вне пути поставки ядра.
1152. Проводить юридическую и продуктовую проверку (обязательства, модель распространения, политика обновлений).
1163. Разрешать только через отдельное ADR-исключение с планом отката.
117
118Без явной юридической проверки не предполагается «автоматическая безопасность» только из-за процессных границ (например, sidecar/process split).
119
120---
121
122<a id="adr0101-commercialization"></a>
123
124## 6. Модель коммерциализации (неисключительная)
125
126Open source-ядро совместимо с коммерческими сценариями через:
127
128- облачные и управляемые сервисы,
129- корпоративные дополнения,
130- платную поддержку/SLA,
131- консалтинг и внедрение.
132
133Этот ADR не фиксирует единственный путь монетизации; он сохраняет гибкость и при этом поддерживает гигиену зависимостей.
134
135---
136
137<a id="adr0101-consequences"></a>
138
139## 7. Последствия
140
141<a id="adr0101-consequences-positive"></a>
142
143### Положительные
144
145- Ясные правила контрибуций и зависимостей.
146- Более чистая IP-цепочка для будущего due diligence.
147- Ниже риск случайной лицензионной блокировки.
148
149<a id="adr0101-consequences-negative"></a>
150
151### Отрицательные
152
153- Часть технически привлекательных библиотек может быть исключена из ядра.
154- Больше процессной нагрузки при добавлении зависимостей.
155
156---
157
158<a id="adr0101-rollout-plan"></a>
159
160## 8. План внедрения
161
1621. ~~Добавить `license-policy.md` (краткая политика для разработчиков).~~ Сделано: [`../license-policy.md`](../license-policy.md).
1632. ~~Добавить/поддерживать `THIRD-PARTY-NOTICES.md`.~~ Сделано: [`../THIRD-PARTY-NOTICES.md`](../THIRD-PARTY-NOTICES.md) (копируется в publish через `CascadeIDE.csproj`).
1643. Добавить в CI проверку лицензий как обязательный этап.
1654. Провести базовый аудит лицензий зависимостей и устранить находки.
1665. Вести исключения отдельными ADR.
167
View only · write via MCP/CIDE