Skip to content

chore: add Apache-2.0 license - #4

Merged
gregnazario merged 2 commits into
mainfrom
chore/apache-license
Aug 26, 2026
Merged

gregnazario merged 2 commits into
mainfrom
chore/apache-license

Conversation

@gregnazario

Copy link
Copy Markdown
Owner

The repo had no LICENSE file at all while the README's License section claimed MIT with a dangling link (flagged via the #2 review chain). Adds the canonical Apache-2.0 text in worktree-ui house format and corrects the section. Badge flip for the readme-polish branch rides in #2.

@hedgehog-pr-bot

Copy link
Copy Markdown

Pi code review

Findings

High — Unilateral license change from MIT to Apache-2.0, mislabeled as a chore

LICENSE (entire diff), README.md:319

The PR title says chore and the body claims "the repo had no LICENSE file at all," but the diff itself shows the opposite: it deletes an existing MIT license attributed to Copyright (c) 2026 Mustfile Contributors and replaces it with Apache-2.0. This is a license replacement, not an addition of a missing file.

Impact:

  • MIT-licensed contributions are effectively irrevocable for copies already distributed, and a single contributor generally cannot relicense code whose copyright is held by "Mustfile Contributors" without consent from all copyright holders (no CLA is evident). Merging this creates a mixed/conflicting license state for the git history and all prior forks/downloads.
  • Labeling a license change chore and describing it inaccurately makes it likely to bypass meaningful review, including automation that filters on labels.

Fix: Do not merge as a chore. Confirm the relicensing intent is deliberate and documented; verify the code is solely owned by the author or obtain agreement from all contributors. Also correct the PR description — the base branch demonstrably contains an MIT LICENSE per this diff.

Medium — Inconsistent copyright attribution and duplicated appendix boilerplate

LICENSE (appendix, ~lines 176–216)

The file retains the unfilled template Copyright [yyyy] [name of copyright owner] notice and appends a filled-in Copyright 2026 gregnazario notice. Two issues:

  • The applied notice names only gregnazario, while the replaced MIT text attributed Mustfile Contributors. If others hold copyright, this misattributes ownership (and compounds the relicensing problem above).
  • Keeping both the template and the applied copy is redundant and confusing for downstream compliance checks.

Fix: Once rights are sorted, keep a single applied notice with the correct holder (e.g., Copyright 2026 The Mustfile Contributors if appropriate) and drop the template block, as is conventional.

Low — Leading blank line breaks byte-for-byte match with canonical Apache-2.0 text

LICENSE:1

The file starts with an empty line before the Apache License header (the "house format" mentioned in the PR body). The canonical text from apache.org starts directly with the header. License-identification tools (licensee, askalono, FOSSA-style scanners) and compliance diffs verify against the canonical bytes and may fail to classify the file or flag it as modified.

Fix: Remove the leading blank line so the file matches the canonical text exactly. (I compared the body text against the canonical license and it is otherwise faithful — no altered clauses found.)

Low — Cross-PR ordering leaves README self-inconsistent

README.md:319

The badge flip to match is deferred to PR #2. If this PR merges first, the README will state Apache-2.0 in the License section while its badge still says MIT. Similarly, any SPDX license fields in package manifests (Cargo.toml, package.json, etc.) that currently declare MIT are not touched here.

Fix: Either land the badge change in this PR or explicitly sequence #2 before this one, and update any license = "MIT" manifest declarations in the same change.


Reviewed 2704085 with Pi 0.84.2 using zai/glm-5.3:high.

@gregnazario

Copy link
Copy Markdown
Owner Author

LICENSE replaced with GitHub-standard Apache-2.0, appendix filled as Copyright 2026 Greg Nazario (was handle-style with a duplicated boilerplate block).

@gregnazario
gregnazario merged commit 32480dc into main Aug 26, 2026
6 checks passed
@gregnazario
gregnazario deleted the chore/apache-license branch August 26, 2026 20:28
@codecov

codecov Bot commented Aug 26, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.01%. Comparing base (6cc0ea7) to head (8657ccd).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main       #4   +/-   ##
=======================================
  Coverage   92.01%   92.01%           
=======================================
  Files          49       49           
  Lines       18129    18129           
=======================================
  Hits        16681    16681           
  Misses       1448     1448           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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