Relicense to MIT OR Apache-2.0, following upstream; release 1.0.0 - #10
Merged
Conversation
Upstream relicensed in macroxue/bridge-solver dc2d4df (2026-08-14), from GPL-2.0 to MIT OR Apache-2.0, at the owner's own hand. The GPL obligation this project inherited in 3e9a802 came solely from that upstream licence, so it falls away with it. Matching upstream's pairing rather than picking our own: it passes his grant through undiminished instead of narrowing what downstream users get, and MIT OR Apache-2.0 is what crates.io consumers expect. LICENSE removed (GPL-2.0 text) LICENSE-MIT new LICENSE-APACHE new; stock Apache-2.0, body byte-identical to upstream's Cargo.toml license = "MIT OR Apache-2.0" wasm/Cargo.toml likewise README.md licence section rewritten web/src/App.vue footer Both licence files carry Hanhong Xue's copyright notice as well as this project's. MIT requires the notice be retained and Apache-2.0 s4(a)-(c) the same, so his is reproduced with the years he asserts (2013-2026) and his own name, not his GitHub handle. Upstream ships no NOTICE file, so Apache-2.0 s4(d) carries nothing forward. No per-file headers, still matching upstream. The provenance comments are untouched and now read as attribution rather than evidence: the "Port of macroxue/bridge-solver" lines in src/lib.rs and Cargo.toml, the 64 comments recording correspondence with specific C++ functions, and the note in src/search.rs on the deliberately replicated upstream Have(Cards) defect. Not addressed here: the v0.4.0 release archives bundle the GPL-2.0 text and are now stale in the other direction. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The three manifests had drifted apart — the crate was at 0.5.0 after #8 while the wasm bindings and the web app were still on 0.4.0, having last moved together at 0.4.0. Bringing all of them to 1.0.0 puts the whole project back on a single number and makes the release tag mean the same thing everywhere. 1.0.0 rather than another 0.x: the licence is now settled and permissive, the PBN annotation pass in #8 completed the CLI, and the public surface is one worth committing to. Both Cargo.lock files and web/package-lock.json are regenerated to match. The committed Cargo.lock still pins the internal crates to git+https sources, with no local-path entries. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Relicense
Upstream relicensed in
dc2d4df(2026-08-14), GPL-2.0 → MIT OR Apache-2.0, at the owner's own hand. The GPL obligation this project inherited in3e9a802came solely from that upstream licence, so it falls away with it.Matching upstream's pairing rather than picking our own: it passes the grant through undiminished instead of narrowing what downstream users get, and
MIT OR Apache-2.0is what crates.io consumers expect.LICENSE(GPL-2.0) removed;LICENSE-MITandLICENSE-APACHEaddedLICENSE-APACHE's licence body is byte-identical to upstream's for all 176 lines; only the appendix differsProvenance comments are untouched and now read as attribution rather than evidence: the
Port of macroxue/bridge-solverlines, the 64C++correspondence comments, and the note on the deliberately replicated upstreamHave(Cards)defect.1.0.0
The manifests had drifted — crate at
0.5.0after #8, wasm bindings and web app still at0.4.0. All four are now1.0.0, with bothCargo.locks andpackage-lock.jsonregenerated. The committedCargo.lockstill pins internal crates togit+httpssources, no local-path entries.Checks
cargo fmtclean · clippy clean at-D warnings· 69 Rust tests · 183 web tests🤖 Generated with Claude Code