Skip to content

chore(license): unify framework repo to single Apache-2.0#2353

Merged
os-zhuang merged 1 commit into
mainfrom
chore/unify-apache-license
Jun 26, 2026
Merged

chore(license): unify framework repo to single Apache-2.0#2353
os-zhuang merged 1 commit into
mainfrom
chore/unify-apache-license

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

Summary

The repo was in a half-finished, self-contradictory source-available transition. This unifies the entire repository to a single, consistent Apache License 2.0.

The framework is deliberately permissive Apache-2.0 to maximize adoption (goal: the de-facto standard for AI-built metadata apps). Value capture lives in the separate closed-source cloud repo, not here — so all restrictive licensing is reverted to Apache-2.0.

What changed (46 files)

  • 44 package LICENSE files — replaced restrictive dual-license text with the canonical root Apache-2.0 text (copied from root LICENSE, byte-identical). Spanned core, rest, runtime, objectql, metadata*, mcp, and all connectors/*, plugins/*, services/*.
  • Root LICENSE.apache — deleted (redundant duplicate of root LICENSE); single canonical LICENSE remains at root.
  • .changeset/unify-apache-license.md — added; single @objectstack/core: patch entry, which via the fixed group republishes all affected packages with the corrected LICENSE.

Already correct (verified, no change needed)

  • All 75 package.json already declared "license": "Apache-2.0".
  • LICENSING.md already states the whole repo is Apache-2.0, no dual-license language, no dangling restricted-package list.
  • Root LICENSE was already clean Apache-2.0.

Verification

# residue in package.json / LICENSE* / *.md
$ grep -rIl "BUSL|Business Source|MariaDB|Additional Use Grant" . --include=package.json --include='LICENSE*' --include='*.md' | grep -v node_modules
CLEAN — no matches

# package LICENSE files containing BSL
CLEAN — no output

# unique license field across all package.json
  75 Apache-2.0

# root
LICENSE        ← single canonical Apache-2.0
LICENSING.md   ← Apache-2.0 only
LICENSE.apache → REMOVED

Note: a whole-repo sweep also matches MariaDB in service-datasource/src/driver-catalog.ts — that's a legitimate 'MySQL / MariaDB' DB-connection label, not license residue, left untouched.

🤖 Generated with Claude Code

The repo was in a half-finished, self-contradictory BSL transition: 44 package
LICENSE files carried Business Source License 1.1 text while their package.json
already declared "license": "Apache-2.0", and a redundant root LICENSE.apache
lingered from the transition.

The framework is deliberately permissive Apache-2.0 to maximize adoption; value
capture lives in the separate closed-source cloud repo. This makes that
unambiguous:

- Replace all 44 BSL package LICENSE files with the canonical root Apache-2.0
  text.
- Remove the redundant root LICENSE.apache (single canonical LICENSE at root).
- LICENSING.md already states the whole repo is Apache-2.0 (no change needed).
- All package.json license fields already Apache-2.0 (verified).

No BSL residue ("Business Source", "BUSL", "MariaDB", "Additional Use Grant",
"Change Date", "competitive offering") remains anywhere outside node_modules.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 26, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
spec Ready Ready Preview, Comment Jun 26, 2026 5:31pm

Request Review

@github-actions github-actions Bot added documentation Improvements or additions to documentation tooling labels Jun 26, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

This PR changes 29 package(s): packages/connectors, @objectstack/core, @objectstack/mcp, @objectstack/metadata-core, @objectstack/metadata-fs, @objectstack/metadata, @objectstack/objectql, @objectstack/driver-memory, @objectstack/driver-mongodb, @objectstack/driver-sql, @objectstack/driver-sqlite-wasm, @objectstack/embedder-openai, @objectstack/knowledge-memory, @objectstack/knowledge-ragflow, @objectstack/plugin-approvals, @objectstack/plugin-audit, @objectstack/plugin-auth, @objectstack/plugin-dev, @objectstack/plugin-email, @objectstack/plugin-hono-server, @objectstack/plugin-msw, @objectstack/plugin-org-scoping, @objectstack/plugin-reports, @objectstack/plugin-security, @objectstack/plugin-sharing, @objectstack/plugin-webhooks, @objectstack/rest, @objectstack/runtime, packages/services.

51 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:

  • content/docs/concepts/cloud-artifact-api.mdx (via packages/runtime)
  • content/docs/concepts/cluster-semantics.mdx (via packages/metadata)
  • content/docs/concepts/core/index.mdx (via @objectstack/core)
  • content/docs/concepts/core/plugins.mdx (via @objectstack/core, @objectstack/driver-sql)
  • content/docs/concepts/core/services.mdx (via @objectstack/core, @objectstack/objectql)
  • content/docs/concepts/implementation-status.mdx (via @objectstack/core, @objectstack/mcp, @objectstack/objectql, @objectstack/driver-memory, @objectstack/driver-mongodb, @objectstack/driver-sql, @objectstack/driver-sqlite-wasm, @objectstack/plugin-approvals, @objectstack/plugin-audit, @objectstack/plugin-auth, @objectstack/plugin-hono-server, @objectstack/plugin-msw, @objectstack/plugin-security, @objectstack/plugin-webhooks, @objectstack/rest, @objectstack/runtime)
  • content/docs/concepts/metadata-lifecycle.mdx (via @objectstack/metadata-core, @objectstack/metadata-fs, @objectstack/metadata, @objectstack/objectql)
  • content/docs/concepts/north-star.mdx (via packages/core, packages/runtime)
  • content/docs/concepts/packages.mdx (via @objectstack/core, @objectstack/mcp, @objectstack/metadata-core, @objectstack/metadata-fs, @objectstack/metadata, @objectstack/objectql, @objectstack/driver-memory, @objectstack/driver-mongodb, @objectstack/plugin-approvals, @objectstack/plugin-audit, @objectstack/plugin-auth, @objectstack/plugin-dev, @objectstack/plugin-email, @objectstack/plugin-hono-server, @objectstack/plugin-msw, @objectstack/plugin-org-scoping, @objectstack/plugin-reports, @objectstack/plugin-security, @objectstack/plugin-sharing, @objectstack/plugin-webhooks, @objectstack/rest, @objectstack/runtime)
  • content/docs/concepts/terminology.mdx (via @objectstack/driver-mongodb, @objectstack/driver-sql)
  • content/docs/concepts/webhook-delivery.mdx (via @objectstack/core, packages/plugins/plugin-webhooks)
  • content/docs/getting-started/cli.mdx (via @objectstack/plugin-audit, @objectstack/plugin-auth, @objectstack/plugin-security)
  • content/docs/getting-started/glossary.mdx (via @objectstack/driver-memory, @objectstack/driver-mongodb, @objectstack/driver-sql, @objectstack/driver-sqlite-wasm)
  • content/docs/guides/ai-capabilities.mdx (via @objectstack/core, @objectstack/mcp, @objectstack/knowledge-memory, @objectstack/knowledge-ragflow)
  • content/docs/guides/api-reference.mdx (via @objectstack/rest, @objectstack/runtime)
  • content/docs/guides/auth-sso.mdx (via @objectstack/plugin-auth)
  • content/docs/guides/authentication.mdx (via @objectstack/core, @objectstack/objectql, @objectstack/driver-memory, @objectstack/plugin-auth, @objectstack/plugin-hono-server, @objectstack/runtime)
  • content/docs/guides/business-logic.mdx (via @objectstack/plugin-approvals)
  • content/docs/guides/cheatsheets/permissions-matrix.mdx (via packages/plugins/plugin-security, packages/plugins/plugin-sharing)
  • content/docs/guides/cloud-deployment.mdx (via @objectstack/runtime)
  • content/docs/guides/contracts/index.mdx (via @objectstack/core)
  • content/docs/guides/deployment-vercel.mdx (via @objectstack/objectql, @objectstack/driver-memory, @objectstack/plugin-msw, @objectstack/runtime)
  • content/docs/guides/driver-configuration.mdx (via @objectstack/driver-memory, @objectstack/driver-mongodb, @objectstack/driver-sql, @objectstack/driver-sqlite-wasm, @objectstack/runtime)
  • content/docs/guides/environment-variables.mdx (via @objectstack/mcp)
  • content/docs/guides/formula.mdx (via packages/objectql)
  • content/docs/guides/hook-bodies.mdx (via @objectstack/runtime)
  • content/docs/guides/kernel-services.mdx (via @objectstack/core, @objectstack/objectql, @objectstack/driver-memory, @objectstack/plugin-auth)
  • content/docs/guides/metadata/dashboard.mdx (via @objectstack/plugin-security)
  • content/docs/guides/objectql-migration.mdx (via @objectstack/core, @objectstack/objectql)
  • content/docs/guides/packages.mdx (via @objectstack/core, @objectstack/mcp, @objectstack/metadata, @objectstack/objectql, @objectstack/driver-memory, @objectstack/driver-mongodb, @objectstack/driver-sql, @objectstack/driver-sqlite-wasm, @objectstack/plugin-approvals, @objectstack/plugin-audit, @objectstack/plugin-auth, @objectstack/plugin-dev, @objectstack/plugin-email, @objectstack/plugin-hono-server, @objectstack/plugin-msw, @objectstack/plugin-org-scoping, @objectstack/plugin-reports, @objectstack/plugin-security, @objectstack/plugin-sharing, @objectstack/plugin-webhooks, @objectstack/rest, @objectstack/runtime, packages/services)
  • content/docs/guides/plugin-chatbot-integration.mdx (via @objectstack/mcp, @objectstack/runtime)
  • content/docs/guides/plugin-development.mdx (via @objectstack/core)
  • content/docs/guides/plugins.mdx (via @objectstack/core, @objectstack/objectql, @objectstack/driver-memory, @objectstack/plugin-auth, @objectstack/plugin-hono-server, @objectstack/plugin-msw, @objectstack/plugin-security, @objectstack/rest)
  • content/docs/guides/production-readiness.mdx (via @objectstack/plugin-audit, @objectstack/plugin-auth, @objectstack/runtime)
  • content/docs/guides/runtime-services/audit-service.mdx (via packages/services)
  • content/docs/guides/runtime-services/examples.mdx (via @objectstack/core)
  • content/docs/guides/runtime-services/index.mdx (via packages/services)
  • content/docs/guides/runtime-services/settings-service.mdx (via packages/services)
  • content/docs/guides/security.mdx (via @objectstack/plugin-org-scoping, @objectstack/plugin-security, @objectstack/plugin-sharing)
  • content/docs/guides/single-project-mode.mdx (via @objectstack/runtime)
  • content/docs/protocol/knowledge.mdx (via @objectstack/mcp, @objectstack/knowledge-memory, @objectstack/knowledge-ragflow)
  • content/docs/protocol/objectos/config-resolution.mdx (via @objectstack/core)
  • content/docs/protocol/objectos/http-protocol.mdx (via @objectstack/runtime)
  • content/docs/protocol/objectos/i18n-standard.mdx (via packages/services)
  • content/docs/protocol/objectos/index.mdx (via @objectstack/core, @objectstack/objectql, @objectstack/driver-sql, @objectstack/runtime)
  • content/docs/protocol/objectos/lifecycle.mdx (via @objectstack/core, @objectstack/driver-sql, @objectstack/runtime)
  • content/docs/protocol/objectos/metadata-service.mdx (via @objectstack/metadata)
  • content/docs/protocol/objectos/plugin-spec.mdx (via @objectstack/core)
  • content/docs/protocol/objectql/security.mdx (via packages/plugins/plugin-sharing)
  • content/docs/protocol/objectql/state-machine.mdx (via @objectstack/objectql)
  • content/docs/releases/v9.mdx (via @objectstack/objectql, @objectstack/plugin-approvals, @objectstack/plugin-auth)

Advisory only. To re-verify, run the docs-accuracy-audit workflow scoped to these files:
node scripts/docs-audit/affected-docs.mjs origin/main → pass the list as args.docs.

@os-zhuang os-zhuang merged commit c715d25 into main Jun 26, 2026
16 checks passed
@os-zhuang os-zhuang deleted the chore/unify-apache-license branch June 26, 2026 17:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/xl tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant