Skip to content

Fix license inconsistency: standardize on Apache-2.0 (#487) - #532

Merged
os-zhuang merged 4 commits into
objectstack-ai:mainfrom
yinlianghui:claude/license-inconsistency-mit-apache-cbmgdr
Jul 29, 2026
Merged

os-zhuang merged 4 commits into
objectstack-ai:mainfrom
yinlianghui:claude/license-inconsistency-mit-apache-cbmgdr

Conversation

@yinlianghui

Copy link
Copy Markdown
Collaborator

Description

The repository declared conflicting licenses: LICENSE and objectstack.manifest.json said MIT, while the README badge/footer and every source file header said Apache-2.0 — and scripts/publish-marketplace.mjs published that contradictory pair to the marketplace. This PR standardizes everything on Apache-2.0, the license the project publicly advertises (commit 3546eae):

  • LICENSE: replace the MIT text with the canonical Apache-2.0 license text
  • objectstack.manifest.json: "license" field MIT → Apache-2.0 (the value published to the marketplace)
  • package.json: add "license": "Apache-2.0" (fallback source for the marketplace publish script)
  • CONTRIBUTING.md: state that contributions are licensed under Apache-2.0
  • README.legacy.md: update the license badge and license section
  • scripts/publish-marketplace.mjs: align the file header with the rest of the codebase

⚠️ Note for reviewers: the head branch is based on an older main (d0e2765) from the fork and additionally carries three fork-side commits beyond the license fix: 7b68275 feat(competitor): competitor management module, 5e41bec feat(contract): status kanban board view, and efa59ab fix(dashboards): dateRange filter opt-outs. Their commit messages reference #1/#2/#3 (fork-local issue numbers, unrelated to this repo's #1–#3). If only the license fix is wanted here, the branch should be rebased onto the latest main with just 3546eae before merging.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Code refactoring
  • Performance improvement
  • CI/CD update

Related Issues

Fixes #487

Changes Made

  • Replaced the MIT text in LICENSE with the canonical Apache-2.0 license text
  • Changed objectstack.manifest.json license from MIT to Apache-2.0 and added "license": "Apache-2.0" to package.json so the marketplace publish script has a consistent source
  • Updated CONTRIBUTING.md, README.legacy.md, and the scripts/publish-marketplace.mjs file header to consistently state Apache-2.0

Testing

  • Unit tests pass (npm test) — all tests pass on the head branch
  • Linting passes (npm run lint)
  • Build succeeds (npm run build)
  • Manual testing completed
  • New tests added (if applicable)

Screenshots

N/A — license/documentation changes only.

Checklist

  • I have added a changeset (pnpm changeset) — required on every PR, or the skip-changeset label is applied
  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published

Additional Notes

  • No changeset is included: the license fix carries no publishable code change, so the skip-changeset label may be appropriate; alternatively the head branch predates the new changeset CI requirement (0437c9f) and will need one (or the label) to pass CI.
  • The head branch also includes three fork-side commits unrelated to License inconsistency: LICENSE says MIT, README and source headers say Apache-2.0 #487 (see the note in the Description). Happy to have the branch rebased to contain only 3546eae if maintainers prefer a minimal diff.

🤖 Generated with Claude Code

https://claude.ai/code/session_01JmS4beF8foorE7ykRdKcLU


Generated by Claude Code

yinlianghui and others added 4 commits July 29, 2026 06:56
…n time windows

Widgets titled YTD / last-12-months / QTD declared their own close_date
filters, but the dashboard-level dateRange (default this_quarter) was
injected on top, silently intersecting the two. Executive YTD revenue
showed 781,012 (quarter) instead of 2,618,600 (year).

Adds filterBindings dateRange opt-outs across 4 dashboards (8 widgets)
plus a metadata guard test (red on all 8 before the fix, 68 green after).

Closes #1

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
New contract_board kanban grouped by status (draft / in-approval /
activated / expired / terminated), cards show contract number, account
and end date with status-colored badges reusing the field's own option
colors; column headers summarize contract_value.

Closes #2

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
New crm_competitor object (threat level with colored badges, win/loss
battle cards in Markdown, product and intel-owner fields), two list
views (all + high-threat), Sales nav entry, full zh/en/ja/es
translations, seed data (4 competitors with Chinese battle cards), and
a multi-value competitor lookup on opportunities replacing the
hardcoded Competitor A/B/C placeholder options.

Known platform limitation recorded in seeds: the seed loader drops
multi-value lookup natural-key arrays silently; opportunity links were
backfilled directly and the intent arrays are kept in data/index.ts for
when the loader supports them.

Closes #3

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The LICENSE file said MIT while README.md, all 150+ source file
headers, and the marketplace docs (en/zh-Hans/zh-Hant) declared
Apache-2.0. Standardize everything on Apache-2.0, the license the
project publicly advertises:

- LICENSE: replace MIT text with the canonical Apache-2.0 text
- CONTRIBUTING.md: contributions are licensed under Apache-2.0
- README.legacy.md: update license badge and license section
- objectstack.manifest.json: license field MIT -> Apache-2.0
  (published to the marketplace via scripts/publish-marketplace.mjs)
- package.json: add "license": "Apache-2.0" (fallback source for
  the marketplace publish script)
- scripts/publish-marketplace.mjs: align file header with the rest
  of the codebase

Closes objectstack-ai#487

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015diSVVVtpbSUSfU8Wpu5Jb
@vercel

vercel Bot commented Jul 29, 2026

Copy link
Copy Markdown

@claude is attempting to deploy a commit to the Object Stack Team on Vercel.

A member of the Team first needs to authorize it.

@os-zhuang
os-zhuang merged commit 3a473f4 into objectstack-ai:main Jul 29, 2026
5 of 8 checks passed
yinlianghui added a commit that referenced this pull request Jul 30, 2026
Reverts the two feature commits that #532's squash merge carried in
alongside the license fix. Both were built as recording aids for a demo
video series and were not meant to land upstream:

- feat(contract): add status kanban board view (5e41bec)
- feat(competitor): add competitor management module (7b68275)

The opportunity object returns to its previous hardcoded competitors
select; the dashboard dateRange fix from the same squash (#499) stays.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
yinlianghui added a commit that referenced this pull request Jul 30, 2026
revert: remove demo-only contract kanban and competitor module (#532 follow-up)
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.

License inconsistency: LICENSE says MIT, README and source headers say Apache-2.0

3 participants