feat(chat)!: relicense @ngaf/chat — MIT → PolyForm Noncommercial 1.0.0 OR commercial#501
Merged
Conversation
Dual-license migration MIT → PolyForm Noncommercial 1.0.0 OR Threadplane commercial. Library files only; pricing page and runtime enforcement live in separate follow-up PRs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
9 tasks: LICENSE.md, LICENSE-COMMERCIAL.md, COMMERCIAL-USE.md, NOTICE.md, CHANGELOG.md, README patch, package.json license field (with SPDX-compound + safe-fallback path), ng-package.json assets extension, verification. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ngaf/chat is dual-licensed: PolyForm NC 1.0.0 for free noncommercial use OR a separate Threadplane commercial license. Adds the official PolyForm NC text alongside a Threadplane preamble that links to the commercial-summary and commercial-use definition files. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Lists what the commercial license grants (production use, SaaS bundling, modification, CI/CD use, unlimited end users) and what it prohibits (competing libraries, removing notices, bypassing entitlement checks, sublicensing as a standalone package). Routes acquisition through threadplane.ai/pricing and /contact. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ree use Defines commercial use (for-profit operation, revenue, paid services, client deliverables, business workflows), lists permitted free uses (personal, hobby, student, academic, nonprofit, demos, evaluation, OSI-licensed open source), and states the 30-day commercial evaluation window. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
First per-library changelog file for @ngaf/chat. Calls out the license change as the leading entry and includes a migration note for commercial users. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The README now leads with PolyForm Noncommercial 1.0.0 + commercial licensing posture and adds a top-level "Commercial use" section pointing at COMMERCIAL-USE.md, LICENSE-COMMERCIAL.md, and the pricing page. Install/usage content below is unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…plane-Commercial BREAKING: package.json license field changes. Future versions of @ngaf/chat are dual-licensed under PolyForm Noncommercial 1.0.0 OR a Threadplane commercial license. Historical MIT versions remain under their original license terms. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ng-packagr only auto-copies README.md. Extends the assets array so LICENSE.md, LICENSE-COMMERCIAL.md, COMMERCIAL-USE.md, NOTICE.md, and CHANGELOG.md end up in dist/libs/chat and therefore in the published npm tarball. Without this, package.json's license claim would point at a LICENSE.md that doesn't exist in the published artifact. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
PR A of three planned PRs for the
@ngaf/chatlicense migration. Library files only. Pricing-page rewrite + sitewide positioning sweep land in PR B. Verification runtime lands in PR C after dedicated brainstorm.Future versions of
@ngaf/chatare dual-licensed:Historical npm versions remain MIT.
Files changed
libs/chat/LICENSE.md— Threadplane preamble + full PolyForm-NC 1.0.0 body.libs/chat/LICENSE-COMMERCIAL.md— plain-English summary (you may / may not / how to acquire).libs/chat/COMMERCIAL-USE.md— definition of commercial use, list of permitted free uses, 30-day evaluation note.libs/chat/NOTICE.md— copyright + dual-license attribution.libs/chat/CHANGELOG.md— first per-lib changelog, leading entry is the license change.libs/chat/README.md— single-line MIT framing replaced with source-available framing + new## Commercial usesection. Install/usage content below is unchanged.libs/chat/package.json—"license": "PolyForm-Noncommercial-1.0.0 OR LicenseRef-Threadplane-Commercial".pnpm packaccepted the compound expression with no warnings; no fallback needed.libs/chat/ng-package.json—assetsextended to copy the 5 new docs intodist/libs/chat/so they ship in the published tarball.docs/superpowers/.Out of scope (deliberately)
package.json, README, or NOTICE).README.md, rootCOMMERCIAL.md, rootLICENSE, rootNOTICE— these get the "chat is the exception" qualification in PR B./pricingpage rewrite — PR B.Test plan
npx nx run chat:lint→ success.npx nx run chat:test→ all tests pass (no test files touched).npx nx build chat→ success.cd dist/libs/chat && pnpm pack→ tarball produced, no license warnings. The published tarball contains LICENSE.md, LICENSE-COMMERCIAL.md, COMMERCIAL-USE.md, NOTICE.md, CHANGELOG.md alongside README.md and package.json.git diff --name-only origin/main..HEAD | grep -v '^libs/chat/' | grep -v '^docs/superpowers/'returns empty.Risks
@ngaf/chatis cut, it will pick up the new license. Anyone consuming@ngaf/chatfrommain(rather than npm) sees the change immediately.@ngaf/chatwithout a license — PR C wireslibs/licensinginto the chat bootstrap and surfaces a nag UI. Today'sprovideChat()already callsrunLicenseCheck, but it's advisory only.🤖 Generated with Claude Code