My name is Rick Wilson, and I have been doing a lot of vibe coding for the past year, mostly involving free tools for bridge students and teachers. I have been writing most of my algorithmic code in Rust, which is easy to compile for Mac, Windows, Linux, WASM and iOS (GitHub does this automatically on each release). Back in January I made a port of your bridge-solver to Rust. I have since extended the functionality of my version, and I have integrated it into several free tools: multiple CLIs, a back-end server, a WASM front-end and others.
My port is considered a derivative product, and needs to carry the same license as you have on your repo - GPL-2. I didn't realize the impact of this until recently - the copy-left nature of the GPL-2 license requires downstream derivative works to carry the same license. This means any of my tools that use this code need to carry GPL-2 also, as well as any tools used by anyone who uses my libraries. This is often a constraint that can't be met, so people won't incorporate these free tools. It also means, for example, that none of this code can be submitted to the Apple app store - it doesn't allow GPL-licensed software at all.
A real example is a work in progress right now. I have free browser extensions submitted for my bridge-classroom-fetch module, which fetches play history from BBO, ACBL Live and ACBL Live for Clubs. This routes to two different destinations in bridge-classroom, one of which is a card-by-card DD analysis and replay tool (https://solver.bridge-classroom.org/ - click "Try and example"). This runs the solver as WASM in the browser. I am able to submit this to the app store because I have the WASM on my web page, which receives a handoff from the extension - this separates the license. But I couldn't put it in the extension if I wanted to, just because of the GPL-2 license.
Another issue has to do with the Rust world. The open source crates.io library interchange pretty much requires an Apache + MIT dual license for libraries submitted for sharing. I could submit my work under GPL, but it would most likely never get used because of the license.
I have also seen discussions recently on the bridge developers mailing list about DDS 3, and trying to get WASM working there too. The WASM version I have is working fine, but I think the GPL-2 license on my derivative work would also prevent them from using it there.
All of these issues would go away if you'd be willing to change your license on this one repo from GPL-2 to MIT and Apache-2.0 — the "MIT OR Apache-2.0 "convention that most of the Rust ecosystem uses. This still provides a requirement for attribution, but doesn't require the downstream repos to carry any specific license. This is a better fit for bridge-solver, which is essentially a library module that will be used in other pieces of software. Even the FSF argues for permissive licensing on libraries when a strong free alternative already exists — which DDS clearly is.
I have made a lot of use of my version of your solver. I really appreciate all the work you did in creating your library, and in making it publicly available. I want to do the same with my extended versions. The change of license would help users for both our repos.
My name is Rick Wilson, and I have been doing a lot of vibe coding for the past year, mostly involving free tools for bridge students and teachers. I have been writing most of my algorithmic code in Rust, which is easy to compile for Mac, Windows, Linux, WASM and iOS (GitHub does this automatically on each release). Back in January I made a port of your bridge-solver to Rust. I have since extended the functionality of my version, and I have integrated it into several free tools: multiple CLIs, a back-end server, a WASM front-end and others.
My port is considered a derivative product, and needs to carry the same license as you have on your repo - GPL-2. I didn't realize the impact of this until recently - the copy-left nature of the GPL-2 license requires downstream derivative works to carry the same license. This means any of my tools that use this code need to carry GPL-2 also, as well as any tools used by anyone who uses my libraries. This is often a constraint that can't be met, so people won't incorporate these free tools. It also means, for example, that none of this code can be submitted to the Apple app store - it doesn't allow GPL-licensed software at all.
A real example is a work in progress right now. I have free browser extensions submitted for my bridge-classroom-fetch module, which fetches play history from BBO, ACBL Live and ACBL Live for Clubs. This routes to two different destinations in bridge-classroom, one of which is a card-by-card DD analysis and replay tool (https://solver.bridge-classroom.org/ - click "Try and example"). This runs the solver as WASM in the browser. I am able to submit this to the app store because I have the WASM on my web page, which receives a handoff from the extension - this separates the license. But I couldn't put it in the extension if I wanted to, just because of the GPL-2 license.
Another issue has to do with the Rust world. The open source crates.io library interchange pretty much requires an Apache + MIT dual license for libraries submitted for sharing. I could submit my work under GPL, but it would most likely never get used because of the license.
I have also seen discussions recently on the bridge developers mailing list about DDS 3, and trying to get WASM working there too. The WASM version I have is working fine, but I think the GPL-2 license on my derivative work would also prevent them from using it there.
All of these issues would go away if you'd be willing to change your license on this one repo from GPL-2 to MIT and Apache-2.0 — the "MIT OR Apache-2.0 "convention that most of the Rust ecosystem uses. This still provides a requirement for attribution, but doesn't require the downstream repos to carry any specific license. This is a better fit for bridge-solver, which is essentially a library module that will be used in other pieces of software. Even the FSF argues for permissive licensing on libraries when a strong free alternative already exists — which DDS clearly is.
I have made a lot of use of my version of your solver. I really appreciate all the work you did in creating your library, and in making it publicly available. I want to do the same with my extended versions. The change of license would help users for both our repos.