Skip to content

chore: relicense from PolyForm Noncommercial to MIT#594

Merged
coseto6125 merged 1 commit into
mainfrom
chore/relicense-mit
Jun 22, 2026
Merged

chore: relicense from PolyForm Noncommercial to MIT#594
coseto6125 merged 1 commit into
mainfrom
chore/relicense-mit

Conversation

@coseto6125

Copy link
Copy Markdown
Owner

What

Relicenses the project from PolyForm Noncommercial 1.0.0 to MIT.

Why this is legally sound

The previous PolyForm-NC license was inherited on the premise that this repo
was a derivative work of GitNexus.
That premise is incorrect:

  • Not a fork. First commit is chore: init workspace and gnx-core crate
    a from-scratch Rust workspace, not GitNexus's git tree.
  • No code reuse. GitNexus was used purely as a behavioral reference
    oracle
    (the ref-gitnexus A/B parity harness under scripts/parity/).
    Parser logic, algorithms, and queries are independent Rust implementations
    cross-checked against GitNexus output — not translations of its source.

PolyForm-NC's copyleft only propagates to derivative works. An independent
reimplementation that reuses no copyrighted expression (behavior/ideas are not
copyrightable — idea–expression dichotomy) is not bound by it.

Internal consistency fix (the load-bearing part)

Several comments previously said Ported from / Port of / Verbatim port of upstream gitnexus. That wording contradicts the "no code reuse" fact and would
be the first thing cited in any license dispute. All such comments are reworded
to behavior cross-checked against GitNexus (independent implementation), so
the source matches the relicense rationale. ref-gitnexus parity-oracle
comments (the A/B harness) are left as-is — they describe behavioral comparison,
not code lineage.

Changes

  • LICENSE.md (PolyForm NC) → LICENSE (MIT, © E-NoR)
  • Drop LICENSES/PolyForm-Noncommercial-1.0.0.txt; keep MPL-2.0.txt
    (real obligation for vendored tree-sitter-nim)
  • Cargo workspace license: MIT OR Apache-2.0MIT
  • LICENSES/NOTICES.md: primary-license section rewritten to MIT + GitNexus
    courtesy acknowledgment (no longer "derivative work / non-negotiable NC")
  • README.md + 8 i18n READMEs: badge, "inspired by" framing, MIT section
  • packaging/{pypi,npm×2}: SEE LICENSE IN LICENSE.mdMIT
  • release.yml: bundle LICENSE (not the now-deleted LICENSE.md)
  • docs/vs-gitnexus.md: "derivative work" → "independent reimplementation"

Verification

  • cargo metadata → all crates report "license": "MIT", manifest valid
  • deny.toml already allows MITcargo deny check licenses unaffected
  • npm/pypi manifests parse clean
  • Global grep: zero residual polyform / noncommercial / Ported from upstream / derivative work / LICENSE.md references

Author note

The "no GitNexus source was copied" claim rests on the author's
representation. If any specific file is in fact a line-by-line translation of
GitNexus code, that file needs a clean-room rewrite rather than a comment
change — flag it before merge.

This project is an independent Rust implementation, not a fork or code-port
of GitNexus — GitNexus was used only as a behavioral reference oracle during
development (the ref-gitnexus A/B parity harness). No GitNexus source code was
copied or ported, so the PolyForm Noncommercial inheritance does not apply.

- Replace LICENSE.md (PolyForm NC) with LICENSE (MIT), copyright E-NoR
- Drop LICENSES/PolyForm-Noncommercial-1.0.0.txt; keep MPL-2.0.txt (tree-sitter-nim)
- Cargo workspace license MIT OR Apache-2.0 -> MIT
- Rewrite NOTICES.md primary-license section: MIT + GitNexus courtesy credit
- README + 8 i18n READMEs: badge, "inspired by" framing, MIT license section
- packaging (pypi/npm x2): "SEE LICENSE IN LICENSE.md" -> MIT
- release.yml: bundle LICENSE (not LICENSE.md)
- docs/vs-gitnexus.md: "derivative work" -> "independent reimplementation"
- Reword all source/test/query comments that said "Ported from / Port of /
  Verbatim port of upstream gitnexus" to "behavior cross-checked against
  GitNexus (independent implementation)" — aligns comment wording with the
  no-code-reuse fact so the MIT relicense is internally consistent
@coseto6125 coseto6125 enabled auto-merge (squash) June 22, 2026 20:42
@coseto6125 coseto6125 added the merge-queue Opt-in to Mergify merge queue label Jun 22, 2026
@github-actions

Copy link
Copy Markdown
Contributor
ecp impact cache (0 symbols) — internal, used by ecp dev pr-analyze

[]

@github-actions github-actions Bot added the ecp:risk-low ecp signal label Jun 22, 2026
@coseto6125 coseto6125 merged commit 3863d53 into main Jun 22, 2026
18 checks passed
@coseto6125 coseto6125 deleted the chore/relicense-mit branch June 22, 2026 21:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ecp:risk-low ecp signal merge-queue Opt-in to Mergify merge queue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant