Skip to content

License the cmux server software under the Business Source License 1.1 - #15206

Merged
lawrencecchen merged 2 commits into
mainfrom
feat-server-bsl-license
Sep 28, 2026
Merged

lawrencecchen merged 2 commits into
mainfrom
feat-server-bsl-license

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Moves the cmux server software from GPL-3.0-or-later to the Business Source License 1.1, so production use and self-hosting need a commercial license from Manaflow. The Swift app and the other client code stay public under their current licenses.

Scope (BUSL-1.1): web/ (cmux.com, API, Cloud VM, coderouter), workers/ci-artifacts/, workers/iroh-v2/, workers/presence/ (Durable Objects), services/iroh-relay-minter/, and cmux-tui/relays/cloudflare-do/ (Durable Object relay, was MIT). Each directory gets the unmodified BSL 1.1 text with Additional Use Grant None, Change Date four years after publication, Change License GPL-3.0-or-later.

Stays as is: the macOS app, iOS app, CLI, cmux-tui, workers/cmux-paste-text/ (it ships inside the macOS app), web/data/cmux.schema.json (GPL), and third-party material listed in web/NOTICE.md.

Rights cleanup (commit 1): git blame found surviving web lines from authors who never signed the CLA. That material is rewritten from the English source and product behavior: the Ukrainian strings (578 keys), the custom-commands and remote-tmux docs with their messages in every locale, parts of the notifications and session-restore docs, docs nav and SEO helpers, the PNG dimension reader and its tests, and a test type block. Locales that fell back to English for the remote tmux docs now have translations. JacobZwang's code (VM private network, Freestyle driver) is kept: he signed the CLA in #11602 (comment) (2026-09-02), recorded in the ledger by hand because the comment also quoted the bot message.

Also: root LICENSE header, README (all languages), and CONTRIBUTING.md state the split; AGENTS.md bars merging server-path PRs while CLA Assistant is red and bars Co-authored-by imports from unsigned people there.

Past versions keep the license they were published under. Freestyle staff contributions rely on their individual CLAs; a Freestyle corporate confirmation is a follow-up.

Verification: web typecheck passes; focused web tests (seo, agent-page-variants, client-messages, docs-search-index, png-dimensions, cloud-vm-env-audit, changelog-pages, content-locale-link) 121 pass, 0 fail.

Changelog

Changed: the cmux server software (web, Cloudflare workers, relay services) is now licensed under the Business Source License 1.1.

🤖 Generated with Claude Code

lawrencecchen and others added 2 commits September 28, 2026 00:27
Replaces text and code in web/ whose authors did not sign the CLA, so
Manaflow holds the rights needed to relicense web/. The Ukrainian strings
and the custom-commands, remote-tmux, notifications, and session-restore
docs are rewritten from the English source and the product behavior. The
PNG dimension reader is reimplemented from the PNG spec with new tests.
Locales that fell back to English for the remote tmux docs now carry
translations.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
web/, workers/ci-artifacts/, workers/iroh-v2/, workers/presence/,
services/iroh-relay-minter/, and cmux-tui/relays/cloudflare-do/ move from
GPL-3.0-or-later (MIT for the relay) to BUSL-1.1 with no Additional Use
Grant, so production use and self-hosting need a commercial license. Each
version changes to GPL-3.0-or-later four years after publication. The
macOS app, iOS app, CLI, cmux-tui, and the bundled paste helper under
workers/cmux-paste-text/ stay under their current licenses, and
web/data/cmux.schema.json stays GPL.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 09db6053-624f-4397-b873-0aef77feeee8

📥 Commits

Reviewing files that changed from the base of the PR and between 48d662a and 41c7a96.

⛔ Files ignored due to path filters (2)
  • cmux-tui/relays/cloudflare-do/package-lock.json is excluded by !**/package-lock.json
  • workers/ci-artifacts/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (67)
  • CLAUDE.md
  • CONTRIBUTING.md
  • LICENSE
  • README.ar.md
  • README.bs.md
  • README.da.md
  • README.de.md
  • README.es.md
  • README.fr.md
  • README.it.md
  • README.ja.md
  • README.km.md
  • README.ko.md
  • README.md
  • README.no.md
  • README.pl.md
  • README.pt-BR.md
  • README.ru.md
  • README.th.md
  • README.tr.md
  • README.uk.md
  • README.vi.md
  • README.zh-CN.md
  • README.zh-TW.md
  • cmux-tui/relays/cloudflare-do/Cargo.toml
  • cmux-tui/relays/cloudflare-do/LICENSE
  • cmux-tui/relays/cloudflare-do/package.json
  • services/iroh-relay-minter/Cargo.toml
  • services/iroh-relay-minter/LICENSE
  • web/LICENSE
  • web/NOTICE.md
  • web/app/[locale]/(landing)/docs/changelog/png-dimensions.ts
  • web/app/[locale]/(landing)/docs/custom-commands/page.tsx
  • web/app/[locale]/(landing)/docs/notifications/page.tsx
  • web/app/[locale]/(landing)/docs/remote-tmux/page.tsx
  • web/app/[locale]/(landing)/docs/session-restore/page.tsx
  • web/app/[locale]/components/docs-nav-items.ts
  • web/i18n/seo.ts
  • web/messages/ar.json
  • web/messages/bs.json
  • web/messages/da.json
  • web/messages/de.json
  • web/messages/en.json
  • web/messages/es.json
  • web/messages/fr.json
  • web/messages/it.json
  • web/messages/ja.json
  • web/messages/km.json
  • web/messages/ko.json
  • web/messages/no.json
  • web/messages/pl.json
  • web/messages/pt-BR.json
  • web/messages/ru.json
  • web/messages/th.json
  • web/messages/tr.json
  • web/messages/uk.json
  • web/messages/zh-CN.json
  • web/messages/zh-TW.json
  • web/package.json
  • web/tests/cloud-vm-env-audit.test.ts
  • web/tests/png-dimensions.test.ts
  • workers/ci-artifacts/LICENSE
  • workers/ci-artifacts/package.json
  • workers/iroh-v2/LICENSE
  • workers/iroh-v2/package.json
  • workers/presence/LICENSE
  • workers/presence/package.json
 _______________________
< Hasta la vista, bugs. >
 -----------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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.

@github-actions

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@github-actions

Copy link
Copy Markdown
Contributor

Dogfood build of 41c7a96cf5bc81ebd97a805bf0175786b2730ccb

cmux DEV pr-15206-41c7a96c.app

The link opens this exact commit in the cmux dev menu bar app. The build starts on each push and the page waits until it is ready; a newer push replaces it. It signs in against production, so Cloud or backend changes still need a tagged build with a development backend.

@lawrencecchen
lawrencecchen marked this pull request as ready for review September 28, 2026 07:46
@lawrencecchen
lawrencecchen enabled auto-merge (squash) September 28, 2026 07:46
@lawrencecchen
lawrencecchen merged commit c74b646 into main Sep 28, 2026
100 of 103 checks passed
@lawrencecchen
lawrencecchen deleted the feat-server-bsl-license branch September 28, 2026 07:48
@github-actions

Copy link
Copy Markdown
Contributor

Merge receipt for 41c7a96cf5: every check was green at merge (36 verified; 22 skipped by policy). Full suite runs on main after merge.

rustybret pushed a commit to rustybret/bmux that referenced this pull request Sep 28, 2026
1b55596 Move saved sessions between cmux installs: restore-session --from / --export (manaflow-ai#14861)
0e1ab96 ci: force relay rollover renewal in release gate (manaflow-ai#15212)
a3d6070 Fix Cloud projection reads mutating observation state (manaflow-ai#15126)
5171e34 docs: say Cloud turns on per Mac through a staged rollout (manaflow-ai#15194)
53395a8 Recover a missing team scope instead of failing Mac pairing (manaflow-ai#15083)
454f191 ci: read the gui backlog eight runs at a time in late placement (manaflow-ai#15207)
147a616 ci: cmux-tui's release-path macOS builds take the owned side lane first (manaflow-ai#15184)
c74b646 License the cmux server software under the Business Source License 1.1 (manaflow-ai#15206)
0bb41fa test: restore the first responder before the dictation paste test's Cmd+V (manaflow-ai#15201)
b17bc18 ui-tests: empty Diagnostics Reporter's queue before closing it (manaflow-ai#15189)
d5f71c5 ci: iOS picker charges runs by their live jobs, not their titles (manaflow-ai#15188)
3c2cb96 Pane focus memory and New Pane (Auto Layout) (manaflow-ai#15125)
89519d8 ci: expand an empty E2E -only-testing list under bash 3.2 (manaflow-ai#15208)
f225777 Ghostty config live reload: keep saves during a reload, reload a theme preview once, watch XDG_CONFIG_HOME (manaflow-ai#15191)
714ec53 ci: stop at a full disk on clonefile, and never nest a seed clone (manaflow-ai#15199)
48d662a ci: ui-tests dispatches UI tests with main's dispatcher (manaflow-ai#15193)
3412812 Restore the Cloud template terminal in place after a daemon restart (manaflow-ai#15200)

# Conflicts:
#	.github/workflows/ci-macos.yml
#	.github/workflows/ci.yml
#	.github/workflows/cmux-tui-build-package.yml
#	.github/workflows/cmux-tui.yml
teamleaderleo added a commit that referenced this pull request Sep 28, 2026
#15206 relicensed web/ under
BUSL-1.1, so the Browser license policy's GPL check on web/package.json
fails every run that routes the browser host tests.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
rajinsyed pushed a commit to rajinsyed/supermux that referenced this pull request Oct 3, 2026
manaflow-ai/cmux#15206 relicensed web/ under
BUSL-1.1, so the Browser license policy's GPL check on web/package.json
fails every run that routes the browser host tests.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant