Skip to content

Обновление прав в Лицензии и CLA#27

Open
ReWAFFlution wants to merge 5 commits intomasterfrom
licenziun
Open

Обновление прав в Лицензии и CLA#27
ReWAFFlution wants to merge 5 commits intomasterfrom
licenziun

Conversation

@ReWAFFlution
Copy link
Member

@ReWAFFlution ReWAFFlution commented Mar 27, 2026

Более подробное расписание прав в LICENSE.TXT и CLA.TXT по просьбе @cryals .

Summary by CodeRabbit

  • Документация
    • Обновлены условия лицензии и соглашение о правах участников: уточнены определения взносов и требования к совместимости лицензий.
    • Добавлены явные ограничения на принятие взносов с несовместимыми сторонними лицензиями и порядок их отклонения/удаления.
    • Расширены права авторов: авторы сохраняют все права, включая коммерческое использование; организации предоставлено неисключительное право использовать взносы в проекте.

Добавлены уточнения о лицензии на контрибьюты и правах авторов.
Clarified contribution terms, including rights and licenses for contributors.
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 27, 2026

Warning

Rate limit exceeded

@ReWAFFlution has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 6 minutes and 29 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 6 minutes and 29 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: c2cb3567-3adf-47ac-acdc-223f5442a351

📥 Commits

Reviewing files that changed from the base of the PR and between 31bdf1a and 1e45849.

📒 Files selected for processing (2)
  • CLA.TXT
  • LICENSE.TXT
📝 Walkthrough

Walkthrough

В CLA.TXT и LICENSE.TXT уточнены определения «вклада», добавлены исключения для материалов под несовместимыми лицензиями, расширены положения о правах авторов и праве организации использовать взносы в проекте, а также прописан порядок удаления несоответствующих вкладов.

Changes

Cohort / File(s) Summary
Правовые документы проекта
CLA.TXT, LICENSE.TXT
Расширено определение «Вклада» с явным исключением материалов под несовместимыми лицензиями (например, GPL/AGPL); добавлены ограничения на принятие таких вкладов и процедура их удаления; уточнено, что авторы сохраняют все права, предоставляют организации неисключительную лицензию для использования/модификации/распространения в рамках SS14-ART и что права взносов не отзываются при соблюдении условий; ограничена передача прав третьим лицам.

Estimated code review effort

🎯 4 (Сложный) | ⏱️ ~45 минут

Suggested labels

S: Untriaged, Changes: No C#

Poem

🐰 Строки в CLA и LICENSE заиграли,
Авторам право вновь отданы.
Чист путь взносов, что честно прислали,
И код чужой — не принят нечаянно.
Пусть кружит хвостик радостно в ночи.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Заголовок точно отражает основные изменения: обновление прав в файлах LICENSE.TXT и CLA.TXT, что соответствует описанию изменений в pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch licenziun

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (4)
LICENSE.TXT (4)

35-36: ⚠️ Potential issue | 🔴 Critical

Критическое противоречие: условная безотзывность лицензии.

Строки 35-36 устанавливают, что участник предоставляет организации "безотзывную, неисключительную лицензию" без каких-либо условий.

Однако строки 105-107 вводят условие: "Лицензия на контрибьюты является безотзывной, если автор не нарушает условия лицензии проекта."

Это логическое противоречие идентично найденному в CLA.TXT. Термин "безотзывная" (irrevocable) в праве означает невозможность отзыва ни при каких обстоятельствах. Добавление условия "если автор не нарушает" делает лицензию условно отзывной, что противоречит определению.

Кроме того, эти строки 105-107 отсутствуют в английской секции, что создаёт ещё одно расхождение между языковыми версиями.

Also applies to: 105-107

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@LICENSE.TXT` around lines 35 - 36, Lines 35-36 declare the Contributor
license as "irrevocable" but lines 105-107 add a conditional ("irrevocable if
the author does not breach"), creating a contradiction and a mismatch with the
English section; resolve this by choosing one consistent policy and applying it
across all language versions and related files (LICENSE.TXT and CLA.TXT): either
remove the conditional language in 105-107 so the license is truly irrevocable,
or change the term "irrevocable" in 35-36 to a conditional form (e.g.,
"irrevocable except in case of material breach") and mirror that exact wording
in the English section and in CLA.TXT to ensure parity between languages and
documents.

1-138: ⚠️ Potential issue | 🔴 Critical

Общая оценка: документ требует существенной доработки для устранения противоречий.

Проведённый анализ выявил множественные критические проблемы:

  1. Противоречия между языковыми версиями: английская и русская секции содержат различные определения, условия и ограничения, что создаёт правовую неопределённость.

  2. Внутренние противоречия: условная безотзывность лицензии (строки 105-107) противоречит безусловным грантам (строки 35-36).

  3. Противоречия с природой проекта: ограничения на передачу прав третьим лицам (строки 127-130) несовместимы с концепцией распространения открытого программного обеспечения.

  4. Риски правоприменения: при наличии таких противоречий суд может признать отдельные положения или весь документ недействительным.

Рекомендуется провести комплексный юридический аудит документа и привести обе языковые версии к единообразию, а также разрешить противоречия между различными положениями.

Могу предложить помощь в выявлении дополнительных противоречий или в формулировке согласованных версий спорных положений.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@LICENSE.TXT` around lines 1 - 138, The LICENSE contains contradictory and
legally risky provisions across English and Russian sections (notably
"Preamble", "Definitions", "The Scope of the Rights Granted", and "A Reservation
About the Types of Licenses")—perform a legal harmonization: reconcile and unify
both language versions so they state identical definitions and permissions,
explicitly resolve the conflict between the claimed "irrevocable" Contribution
license (Russian section mentioning irrevocability) and the conditional grants
in the English section (e.g., the non‑commercial/personal use restrictions),
clarify whether Contributions grant an exclusive/non‑exclusive and
revocable/irrevocable license, remove or rewrite the clause restricting transfer
of contributor rights to third parties (currently in the Russian part) to be
consistent with open source distribution expectations, make the treatment of
third‑party assets explicit (keep the "CC-BY-SA 3.0" fallback but ensure a
single consistent rule in both languages), and submit the reconciled draft for
formal legal review/audit to produce a single authoritative bilingual license
text.

27-37: ⚠️ Potential issue | 🟠 Major

Несоответствие между английской и русской версиями определения "Контрибьют" — требуется исправление.

Верификация подтверждает наличие материального различия между версиями:

Английская версия (строки 27-37) исключает только коммуникации, помеченные как "Not a contribution", но не упоминает материалы, защищённые другими лицензиями.

Русская версия (строки 91-103) содержит дополнительное исключение: "Материалы, защищённые другими лицензиями, не считаются контрибьютами, если это явно не указано."

При отсутствии в документе клаузулы о приоритете одной версии, это расхождение создаёт правовую неопределённость. Обе версии должны содержать одинаковые исключения или явно указывать, какая версия является авторитетной при расхождениях.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@LICENSE.TXT` around lines 27 - 37, The English definition of "Contribution"
in the "Contribution" clause is inconsistent with the Russian version: update
the English text in the Contribution definition to include the same exclusion
present in the Russian version (i.e., explicitly state that materials covered by
other licenses are not considered Contributions unless expressly stated), or
alternatively add a single authoritative clause stating which language controls
in case of discrepancies; modify the "Contribution" paragraph (the block
starting with "Contribution – means..." and its exclusions) to mirror the
Russian exclusion or add the priority-of-language clause so both versions are
legally consistent.

43-46: ⚠️ Potential issue | 🟠 Major

Исправьте критическое расхождение между английской и русской версиями лицензии.

Английская версия (строки 43-46) явно требует: "All modifications must be transferred back to the Organization under the terms of a Contribution" — все модификации должны быть переданы обратно Организации.

Русская версия (строки 114-126) этого требования НЕ содержит. Напротив, в русской версии позже сказано: "Авторы сохраняют все права на свои контрибьюты и могут использовать их в любых целях, включая коммерческие" — что прямо противоречит английской версии.

Это создаёт две разные системы лицензирования в зависимости от языка, что недопустимо. Необходимо согласовать обе версии либо по английскому требованию о передаче модификаций, либо по русскому варианту с сохранением авторских прав.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@LICENSE.TXT` around lines 43 - 46, There is a legal contradiction between the
English clause "All modifications must be transferred back to the Organization
under the terms of a Contribution" and the Russian clause "Авторы сохраняют все
права на свои контрибьюты и могут использовать их в любых целях, включая
коммерческие"; reconcile them by choosing the intended policy and making both
language sections identical in legal effect: either update the Russian text to
explicitly require transfer of all modifications back to the Organization
(mirroring the English sentence) or alter the English clause to match the
Russian retention-of-rights formulation; ensure the final wording appears
verbatim (or legally equivalent) in both the English and Russian blocks and add
a short cross-language consistency note referencing the English clause and the
Russian clause to prevent future drift.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@CLA.TXT`:
- Line 31: There is a logical contradiction between the unconditional use of
"irrevocable" earlier in the CLA and the conditional clause "A contribution
license is irrevocable unless the author violates the project's license terms";
update CLA.TXT by reconciling both occurrences of "irrevocable": either remove
"irrevocable" from the first instance (the standalone phrase "irrevocable,
non-exclusive license...") or remove the conditional "unless..." clause and
replace it with a consistent, limited-use phrasing that preserves revocation
rules (e.g., replace the conditional with explicit permitted-revocation
conditions), and ensure you update both the initial "irrevocable" phrase and the
later conditional sentence so the document is consistent.
- Around line 68-70: Clauses are contradictory: lines 38-39, 40-42, and 81-83
grant broad distribution/sublicensing and patent transfer rights, while lines
68-70 prohibit transferring contributions to third parties; update lines 68-70
to clarify the prohibition only applies to assigning exclusive ownership or
copyright assignments (not to distribution, sublicensing, or granting rights
under licenses selected by ss14-art), or explicitly state that
sublicensing/distribution and patent transfers permitted by the earlier clauses
are allowed without the author's consent while exclusive assignment remains
restricted; revise the wording so lines 68-70 reference "exclusive assignment"
or "transfer of ownership" and add an explicit exception for
distribution/sublicensing and patent rights granted in lines 38-42 and 81-83.
- Around line 27-29: The CLA contains a logical contradiction between the clause
"contributions covered by licenses that are incompatible with the project's
license (e.g., AGPL, GPL) will not be accepted" and the later clause that allows
the organization to distribute source under "AGPL-3.0"; fix by choosing one of
two remedies: either remove "AGPL" from the incompatible-licenses list (and
update the parenthetical example to remove AGPL) so the prohibition and the
"AGPL-3.0 distribution" clause align, or instead revise the "AGPL-3.0"
distribution statement to a license that is actually compatible with the
project's license (or add an explicit exception/dual-licensing explanation) so
both clauses are consistent; update the surrounding wording to make the
allowed/disallowed license policy unambiguous (search for the exact phrases
"contributions covered by licenses that are incompatible with the project's
license (e.g., AGPL, GPL)" and the "AGPL-3.0" distribution sentence to apply the
change).

In `@LICENSE.TXT`:
- Around line 127-130: The Russian-only clause that restricts transferring
contributor rights ("Организация ... не может передавать права на контрибьюты
третьим лицам без согласия автора") creates a critical mismatch and legal
conflict; update LICENSE.TXT to (1) add an equivalent English version of this
clause into the English section so both language versions match, and (2)
reconcile the wording to remove the contradiction with "distribute" and
open-source principles by either deleting the restrictive phrase or rephrasing
it to permit redistribution while preserving author attribution (e.g., limit
transfer of copyright assignment but allow distribution under the project
license), and (3) mirror the same corrected wording in CLA.TXT to eliminate the
duplicate contradiction; locate the clause by searching for the Russian sentence
in LICENSE.TXT and the corresponding lines in CLA.TXT and apply the consistent,
clarified text across both files.

---

Outside diff comments:
In `@LICENSE.TXT`:
- Around line 35-36: Lines 35-36 declare the Contributor license as
"irrevocable" but lines 105-107 add a conditional ("irrevocable if the author
does not breach"), creating a contradiction and a mismatch with the English
section; resolve this by choosing one consistent policy and applying it across
all language versions and related files (LICENSE.TXT and CLA.TXT): either remove
the conditional language in 105-107 so the license is truly irrevocable, or
change the term "irrevocable" in 35-36 to a conditional form (e.g., "irrevocable
except in case of material breach") and mirror that exact wording in the English
section and in CLA.TXT to ensure parity between languages and documents.
- Around line 1-138: The LICENSE contains contradictory and legally risky
provisions across English and Russian sections (notably "Preamble",
"Definitions", "The Scope of the Rights Granted", and "A Reservation About the
Types of Licenses")—perform a legal harmonization: reconcile and unify both
language versions so they state identical definitions and permissions,
explicitly resolve the conflict between the claimed "irrevocable" Contribution
license (Russian section mentioning irrevocability) and the conditional grants
in the English section (e.g., the non‑commercial/personal use restrictions),
clarify whether Contributions grant an exclusive/non‑exclusive and
revocable/irrevocable license, remove or rewrite the clause restricting transfer
of contributor rights to third parties (currently in the Russian part) to be
consistent with open source distribution expectations, make the treatment of
third‑party assets explicit (keep the "CC-BY-SA 3.0" fallback but ensure a
single consistent rule in both languages), and submit the reconciled draft for
formal legal review/audit to produce a single authoritative bilingual license
text.
- Around line 27-37: The English definition of "Contribution" in the
"Contribution" clause is inconsistent with the Russian version: update the
English text in the Contribution definition to include the same exclusion
present in the Russian version (i.e., explicitly state that materials covered by
other licenses are not considered Contributions unless expressly stated), or
alternatively add a single authoritative clause stating which language controls
in case of discrepancies; modify the "Contribution" paragraph (the block
starting with "Contribution – means..." and its exclusions) to mirror the
Russian exclusion or add the priority-of-language clause so both versions are
legally consistent.
- Around line 43-46: There is a legal contradiction between the English clause
"All modifications must be transferred back to the Organization under the terms
of a Contribution" and the Russian clause "Авторы сохраняют все права на свои
контрибьюты и могут использовать их в любых целях, включая коммерческие";
reconcile them by choosing the intended policy and making both language sections
identical in legal effect: either update the Russian text to explicitly require
transfer of all modifications back to the Organization (mirroring the English
sentence) or alter the English clause to match the Russian retention-of-rights
formulation; ensure the final wording appears verbatim (or legally equivalent)
in both the English and Russian blocks and add a short cross-language
consistency note referencing the English clause and the Russian clause to
prevent future drift.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: bf38aa76-57fd-4091-ad16-dc0e6714f169

📥 Commits

Reviewing files that changed from the base of the PR and between 0f04a82 and b09469e.

📒 Files selected for processing (2)
  • CLA.TXT
  • LICENSE.TXT

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
CLA.TXT (1)

12-17: ⚠️ Potential issue | 🟠 Major

Два определения Contribution в одном документе создают юридическую неоднозначность.

Сейчас термин задан дважды (Line 12-17 и Line 18-34) с разным объемом смысла. Это повышает риск конфликтного толкования CLA. Лучше оставить одно каноническое определение и встроить в него все уточнения (submission scope, incompatible licenses, “Not a contribution”).

Предлагаемая правка (консолидация определения)
-– “Contribution” means any original work of authorship (including modifications, enhancements, 
-  bug fixes, documentation, code, or other materials) submitted by Contributor to the ss14-art project.
+– “Contribution” means any original work of authorship (including modifications, enhancements,
+  bug fixes, documentation, code, or other materials) intentionally submitted by Contributor
+  to the ss14-art project via electronic, oral, or written communication channels operated by
+  or on behalf of the Organization (unless explicitly marked as “Not a contribution”).
+  Contributions that include third-party materials under licenses incompatible with the Project
+  license (e.g., GPL, AGPL) are not accepted, unless Contributor is the original rights holder
+  and explicitly grants rights under this CLA.
@@
-Contribution – means any original author's work of Contributors, including any
-...
-of the Contributor and/or international legislation for certain forms of Contribution.
+By providing a Contribution, Contributor grants the Organization a free, non-exclusive,
+irrevocable license for the full term of Contributor’s rights in such Contribution.

Also applies to: 18-34

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CLA.TXT` around lines 12 - 17, There are two conflicting definitions of the
term "Contribution" in the CLA; remove the duplicate and consolidate into a
single canonical definition named "Contribution" that explicitly covers: any
original work of authorship (including modifications, enhancements, bug fixes,
documentation, code, or other materials) submitted by a Contributor to the
Project, the scope of submissions (what counts as a Contribution vs. "Not a
contribution"), and handling of incompatible licenses; update the single
definition to include the incompatible-licenses and "Not a contribution"
clarifications so no separate duplicate definition remains.
♻️ Duplicate comments (1)
CLA.TXT (1)

68-70: ⚠️ Potential issue | 🟠 Major

Ограничение прав организации “within the framework of the SS14-ART project” конфликтует с более широкими грантами в этом же CLA.

Line 70 сужает права до рамок проекта, но Line 40, Line 47-48 и Line 80-82 разрешают распространение “under any license selected by ss14-art”. Это снова создает внутреннюю коллизию объема прав.

Предлагаемая правка (согласовать объем прав)
-The organization is granted a non-exclusive right to use, 
-modify, and distribute the contributions within the framework of the SS14-ART project.
+The organization is granted a non-exclusive right to use,
+modify, sublicense, and distribute the contributions under licenses selected by ss14-art,
+including within and outside the SS14-ART project, as provided by this CLA.

Also applies to: 72-73

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CLA.TXT` around lines 68 - 70, The CLA contains an internal rights conflict:
the sentence "within the framework of the SS14-ART project" (currently around
the text in the diff at lines referencing the organization right and also at
72-73) narrows organizational rights but earlier clauses (around lines 40, 47-48
and 80-82) permit distribution "under any license selected by ss14-art";
reconcile by editing the narrow phrase so it matches the broader grant—either
remove "within the framework of the SS14-ART project" or replace it with wording
that explicitly permits use/modify/distribute under any license chosen by
ss14-art (e.g., "including distribution under any license selected by
SS14-ART"), and ensure the same consistent language is applied wherever the
organization’s grant is stated (the sentence in question and the corresponding
lines at 72-73) so all CLA clauses uniformly convey the same scope of
organizational rights.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@CLA.TXT`:
- Around line 12-17: There are two conflicting definitions of the term
"Contribution" in the CLA; remove the duplicate and consolidate into a single
canonical definition named "Contribution" that explicitly covers: any original
work of authorship (including modifications, enhancements, bug fixes,
documentation, code, or other materials) submitted by a Contributor to the
Project, the scope of submissions (what counts as a Contribution vs. "Not a
contribution"), and handling of incompatible licenses; update the single
definition to include the incompatible-licenses and "Not a contribution"
clarifications so no separate duplicate definition remains.

---

Duplicate comments:
In `@CLA.TXT`:
- Around line 68-70: The CLA contains an internal rights conflict: the sentence
"within the framework of the SS14-ART project" (currently around the text in the
diff at lines referencing the organization right and also at 72-73) narrows
organizational rights but earlier clauses (around lines 40, 47-48 and 80-82)
permit distribution "under any license selected by ss14-art"; reconcile by
editing the narrow phrase so it matches the broader grant—either remove "within
the framework of the SS14-ART project" or replace it with wording that
explicitly permits use/modify/distribute under any license chosen by ss14-art
(e.g., "including distribution under any license selected by SS14-ART"), and
ensure the same consistent language is applied wherever the organization’s grant
is stated (the sentence in question and the corresponding lines at 72-73) so all
CLA clauses uniformly convey the same scope of organizational rights.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 442ed098-4415-4c4d-8896-7d6829aa34a7

📥 Commits

Reviewing files that changed from the base of the PR and between b09469e and 31bdf1a.

📒 Files selected for processing (1)
  • CLA.TXT

Clarified rights of authors and organization regarding contributions.
Updated definitions and terms regarding contributions in CLA.
@ReWAFFlution
Copy link
Member Author

Кролик доволен. Пару строчек [CLA] вырезать пришлось, но они не несли в себе как таковых правовых ценностей.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant