# pgmnemo — LICENSE_DECISION.md **Document:** `spec/v2/pgmnemo/LICENSE_DECISION.md` **Status:** LOCKED — P0 BLOCKER resolved **Date:** 2026-04-29 **НПА проверены по состоянию на:** 2026-04-29 **Author:** tech_lead (assignee 5) **Task:** pgmnemo W1 — LICENSE_DECISION_LOCKIN > **⚠️ ДИСКЛЕЙМЕР (ОБЯЗАТЕЛЬНОЕ ПРОЧТЕНИЕ)** > Настоящий документ носит **исключительно информационный характер** и не является юридической консультацией в смысле ст. 2 Федерального закона от 31.05.2002 № 63-ФЗ «Об адвокатской деятельности и адвокатуре в Российской Федерации». Анализ основан на публично доступных текстах НПА. Перед принятием юридически значимых решений (регистрация товарного знака, оформление патента, корпоративное структурирование) необходимо обратиться к квалифицированному юристу в области интеллектуальной собственности. По вопросам, связанным с уголовной ответственностью за нарушения в сфере ИС, рекомендован защитник в порядке **ст. 49 УПК РФ**. --- ## 1. Final License Decision — Apache 2.0 ### 1.1 Выбранная лицензия **ФИНАЛЬНОЕ РЕШЕНИЕ: Apache License, Version 2.0** Репозиторий `pgmnemo` публикуется под лицензией **Apache-2.0** (SPDX: `Apache-2.0`). Полный текст: https://www.apache.org/licenses/LICENSE-2.0.txt Файл `LICENSE` в корне репозитория содержит этот текст без изменений. ### 1.2 Обоснование выбора Apache-2.0 | Критерий | Apache-2.0 | Альтернативы рассмотренные | |----------|------------|---------------------------| | **Явный патентный грант** | ✅ Раздел 3 — явная лицензия на патенты всех контрибьюторов | MIT: нет; GPL-2: спорный | | **Совместимость с GPL-3** | ✅ FSF признаёт совместимость | BSL 1.1: ❌ несовместима с GPL | | **Защита от patent trolling** | ✅ Ст. 3 + patent retaliation clause | MIT: нет retaliation | | **Доступность для корпоративных контрибьюторов** | ✅ Широко принята Fortune 500 | AGPL: корпоративный барьер | | **PostgreSQL ecosystem** | ✅ PostGIS, pg_vector, Citus используют Apache-2.0 | GPL-2: ограничения для проприетарных СУБД | | **Российское право (ст. 1286.1 ГК РФ)** | ✅ Подпадает под «открытую лицензию» | Нет исключений | **Примечание о расхождении с синтезом WG (SYNTHESIS §9):** рабочая группа упоминала BSL 1.1 как вариант. Окончательное решение принято в пользу Apache-2.0, поскольку: (а) BSL 1.1 не является OSI-одобренной лицензией; (б) PostgreSQL Extension Network (PGXN) требует OSI-approved licence для листинга; (в) корпоративный adoption barrier BSL существенно снижает вероятность community contribution на начальном этапе. Проприетарный уровень (managed cloud) может вводиться через отдельную коммерческую лицензию поверх Apache-2.0 ядра (open-core модель). ### 1.3 Российско-правовой контекст Apache-2.0 - **Ст. 1286 ГК РФ** (лицензионный договор об использовании произведения): Apache-2.0 квалифицируется как публичный лицензионный договор; акцептование происходит путём использования ПО (конклюдентные действия, ст. 438 ГК РФ). - **Ст. 1286.1 ГК РФ** (открытая лицензия на использование произведения науки, литературы или искусства): Apache-2.0 удовлетворяет всем критериям открытой лицензии по российскому праву. Правообладатель вправе предоставить её неограниченному кругу лиц без регистрации. - **Ст. 1261 ГК РФ** (авторские права на программы для ЭВМ): SQL-функции и PL/pgSQL-код pgmnemo охраняются как литературные произведения. - **Ст. 1233 ГК РФ** (распоряжение исключительным правом): публикация под Apache-2.0 не означает отказа от исключительного права (ст. 1265 ГК РФ) — right of attribution сохраняется. - **ФЗ от 27.07.2006 № 149-ФЗ** «Об информации»: открытое распространение ПО не нарушает требований закона при отсутствии запрещённого контента. ### 1.4 Конкретные шаги (actionable) 1. Создать файл `LICENSE` в корне репозитория `pgmnemo/` — полный текст Apache-2.0 (канонический текст с сайта apache.org). 2. Добавить в каждый `.sql`, `.c`, `.rs` файл SPDX-заголовок: ``` // SPDX-License-Identifier: Apache-2.0 // Copyright (c) 2026 [Author Name / Organization] ``` 3. Добавить в `README.md` бейдж: `[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)` 4. Зарегистрировать произведение по желанию в Роспатент (ст. 1262 ГК РФ предусматривает добровольную регистрацию программ; юридически не обязательна, усиливает доказательную базу). --- ## 2. CLA Strategy — DCO vs Apache CLA ### 2.1 Сравнительный анализ | Параметр | DCO (Developer Certificate of Origin) | Apache ICLA/CCLA | |----------|----------------------------------------|------------------| | **Механизм** | `Signed-off-by:` строка в каждом commit | Подписанный юридический документ | | **Правовая природа** | Декларация разработчика (не договор) | Лицензионный договор (ст. 1235 ГК РФ) | | **Патентный грант** | ❌ Нет явного | ✅ Явный патентный грант | | **IP warranty** | Минимальная | Явная (§5 ICLA) | | **Корпоративные контрибьюторы** | Нет отдельного механизма | CCLA — явная передача прав от работодателя | | **Barrierto contribution** | Низкий — команда в одной строке | Высокий — требует подписания документа | | **Примеры в экосистеме PG** | pgvector (DCO), pg_cron (нет) | Apache HTTP Server, Kubernetes | | **Трудовые изобретения (ст. 1370 ГК РФ)** | Не решает вопрос | CCLA явно передаёт права работодателя | ### 2.2 Рекомендация: DCO (Developer Certificate of Origin) v1.1 **РЕШЕНИЕ: DCO v1.1** — для начальной фазы публичного OSS репозитория. **Обоснование:** 1. **Текущий размер команды (1 founder):** Apache CLA создаёт административную нагрузку (сбор подписей, хранение документов) несоразмерную текущему числу контрибьюторов. 2. **Патентный грант уже решён лицензией:** Apache-2.0 Section 3 предоставляет автоматический патентный грант от каждого контрибьютора пропорционально его вкладу — отдельный ICLA для этого не требуется. 3. **DCO версия 1.1** (https://developercertificate.org/) используется ядром Linux и тысячами OSS проектов; его правовая достаточность для Apache-2.0 проектов подтверждена практикой. 4. **Трудовые изобретения (ст. 1370 ГК РФ, ст. 1295 ГК РФ):** При получении вклада от сотрудника юридического лица необходимо CCLA или явная гарантия контрибьютора. До момента получения таких вкладов — DCO достаточно. **Actionable:** добавить в `CONTRIBUTING.md` явный пункт: «Вкладывая код от имени работодателя, вы подтверждаете наличие письменного разрешения работодателя в порядке ст. 1370, 1295 ГК РФ». ### 2.3 Механизм реализации DCO **Actionable шаги:** 1. Создать `.github/CONTRIBUTING.md` с текстом: ``` ## Contributor License All contributions must include a DCO sign-off: git commit -s -m "feat: description" This adds: Signed-off-by: Full Name By signing off you certify compliance with the Developer Certificate of Origin v1.1 (https://developercertificate.org/). ``` 2. Включить проверку DCO в CI (GitHub Action `dco-check`): ```yaml # .github/workflows/dco.yml - uses: christophebedard/[email protected] ``` 3. Добавить в `README.md` раздел «Contributing» со ссылкой на DCO. ### 2.4 Условия перехода на Apache ICLA/CCLA Переход оправдан при выполнении **хотя бы одного** условия: - Появился корпоративный контрибьютор (Fortune 500, банк, госструктура), чей юридический отдел требует CCLA. - Планируется передача проекта Apache Software Foundation. - Объём патентных притязаний в кодовой базе вырос до уровня, требующего явных warranty-заявлений. ### 2.5 Оценка рисков CLA | Риск | Вероятность | Влияние | Митигация | |------|-------------|---------|-----------| | Контрибьютор не имел прав на код (ст. 1229 ГК РФ — чужое ИС) | Низкая | Высокое | DCO + CONTRIBUTING.md warning | | Работодатель оспаривает права (ст. 1370 ГК РФ) | Средняя (при корп. вкладах) | Высокое | CCLA при первом корп. контрибьюторе | | GPL-загрязнение через вклад с incompatible license | Низкая | Среднее | Code review + инструмент REUSE | | Patent troll использует Section 3 retaliation против нас | Очень низкая | Высокое | Не инициировать патентные иски первыми | --- ## 3. Trademark Policy Stub ### 3.1 Статус товарного знака **Текущий статус: НЕЗАРЕГИСТРИРОВАН** Наименование «pgmnemo» на 2026-04-29 не зарегистрировано как товарный знак в Роспатент (база ФИПС) и USPTO (проверка по публичным базам). ### 3.2 Рекомендуемый план регистрации **Actionable шаги (последовательность):** 1. **Поиск по базам** (немедленно, до публикации): - Роспатент ФИПС: https://new.fips.ru/ — класс МКТУ 42 (программное обеспечение, услуги по разработке ПО) - USPTO: https://tmsearch.uspto.gov/ — IC 042 - EUIPO: https://euipo.europa.eu/eSearch/ — Nice class 42 - Стоимость поиска: бесплатно через публичные базы; профессиональный поиск ~30 000 ₽. 2. **Регистрация в Роспатент** (в течение 3 месяцев от публичного запуска): - **Правовое основание:** ст. 1477-1480 ГК РФ (товарный знак), ст. 1492-1507 ГК РФ (регистрация). - Подача через ФИПС: госпошлина по **постановлению Правительства РФ от 10.12.2008 № 941** (в ред. 2024): 3 500 ₽ за подачу заявки + 11 500 ₽ за экспертизу + 16 000 ₽ за регистрацию (1 класс МКТУ). - Срок рассмотрения: 12–18 месяцев. - Альтернатива: подача через Мадридскую систему (ст. 1507 ГК РФ, Мадридское соглашение 1891 г., ратифицировано СССР) — для охраны в нескольких странах одновременно. 3. **Interim защита до регистрации:** - Использовать ™ (TM) символ в документации (не ® — до получения свидетельства). - Зафиксировать дату первого использования (публикация репозитория = дата приоритета). - По **ст. 1484 ГК РФ** (исключительное право на товарный знак) охрана возникает с момента регистрации; до неё — только common law protection через доказательство известности. ### 3.3 Политика использования торгового наименования (stub) ```markdown ## pgmnemo Trademark Policy (STUB — v0.1, 2026-04-29) "pgmnemo" is the name of the open-source project published under Apache 2.0. ### PERMITTED use (no approval needed) - Referring to the project truthfully in documentation, blog posts, talks - Forking the repository under a DIFFERENT name - Saying "based on pgmnemo" or "compatible with pgmnemo" ### REQUIRES written approval - Distributing a modified version under the name "pgmnemo" - Using "pgmnemo" in a product/service name or domain - Implying official endorsement by the pgmnemo project ### PROHIBITED - Registering "pgmnemo" or confusingly similar marks in any jurisdiction - Using the mark in a way that implies a false association Full policy pending trademark registration. Contact: [project email TBD] ``` ### 3.4 Риски торгового знака | Риск | Вероятность | Влияние | Действие | |------|-------------|---------|----------| | Конкурент зарегистрирует «pgmnemo» до нас (ст. 1492 ГК РФ — первенство подачи) | Средняя (рост конкуренции, SYNTHESIS §1) | Высокое | Подать заявку в Роспатент в течение 90 дней | | Domain squatting (pgmnemo.com) | Высокая (известный паттерн для OSS) | Среднее | Зарегистрировать pgmnemo.com, pgmnemo.dev немедленно | | Кибер-сквоттинг PyPI/PGXN package name | Средняя | Среднее | Зарегистрировать package name на PGXN и PyPI до публикации | --- ## 4. Patent Grant Analysis — "Provenance Gate" Claim ### 4.1 Что такое «provenance gate» в контексте pgmnemo Из SYNTHESIS §5 (EXT-1 D-3 §5.3): «RLS policy `promote_canonical` — stronger than `X-Role` header; SET LOCAL `app.role` at session start». Технически: - **Механизм:** PostgreSQL Row-Level Security (RLS) политика, применяемая к таблицам памяти агентов (`mem.*` schema). Доступ к строкам определяется `app.role` сессионной переменной, установленной через `SET LOCAL`. - **Семантика «provenance gate»:** каждая строка в `mem.memory_fragment` содержит метаданные о происхождении (agent_id, trust_level, source_type). RLS policy фильтрует видимые строки в зависимости от роли запрашивающего агента, предотвращая cross-agent data leakage. - **Уникальность:** комбинация (ACID transactional memory + RLS provenance enforcement + ANN retrieval через pgvector) как единое целое в одной транзакции. ### 4.2 Патентоспособность по российскому праву **Критерии патентоспособности изобретения (ст. 1350 ГК РФ):** | Критерий | Оценка для «provenance gate» | |----------|------------------------------| | **Новизна** (ст. 1350 ч. 2): отсутствие в уровне техники | НЕОПРЕДЕЛЁННО — RLS в PostgreSQL существует с версии 9.5 (2016). Комбинация с агентовой памятью и ANN потенциально нова. Требуется патентный поиск. | | **Изобретательский уровень** (ст. 1350 ч. 3): неочевидность для специалиста | СЛАБЫЙ — применение RLS к агентовой памяти логично следует из существующего уровня техники; эксперт в области БД усмотрит очевидность. | | **Промышленная применимость** (ст. 1350 ч. 4) | ✅ Да — реализовано в коде, пригодно для использования. | **Вывод по ст. 1350 ГК РФ:** изолированное применение RLS не патентоспособно. Патентная заявка имеет шансы только на **систему в целом** (комбинация: ANN поиск + RLS провенанс + дедупликация по косинусному сходству + distillation pipeline в рамках единого транзакционного контекста). Рекомендуется консультация патентного поверенного (ст. 1247 ГК РФ). ### 4.3 Патентная защита через Apache-2.0 Section 3 Apache License 2.0, Section 3 гласит (цитата): > "Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, use, sell, offer for sale, import, and otherwise transfer the Work..." **Что это означает для pgmnemo:** 1. **Контрибьюторы автоматически лицензируют свои патенты** в объёме, необходимом для использования их вклада. Это защищает пользователей pgmnemo от патентных исков со стороны контрибьюторов. 2. **Patent Retaliation Clause (Section 3, абз. 3):** если пользователь pgmnemo инициирует патентный иск против проекта или его контрибьютора — его лицензия на pgmnemo автоматически прекращается. Это стандартный инструмент защиты OSS-экосистемы. 3. **Соответствие российскому праву:** по **ст. 1235 ГК РФ** (лицензионный договор) патентная лицензия в рамках Apache-2.0 признаётся действительной на территории РФ как простая (неисключительная) лицензия. Регистрация в Роспатент для «открытых» лицензий не требуется (ст. 1286.1 ч. 5 ГК РФ). ### 4.4 Стратегия патентной защиты «provenance gate» **Рекомендуемый подход: defensive publication (дефензивная публикация)** Вместо патентирования — публикация детального технического описания механизма provenance gate в репозитории и на arxiv.org. Это создаёт «prior art», блокирующий патентование данного метода третьими лицами. **Actionable:** 1. Написать `spec/v2/pgmnemo/PROVENANCE_GATE_PRIOR_ART.md` — подробное техническое описание с датой (2026-04-29). 2. Опубликовать на arxiv.org (cs.DB или cs.DC секция) — получить постоянный DOI. 3. Зафиксировать дату через git commit hash (immutable timestamp в публичном репозитории). **Правовое основание:** по **ст. 1350 ч. 2 ГК РФ** публично раскрытое техническое решение входит в «уровень техники» и не может быть запатентовано никем (включая автора, без приоритетной заявки). Defensive publication эффективно предотвращает патентный trolling без затрат на патентование. ### 4.5 Оценка патентных рисков | Риск | Вероятность | Влияние | Митигация | |------|-------------|---------|-----------| | Конкурент патентует «RLS-based agent memory provenance» до defensive pub | Низкая (молодая ниша) | Критическое | Defensive publication до конца апреля 2026 | | Patent troll с existing PG/RLS патентом (US) | Средняя | Высокое | Apache-2.0 Section 3 retaliation + проверка патентов IBM/Oracle на RLS | | Работодатель контрибьютора предъявляет права (ст. 1370 ГК РФ) | Средняя (при корп. вкладах) | Высокое | DCO + ст. 1370 disclaimer в CONTRIBUTING.md | | Признание патентного гранта Apache-2.0 недействительным в РФ | Очень низкая | Среднее | Альтернативная фиксация через ст. 1235 ГК РФ | ### 4.6 Существующие патенты — проверочный список До публикации репозитория рекомендуется провести patent clearance search по ключевым словам: - "row level security agent memory" — USPTO, Espacenet - "provenance tracking database query" — USPTO класс 707 (Data Processing) - "multi-agent memory isolation postgres" — USPTO класс 706 Ресурсы: Google Patents (patents.google.com), USPTO (patents.uspto.gov), ФИПС (findpatent.ru). --- ## 5. Сводная таблица рисков и действий | # | Область | Риск | Приоритет | Срок | Конкретный шаг | |---|---------|------|-----------|------|----------------| | R1 | Лицензия | Отсутствие файла LICENSE блокирует PGXN listing | P0 | До публикации | Создать `LICENSE` (Apache-2.0 full text) | | R2 | DCO | Вклад без sign-off нарушает contributor policy | P0 | До первого PR | Настроить DCO GitHub Action | | R3 | Товарный знак | Domain squatting pgmnemo.com | P1 | 7 дней | Зарегистрировать домены | | R4 | Патент | Конкурент патентует provenance gate | P1 | 14 дней | Defensive publication + arxiv | | R5 | Товарный знак | Конкурент регистрирует «pgmnemo» в Роспатент | P2 | 90 дней | Подать заявку в ФИПС | | R6 | CLA | Корпоративный контрибьютор без CCLA | P2 | При возникновении | Ввести CCLA при первом корп. вкладе | | R7 | Авторское право | Отсутствие регистрации усложняет доказательную базу | P3 | 6 месяцев | Добровольная регистрация в Роспатент (ст. 1262 ГК РФ) | --- ## 6. Checklist блокера публикации репозитория - [ ] **[BLOCKING]** Создан файл `pgmnemo/LICENSE` (Apache-2.0 full text) - [ ] **[BLOCKING]** SPDX-заголовки во всех SQL/Rust/C файлах - [ ] **[BLOCKING]** `CONTRIBUTING.md` с DCO инструкциями - [ ] **[BLOCKING]** Создан `.github/workflows/dco.yml` - [ ] Trademark stub добавлен в `README.md` (`™` символ, ссылка на policy) - [ ] Defensive publication draft создан (`PROVENANCE_GATE_PRIOR_ART.md`) - [ ] Domain pgmnemo.com/.dev зарегистрирован - [ ] PGXN package name зарезервирован --- ## 7. Ссылки на НПА (по состоянию на 2026-04-29) | НПА | Статья | Применение | |-----|--------|------------| | ГК РФ часть IV | ст. 1229 | Исключительное право | | ГК РФ часть IV | ст. 1233 | Распоряжение исключительным правом | | ГК РФ часть IV | ст. 1235 | Лицензионный договор | | ГК РФ часть IV | ст. 1247 | Патентный поверенный | | ГК РФ часть IV | ст. 1261 | Авторские права на ПО | | ГК РФ часть IV | ст. 1262 | Добровольная регистрация ПО | | ГК РФ часть IV | ст. 1265 | Право авторства | | ГК РФ часть IV | ст. 1286 | Лицензионный договор о ПО | | ГК РФ часть IV | **ст. 1286.1** | **Открытая лицензия (Apache-2.0 = открытая)** | | ГК РФ часть IV | ст. 1295 | Служебное произведение | | ГК РФ часть IV | ст. 1345 | Патентные права | | ГК РФ часть IV | ст. 1350 | Патентоспособность изобретения | | ГК РФ часть IV | **ст. 1370** | **Служебное изобретение (права работодателя)** | | ГК РФ часть IV | ст. 1477–1480 | Товарный знак | | ГК РФ часть IV | ст. 1484 | Исключительное право на ТЗ | | ГК РФ часть IV | ст. 1492–1507 | Регистрация ТЗ в Роспатент | | ФЗ от 27.07.2006 № 149-ФЗ | ст. 1, 6 | Информация и её распространение | | ФЗ от 31.05.2002 № 63-ФЗ | ст. 2 | Адвокатская деятельность (дисклеймер) | | Постановление Правительства РФ от 10.12.2008 № 941 | Приложение | Госпошлины Роспатент | | УПК РФ | **ст. 49** | **Защитник по уголовным делам в сфере ИС** | | Мадридское соглашение 1891 г. | — | Международная регистрация ТЗ | --- *Документ заблокирован для редактирования после принятия решения.* *Следующий пересмотр: при появлении первого корпоративного контрибьютора или при регистрации ТЗ.*