Skip to content

chore!: relicense from MIT to GPL-3.0-or-later - #220

Merged
tmac1973 merged 1 commit into
mainfrom
chore/relicense-gpl3-main
Aug 30, 2026
Merged

chore!: relicense from MIT to GPL-3.0-or-later#220
tmac1973 merged 1 commit into
mainfrom
chore/relicense-gpl3-main

Conversation

@tmac1973

Copy link
Copy Markdown
Owner

Re-land of #219, which never reached main.

What happened

#219 was stacked on #218. #218 squash-merged to main first, so its squash captured only the README commit. #219 then merged into docs/readme-refresh — a branch that was already merged and no longer headed anywhere. The license work ended up stranded there.

My fault: stacking was the right call to avoid a README conflict, but it only works if the base PR merges last. I should have flagged the merge order.

This PR

The same commit, cherry-picked onto main. The tree is byte-identical to the merged docs/readme-refresh branch (git diff origin/docs/readme-refresh HEAD is empty), so nothing was lost or changed in the move.

File Change
LICENSE New. GPL-3.0 text, verbatim from gnu.org (sha256 3972dc97…), 674 lines
src-tauri/Cargo.toml license = "GPL-3.0-or-later"; authors and repository filled in — they were still Tauri placeholders ("you", "")
package.json Added license, author, repository
README.md License section: the grant, plain-language summary, GPL warranty disclaimer, and the note that v0.1.61 and earlier stay MIT
NOTICE.md Names the source licence; icon keeps its separate CC BY-SA 3.0 terms

Verified after the cherry-pick: both manifests parse, cargo metadata reports GPL-3.0-or-later, prettier passes.

After merging

docs/readme-refresh still holds the orphaned copy of this commit. Once this lands, that branch is fully redundant and safe to delete — I left it alone rather than deleting a remote branch on your behalf.

Heads up: this is marked chore!, so release-please will treat it as breaking. The open release PR #217 (0.1.62) will likely re-cut as 0.2.0. That's correct for a licence change, but worth knowing before you merge.

🤖 Generated with Claude Code

https://claude.ai/code/session_01REbcwnYDg6DFC4cPASbAMG

Re-land of #219. That PR was stacked on #218, and #218 squash-merged to
main first, so its squash captured only the README commit — #219 then
merged into the docs branch and never reached main. Same tree, verified
byte-identical to the merged docs/readme-refresh branch.

MIT let anyone ship a closed-source fork. The intent is that derivative
works stay open, so the project moves to the GPL. Attribution was never
the missing piece — MIT already required the copyright notice to be kept
— the copyleft is.

Sole authorship makes this possible: every non-bot commit in the history
is mine, so there are no contributors whose consent is needed.

- LICENSE: the GPL-3.0 text, verbatim from gnu.org. The repo previously
  claimed MIT in Cargo.toml and the README without ever shipping a
  licence file, so this is also the first real grant.
- src-tauri/Cargo.toml, package.json: license metadata, plus the author
  and repository fields, which were still Tauri template placeholders
  ("you", empty string).
- README, NOTICE.md: state the licence, keep the icon's separate
  CC BY-SA 3.0 terms, and note that v0.1.61 and earlier remain MIT —
  relicensing is not retroactive.

Dependencies are all GPL-3 compatible (MIT / Apache-2.0 / ISC / BSD /
MPL-2.0, and MIT for the llama.cpp and whisper.cpp sidecars). Apache-2.0
is why this is v3 and not v2.

Code signing is unaffected: GPLv3's Installation Information clause
applies to User Products, not to a desktop app, so Developer ID and
Authenticode signing remain available. The Mac App Store does not.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01REbcwnYDg6DFC4cPASbAMG
@tmac1973
tmac1973 merged commit 2907d37 into main Aug 30, 2026
4 checks passed
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