Repository navigation
Relicense from AGPL-3.0 to GPL-3.0 - #2364
Conversation
… option) AGPL's network-use clause is irrelevant for a desktop app, but triggers blanket corporate bans. GPL-3.0 still requires forks to stay open source (preventing proprietary commercial forks) while being accepted by most corporate policies for desktop software. Changes: - LICENSE: Replace AGPL-3.0 text with GPL-3.0 text - Update dual-license header (AGPL → GPL) - Update all README translations, CONTRIBUTING.md, package.json files - Historical changelog/project entries left as-is
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughThe project’s licensing was changed from AGPL-3.0-or-later to GPL-3.0-or-later across the LICENSE, CONTRIBUTING.md, package manifests, and 20+ localized README files; the LICENSE content was replaced with GPLv3 text and commercial-license references were updated accordingly. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
1 issue found across 26 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="README.fr.md">
<violation number="1" location="README.fr.md:273">
P3: Fix the French grammar typo: use `la GPL` instead of `l'GPL` in the license compliance sentence.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@README.fr.md`:
- Line 273: The French article before “GPL” is incorrect in the sentence "Si
votre organisation ne peut pas se conformer à l'GPL, une licence commerciale est
disponible..."; update that occurrence by replacing "à l'GPL" with "au GPL" so
the sentence reads "Si votre organisation ne peut pas se conformer au GPL, une
licence commerciale est disponible..." to fix the grammar in README.fr.md.
🪄 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: defaults
Review profile: CHILL
Plan: Pro
Run ID: 2e6e572a-aef5-457d-bc9e-3827f914dc92
⛔ Files ignored due to path filters (1)
web/package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (25)
CONTRIBUTING.mdLICENSEREADME.ar.mdREADME.bs.mdREADME.da.mdREADME.de.mdREADME.es.mdREADME.fr.mdREADME.it.mdREADME.ja.mdREADME.km.mdREADME.ko.mdREADME.mdREADME.no.mdREADME.pl.mdREADME.pt-BR.mdREADME.ru.mdREADME.th.mdREADME.tr.mdREADME.uk.mdREADME.vi.mdREADME.zh-CN.mdREADME.zh-TW.mdpackage.jsonweb/package.json
| cmux est open source sous [GPL-3.0-or-later](LICENSE). | ||
|
|
||
| Si votre organisation ne peut pas se conformer à l'AGPL, une licence commerciale est disponible. Contactez [founders@manaflow.com](mailto:founders@manaflow.com) pour plus de détails. | ||
| Si votre organisation ne peut pas se conformer à l'GPL, une licence commerciale est disponible. Contactez [founders@manaflow.com](mailto:founders@manaflow.com) pour plus de détails. |
There was a problem hiding this comment.
Fix French article before “GPL”.
Line 273 uses “à l'GPL”, which is grammatically incorrect in French; it should be “au GPL”.
Suggested fix
-Si votre organisation ne peut pas se conformer à l'GPL, une licence commerciale est disponible. Contactez [founders@manaflow.com](mailto:founders@manaflow.com) pour plus de détails.
+Si votre organisation ne peut pas se conformer au GPL, une licence commerciale est disponible. Contactez [founders@manaflow.com](mailto:founders@manaflow.com) pour plus de détails.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Si votre organisation ne peut pas se conformer à l'GPL, une licence commerciale est disponible. Contactez [founders@manaflow.com](mailto:founders@manaflow.com) pour plus de détails. | |
| Si votre organisation ne peut pas se conformer au GPL, une licence commerciale est disponible. Contactez [founders@manaflow.com](mailto:founders@manaflow.com) pour plus de détails. |
🧰 Tools
🪛 LanguageTool
[typographical] ~273-~273: Une espace est requise.
Context: ...onible. Contactez founders@manaflow.com pour plus de déta...
(DEUX_POINTS_ESPACE)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@README.fr.md` at line 273, The French article before “GPL” is incorrect in
the sentence "Si votre organisation ne peut pas se conformer à l'GPL, une
licence commerciale est disponible..."; update that occurrence by replacing "à
l'GPL" with "au GPL" so the sentence reads "Si votre organisation ne peut pas se
conformer au GPL, une licence commerciale est disponible..." to fix the grammar
in README.fr.md.
Greptile SummaryThis PR relicenses cmux from AGPL-3.0-or-later to GPL-3.0-or-later, updating the
Confidence Score: 5/5Safe to merge — all findings are minor P2 style issues in localized documentation with no impact on functionality or the legal validity of the license change. The license change is legally sound: the existing CLA in CONTRIBUTING.md explicitly grants Manaflow the right to relicense contributions under any license. The LICENSE file contains the authentic GPL-3.0 text. Changes are consistent across all 26 affected files. The only remaining issues are two grammatical contractions in French and Italian READMEs and unrelated lockfile entries — all P2. README.fr.md and README.it.md have minor grammar issues; web/package-lock.json contains unrelated dependency entries worth a quick confirmation. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[cmux Source Code] --> B{License?}
B -->|Open Source users| C[GPL-3.0-or-later]
B -->|Organizations that cannot comply with GPL| D[Commercial License]
C --> E[Must distribute source of forks]
C --> F[No network-use clause]
D --> G[Contact founders@manaflow.com]
subgraph Previously
H[AGPL-3.0-or-later]
H --> I[Section 13: Network-use clause]
I --> J[Triggers corporate bans]
end
subgraph Now
C
end
|
| cmux est open source sous [GPL-3.0-or-later](LICENSE). | ||
|
|
||
| Si votre organisation ne peut pas se conformer à l'AGPL, une licence commerciale est disponible. Contactez [founders@manaflow.com](mailto:founders@manaflow.com) pour plus de détails. | ||
| Si votre organisation ne peut pas se conformer à l'GPL, une licence commerciale est disponible. Contactez [founders@manaflow.com](mailto:founders@manaflow.com) pour plus de détails. |
There was a problem hiding this comment.
French article contraction incorrect after relicensing
The elision l' (short for la) is only used before vowel sounds in French. AGPL started with A (a vowel), so l'AGPL was grammatically correct. GPL starts with G (a consonant), making l'GPL incorrect — it should be la GPL.
| Si votre organisation ne peut pas se conformer à l'GPL, une licence commerciale est disponible. Contactez [founders@manaflow.com](mailto:founders@manaflow.com) pour plus de détails. | |
| Si votre organisation ne peut pas se conformer à la GPL, une licence commerciale est disponible. Contactez [founders@manaflow.com](mailto:founders@manaflow.com) pour plus de détails. |
| cmux è open source sotto [GPL-3.0-or-later](LICENSE). | ||
|
|
||
| Se la tua organizzazione non può conformarsi all'AGPL, è disponibile una licenza commerciale. Contatta [founders@manaflow.com](mailto:founders@manaflow.com) per i dettagli. | ||
| Se la tua organizzazione non può conformarsi all'GPL, è disponibile una licenza commerciale. Contatta [founders@manaflow.com](mailto:founders@manaflow.com) per i dettagli. |
There was a problem hiding this comment.
Italian article contraction incorrect after relicensing
The contraction all' is only valid before vowel sounds in Italian. all'AGPL was correct because AGPL begins with the vowel A. GPL begins with the consonant G, so the preposition should be al GPL, not all'GPL.
| Se la tua organizzazione non può conformarsi all'GPL, è disponibile una licenza commerciale. Contatta [founders@manaflow.com](mailto:founders@manaflow.com) per i dettagli. | |
| Se la tua organizzazione non può conformarsi al GPL, è disponibile una licenza commerciale. Contatta [founders@manaflow.com](mailto:founders@manaflow.com) per i dettagli. |
AGPL starts with a vowel so "l'AGPL" / "all'AGPL" were correct. GPL starts with a consonant, so use "la GPL" / "alla GPL" instead.
There was a problem hiding this comment.
♻️ Duplicate comments (1)
README.fr.md (1)
273-273:⚠️ Potential issue | 🟡 MinorFrench article for "GPL" differs from previous review guidance.
The current text uses "à la GPL" (feminine), but the previous review comment suggested using "au GPL" (masculine). While both "la GPL" and "le GPL" are found in French technical documentation, the masculine form "au GPL" is more commonly used in technical contexts and was specifically recommended in the earlier review.
Suggested fix to use masculine article
-Si votre organisation ne peut pas se conformer à la GPL, une licence commerciale est disponible. Contactez [founders@manaflow.com](mailto:founders@manaflow.com) pour plus de détails. +Si votre organisation ne peut pas se conformer au GPL, une licence commerciale est disponible. Contactez [founders@manaflow.com](mailto:founders@manaflow.com) pour plus de détails.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.fr.md` at line 273, Replace the feminine article "à la GPL" with the masculine form "au GPL" in the README.fr.md text snippet so it matches the prior review guidance and common technical usage; locate the sentence containing the phrase "Si votre organisation ne peut pas se conformer à la GPL, une licence commerciale est disponible. Contactez [founders@manaflow.com](mailto:founders@manaflow.com) pour plus de détails." and update only the article before "GPL" to read "au GPL".
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@README.fr.md`:
- Line 273: Replace the feminine article "à la GPL" with the masculine form "au
GPL" in the README.fr.md text snippet so it matches the prior review guidance
and common technical usage; locate the sentence containing the phrase "Si votre
organisation ne peut pas se conformer à la GPL, une licence commerciale est
disponible. Contactez [founders@manaflow.com](mailto:founders@manaflow.com) pour
plus de détails." and update only the article before "GPL" to read "au GPL".
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 1434fb15-640b-437f-99d5-746f05973782
📒 Files selected for processing (2)
README.fr.mdREADME.it.md
✅ Files skipped from review due to trivial changes (1)
- README.it.md
* Relicense from AGPL-3.0 to GPL-3.0 (keep dual-license with commercial option) AGPL's network-use clause is irrelevant for a desktop app, but triggers blanket corporate bans. GPL-3.0 still requires forks to stay open source (preventing proprietary commercial forks) while being accepted by most corporate policies for desktop software. Changes: - LICENSE: Replace AGPL-3.0 text with GPL-3.0 text - Update dual-license header (AGPL → GPL) - Update all README translations, CONTRIBUTING.md, package.json files - Historical changelog/project entries left as-is * Fix French and Italian grammar in license section AGPL starts with a vowel so "l'AGPL" / "all'AGPL" were correct. GPL starts with a consonant, so use "la GPL" / "alla GPL" instead. --------- Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
Upstream relicensed in manaflow-ai#2364. Dual-licensing structure (GPL + commercial) is preserved. Also fixes check-atlas-docs.sh bash 3.2 compat (mapfile → while-read).
Summary
Why
AGPL's network-use clause (Section 13) is irrelevant for a desktop app but triggers blanket corporate bans. Multiple companies have emailed saying their org bans AGPL, blocking adoption.
GPL-3.0 still requires any distributed fork to publish its full source under GPL, preventing proprietary "Cursor-style" commercial forks. It drops only the network-use clause, which cmux never needed.
This matches Zed's approach: GPL for the editor, AGPL only for server components (which cmux doesn't have).
What stays the same
Summary by cubic
Relicensed the project from AGPL-3.0-or-later to GPL-3.0-or-later; the dual-license (GPL + commercial) remains. Updated LICENSE and references in
package.json,web/package.json,web/package-lock.json, CONTRIBUTING, and all README translations, and fixed French/Italian grammar in the license sections.Migration
Written for commit dd64953. Summary will update on new commits.
Summary by CodeRabbit