Contents
- pgmnemo — LICENSE_DECISION.md
- .github/workflows/dco.yml
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)
- Создать файл
LICENSEв корне репозиторияpgmnemo/— полный текст Apache-2.0 (канонический текст с сайта apache.org). - Добавить в каждый
.sql,.c,.rsфайл SPDX-заголовок:// SPDX-License-Identifier: Apache-2.0 // Copyright (c) 2026 [Author Name / Organization] - Добавить в
README.mdбейдж:[](LICENSE) - Зарегистрировать произведение по желанию в Роспатент (ст. 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 founder): Apache CLA создаёт административную нагрузку (сбор подписей, хранение документов) несоразмерную текущему числу контрибьюторов.
- Патентный грант уже решён лицензией: Apache-2.0 Section 3 предоставляет автоматический патентный грант от каждого контрибьютора пропорционально его вкладу — отдельный ICLA для этого не требуется.
- DCO версия 1.1 (https://developercertificate.org/) используется ядром Linux и тысячами OSS проектов; его правовая достаточность для Apache-2.0 проектов подтверждена практикой.
- Трудовые изобретения (ст. 1370 ГК РФ, ст. 1295 ГК РФ): При получении вклада от сотрудника юридического лица необходимо CCLA или явная гарантия контрибьютора. До момента получения таких вкладов — DCO достаточно. Actionable: добавить в
CONTRIBUTING.mdявный пункт: «Вкладывая код от имени работодателя, вы подтверждаете наличие письменного разрешения работодателя в порядке ст. 1370, 1295 ГК РФ».
2.3 Механизм реализации DCO
Actionable шаги:
- Создать
.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 email@example.com
By signing off you certify compliance with the Developer Certificate of Origin v1.1 (https://developercertificate.org/). ```
- Включить проверку DCO в CI (GitHub Action
dco-check): ```yaml.github/workflows/dco.yml
- uses: christophebedard/[email protected] ```
- Добавить в
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 шаги (последовательность):
Поиск по базам (немедленно, до публикации):
- Роспатент ФИПС: https://new.fips.ru/ — класс МКТУ 42 (программное обеспечение, услуги по разработке ПО)
- USPTO: https://tmsearch.uspto.gov/ — IC 042
- EUIPO: https://euipo.europa.eu/eSearch/ — Nice class 42
- Стоимость поиска: бесплатно через публичные базы; профессиональный поиск ~30 000 ₽.
Регистрация в Роспатент (в течение 3 месяцев от публичного запуска):
- Правовое основание: ст. 1477-1480 ГК РФ (товарный знак), ст. 1492-1507 ГК РФ (регистрация).
- Подача через ФИПС: госпошлина по постановлению Правительства РФ от 10.12.2008 № 941 (в ред. 2024): 3 500 ₽ за подачу заявки + 11 500 ₽ за экспертизу + 16 000 ₽ за регистрацию (1 класс МКТУ).
- Срок рассмотрения: 12–18 месяцев.
- Альтернатива: подача через Мадридскую систему (ст. 1507 ГК РФ, Мадридское соглашение 1891 г., ратифицировано СССР) — для охраны в нескольких странах одновременно.
Interim защита до регистрации:
- Использовать ™ ™ символ в документации (не ® — до получения свидетельства).
- Зафиксировать дату первого использования (публикация репозитория = дата приоритета).
- По ст. 1484 ГК РФ (исключительное право на товарный знак) охрана возникает с момента регистрации; до неё — только common law protection через доказательство известности.
3.3 Политика использования торгового наименования (stub)
## 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:
Контрибьюторы автоматически лицензируют свои патенты в объёме, необходимом для использования их вклада. Это защищает пользователей pgmnemo от патентных исков со стороны контрибьюторов.
Patent Retaliation Clause (Section 3, абз. 3): если пользователь pgmnemo инициирует патентный иск против проекта или его контрибьютора — его лицензия на pgmnemo автоматически прекращается. Это стандартный инструмент защиты OSS-экосистемы.
Соответствие российскому праву: по ст. 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 г. | — | Международная регистрация ТЗ |
Документ заблокирован для редактирования после принятия решения.
Следующий пересмотр: при появлении первого корпоративного контрибьютора или при регистрации ТЗ.