# Выбор лицензии: варианты и что они означают **Статус:** ~~решение не принято~~ — **решено 2026-09-03**, [ADR-0003](architecture/decisions/0003-split-licensing-prose-and-code.md): проза бандла CC BY-ND 4.0, код и метаданные Apache-2.0, правообладатель — MagentaDolphin. Документ сохраняется как материал, из которого решение выросло: §§1–6 ниже описывают состояние **до** выбора, включая отсутствовавший тогда `LICENSE`. Читать как разбор вариантов, не как состояние репозитория. **Открытый вопрос:** №2 из `handoff.md` — закрыт. **Это не юридическое заключение.** Автор документа не имеет квалификации его дать. --- ## 0. Состояние на сейчас | Что | Значение | |---|---| | Файл `LICENSE` в репозитории | отсутствует **[изм]** | | `README.md:25` | «TBD (планируется MIT)» **[изм]** | | `plugin.json` → `author.name` | `"ue-design-skills"` — заглушка, автором значится сам бандл **[изм]** | | Поле `license` в манифестах | отсутствует; удалено намеренно (ADR-0002) **[изм]** | | Правообладатель | **не определён** | Лицензируемый объект сегодня — бандл `plugins/ue-design-skills`: ~19 000 строк авторской прозы, 232 записи с рецептами обнаружения, 335 блоков кода (в подавляющем большинстве — команды поиска и публичный API движка), плюс скрипт гейта `_gate/` на Python. Через фазу 1 к этому добавится **C++-модуль UE и MCP-сервер**. Это меняет расчёт и разобрано в §6. --- ## 1. Требования владельца, переведённые в лицензионные термины Сформулировано владельцем: > Свободное использование студиями · упоминание имени, в том числе в титрах · > никакого форка в чужие продукты без разрешения, тем более коммерческие · > никаких претензий на игры и код, созданные с помощью инструмента. В терминах, которыми оперируют лицензии: | № | Требование | Лицензионный термин | |---|---|---| | **R1** | студии, включая коммерческие, пользуются свободно | грант на **use**, без ограничения по коммерческому характеру | | **R2** | имя указано, в том числе в титрах игры | **attribution**, причём с триггером на *использование*, а не на распространение | | **R3** | нельзя форкать в свой продукт без разрешения | запрет на **Share Adapted Material** / **redistribution** | | **R4** | претензий на созданное с помощью инструмента нет | явная **output clause** | --- ## 2. Главное различие, вокруг которого всё вращается **Использование — не распространение.** Почти все лицензионные обязанности привязаны ко второму. - Студия читает скилы, проектирует по ним систему, выпускает игру. **Ничего вашего наружу не ушло.** Ни одна лицензия здесь ничего не требует. - Студия берёт бандл, переписывает под себя и публикует как свой продукт. **Вот здесь** лицензия работает, и здесь живёт R3. Отсюда следствие, которое важно принять до выбора строки в таблице: > **R1 и R3 совместимы** — они про разные действия. Свободно пользоваться и не > иметь права перевыпускать — нормальная, часто встречающаяся конструкция. > > **R2 в лицензионной форме недостижим.** Ни одна из существующих лицензий не > обязывает упоминать автора в титрах игры, при создании которой инструмент > просто использовали. Обязанность атрибуции срабатывает при распространении > копии, а копия здесь не распространяется. **[выв]** Это не придирка к формулировке. Это разница между «в лицензии написано» и «есть механизм, который заставит». --- ## 3. Требование R2: чем его закрывают на практике Раз лицензия не даёт, перечислю то, что даёт — по убыванию силы. | Механизм | Как работает | Чего стоит | |---|---|---| | **Договор** | студия подписывает условия использования, где атрибуция в титрах — обязательство | требует переговоров с каждой студией; убивает «скачал и работай» | | **Двойное лицензирование** | бесплатная лицензия с ограничением + платная/свободная по запросу, в обмен на атрибуцию | рабочая схема, но это уже бизнес-процесс, а не файл в репозитории | | **Пункт-рекомендация в README** | «если это помогло — упомяните в титрах» | ноль принуждения, ненулевой эффект; студии этим пользуются добровольно чаще, чем кажется | | **Историческая advertising clause** (BSD-4-Clause) | требовала упоминания «во всех рекламных материалах» | пункт признан вредным и отозван Беркли; вызывает несовместимость и отказ юротделов | | **Атрибуция при распространении** (CC BY / Apache NOTICE) | обязательна, но только когда копию передают дальше | закрывает форки и маркетплейсы, **не** закрывает титры игры | Практический вывод: атрибуция в титрах достижима как **норма сообщества плюс условие для тех, кто просит расширенных прав**, а не как строка лицензии. **[выв]** --- ## 4. Кандидаты против четырёх требований Легенда: ✅ даёт · ⚠️ даёт частично · ❌ не даёт или противоречит. | Лицензия | R1 свободное использование | R2 титры | R3 запрет форка | R4 выход свободен | Что это на самом деле означает | |---|---|---|---|---|---| | **MIT** | ✅ | ❌ | ❌ | ✅ | Форк в коммерческий продукт разрешён явно. Прямо противоречит R3 | | **Apache-2.0** | ✅ | ⚠️ `NOTICE` при распространении | ❌ | ✅ | То же, что MIT, плюс патентный грант и пометки об изменениях. R3 не закрывает | | **CC BY 4.0** | ✅ | ⚠️ при распространении | ❌ | ✅ | Сделана для текста, атрибуция реальна — но производные разрешены, включая коммерческие | | **CC BY-SA 4.0** | ✅ | ⚠️ | ⚠️ форк разрешён, но обязан остаться открытым под SA | ✅ | Не запрещает форк, а заражает его. Для внутренних вики студий — стоп-сигнал юротдела | | **CC BY-ND 4.0** | ✅ | ⚠️ при распространении | ✅ | ✅ | **Ближайшее совпадение по смыслу.** В версии 4.0 адаптации создавать *можно*, нельзя **Share** их. Студия правит под себя внутри — законно; публикует свою версию — нет | | **CC BY-NC 4.0** | ❌ | ⚠️ | ⚠️ | ✅ | Запрещает коммерческое использование — отсекает ровно ту аудиторию, которая нужна по R1 | | **PolyForm Noncommercial** | ❌ | ❌ | ✅ | ✅ | Та же ошибка, что у NC: блокирует коммерческие студии | | **PolyForm Internal Use** | ✅ | ❌ | ✅ | ✅ | «Пользуйтесь для своих нужд, но не поставляйте другим». Точно ложится на R1+R3 | | **PolyForm Shield** | ✅ | ❌ | ⚠️ запрещает только конкуренцию с автором | ✅ | Широкое принятие, блокируются лишь прямые конкуренты. Мягче, чем R3 | | **CC0 / public domain** | ✅ | ❌ | ❌ | ✅ | Отказ от всего, включая имя | | **Проприетарная / своя** | по вашему усмотрению | можно вписать | можно вписать | можно вписать | Единственный способ получить ровно R1–R4. Цена — в §5 | Замечания к таблице: - **CC для кода использовать не следует** — это позиция самой Creative Commons. Если выбор уходит в CC-семейство, гейт и будущий C++-модуль всё равно требуют отдельной строки. - **PolyForm-лицензии не одобрены OSI** — все накладывают ограничение по области использования. То же верно для всех CC, кроме CC0/BY/BY-SA. - **CC BY-ND 4.0 — не то же самое, что ND 3.0.** В 3.0 создание адаптации было за пределами гранта; в 4.0 адаптации явно разрешены, пока их не публикуют. Общая страница CC об этом до сих пор пишет по-старому, авторитетен здесь текст legal code, а не сводка. --- ## 5. Три реалистичные комбинации ### Вариант A — CC BY-ND 4.0 на тексты, Apache-2.0 на код Что получает пользователь: читает, применяет, правит под себя внутри студии; опубликовать свою версию бандла не может; код гейта и будущего плагина берёт свободно. - **R1** ✅ · **R3** ✅ · **R4** ✅ · **R2** — только атрибуция при распространении, титры остаются просьбой в README. - Готовые тексты, ничего сочинять не нужно. - Минус: нужно объяснять границу «текст/код» в каждом обсуждении. Минус второй: ND-лицензия закрывает и *дружественный* вклад — исправление в вашем тексте нельзя опубликовать даже как pull request-форк. ### Вариант B — PolyForm Internal Use на бандл, Apache-2.0 на код Формулировка «пользуйтесь для внутренних операций своей компании, но не поставляйте другим» ближе к вашей интонации, чем язык авторского права CC. - **R1** ✅ · **R3** ✅ · **R4** ✅ · **R2** ❌ полностью. - Минус: лицензия малоизвестна, юротдел студии её читает целиком, а незнакомая лицензия чаще приводит к отказу, чем к вопросу. **[гип]** ### Вариант C — своя лицензия из четырёх пунктов Ровно R1–R4, включая пункт про титры и пункт «на созданное с помощью инструмента претензий нет». - **R1–R4** ✅ на бумаге. - Минус, который перевешивает: **каждая студия обязана провести юридическую проверку**, а нестандартная лицензия — типовая причина автоматического отказа во внутренних политиках. Свободное распространение по R1 упирается ровно в это. Плюс текст должен написать юрист, иначе неоднозначность будет толковаться не в вашу пользу. --- ## 6. Что изменится в фазе 1 и почему это важно решить сейчас Сегодня продукт — текст. После фазы 1 в том же репозитории появится **C++-модуль UE и MCP-сервер**, то есть код, который студия компилирует внутрь своего редактора. Отсюда два следствия **[выв]**: 1. **Ограничительная лицензия на исполняемый код бьёт по принятию сильнее, чем на текст.** Юротдел, спокойно пропускающий документ с ограничениями, обычно гораздо строже к коду, попадающему в сборку. 2. **Менять лицензию задним числом нельзя** — те, кто уже взял по прежним условиям, остаются на них. Поэтому раздельная схема «код свободный, тексты ограничены» выгоднее выбрать сразу, чем переигрывать после первого релиза. --- ## 7. Правообладатель Любой из вариантов начинается со строки `Copyright (c) 2026 <ПРАВООБЛАДАТЕЛЬ>`. | Форма | Когда уместна | |---|---| | Настоящее имя физлица | автор один; самая простая и внятная форма | | Псевдоним / handle | если публичность имени нежелательна; авторство труднее доказывать при споре | | Юрлицо | если работа сделана в рамках компании — тогда выбор может быть и не ваш | | ` contributors` | принято при нескольких авторах; сейчас это описание будущего, а не факт | Имя правообладателя не выводится из содержимого репозитория и не может быть подставлено по умолчанию. Требование R2 — про **это** имя, поэтому пока оно не названо, R2 не реализуемо ни одним из механизмов §3. --- ## 8. Слой, который выбором из таблицы не закрывается Содержание бандла выведено из разбора Epic Lyra, распространяемого по UE EULA. Измерено: в поставке нет кода Epic, нет адресов вида `Файл.ext:строка`, нет имён с префиксом донора вне блоков `Provenance` (правило гейта P03, ноль нарушений). Присутствуют публичные имена API движка — `UPROPERTY`, `TArray`, `FGameplayTag` и подобные — и собственные наблюдения об архитектуре. **[изм]** Это существенно снижает риск, но **не является юридическим заключением** и не заменяет его. Если релиз публичный — вопрос адресуется человеку с квалификацией. Обезличивание, уже сделанное, принималось ради качества продукта; то, что оно попутно уменьшает этот риск, — побочный эффект, а не доказательство. **[гип]** --- ## 9. Что требуется от владельца, чтобы закрыть вопрос 1. **Правообладатель** — имя в строку copyright (§7). 2. **Комбинация** — A, B, C или иная (§5). 3. **Форма требования о титрах** — просьба в README, условие двойного лицензирования, или снятие требования (§3). После этого механическая часть — `LICENSE`, поле `license` в `catalog.json` и `plugin.json`, раздел в `README.md`, правило гейта на присутствие файла — делается за один заход. --- ## Источники - [PolyForm Project — исходные тексты лицензий](https://github.com/polyformproject/polyform-licenses) - [PolyForm Noncommercial License 1.0.0](https://polyformproject.org/licenses/noncommercial/1.0.0) - [License Round-Up — разбор семейства PolyForm](https://writing.kemitchell.com/2021/06/20/License-Round-Up) - [CC BY-ND 4.0 — deed](https://creativecommons.org/licenses/by-nd/4.0/deed.en) - [CC 4.0 — обращение с адаптациями (wiki)](https://wiki.creativecommons.org/wiki/4.0/Treatment_of_adaptations) - [CC — о лицензиях](https://creativecommons.org/share-your-work/cclicenses/) - [CC FAQ](https://creativecommons.org/faq/)