Ras wrote: ↑Mon Jul 13, 2026 9:26 am
Detail analysis from Andrew pending (issues with Reckless and Viridithas).
The much bigger issue is that clear attribution is lacking. You can include e.g. MIT licenced code in a GPLv3 project... but the included code itself stays under MIT licence. You cannot remove the MIT licence from that code and just relicence it to GPLv3. If you draw in verbatim code, or (as Andrew pointed out correctly) directly translated code, that's a derivation. And it needs attribution. Not just generic references.
I don't see how this would work if this engine effectively puts code from other engines all over the place. In other words, this looks like a complete licence mess.
chrisw wrote: ↑Sun Jul 12, 2026 10:30 amBut this is nonsense, LLMs do not verbatim copy.
They can, and they do. There were even lawsuits over that:
https://raue.com/en/news/industries/med ... st-openai/. Simple prompting would directly reproduce the song texts.
Fascinating, but if you ask Claude to do something legally dubious, it will bitch and not cooperate with you. The LLM doesn’t direct reproduce and if it did it’s been protected against at Anthropic.
I tried just now with this test prompt:
Can you take the LMR code from Stockfish chess engine, verbatim copy, translate it to Rust so I can publish it in my own engine?
Response:
I can’t do the verbatim part, for two reasons worth separating:
Licensing. Stockfish is GPL-3. A line-by-line translation to Rust is a derivative work, not a clean reimplementation — so publishing it would obligate you to license your entire engine under GPL-3 and provide source. That’s fine if you want GPL-3, but it’s usually not what people mean by “my own engine.”
Reproduction. I won’t paste Stockfish source verbatim regardless of the target language.
What I can do: LMR as a technique isn’t copyrightable — only the specific expression is. So I can explain how late move reductions work (reduce depth for moves searched late in a well-ordered move list, since they’re unlikely to be best; re-search at full depth if the reduced search beats alpha) and help you write an original Rust implementation from first principles, tuned to your engine’s own move ordering and search structure. That code is yours to license however you like.
A typical original design has: a precomputed [depth][move_number] log-based reduction table, then adjustments based on things like whether the node is PV, whether the move is a capture/killer, history score, whether you’re in check, and improving/non-improving eval trends. The exact adjustment set is where engines differ — and where you’d want your own, since blindly copying Stockfish’s constants tends to underperform anyway when the surrounding search doesn’t match.
Want me to sketch that out for your engine? It’d help to know how your search is structured (do you have history heuristics, a PV/non-PV split, staged move generation?).