If you want to play in the GPL sandbox, you have to give back to the GPL sandbox. Its a fair paradigm.connor_mcmonigle wrote: ↑Thu Jan 21, 2021 8:02 pmIf you want to use a neural network for position evaluation while keeping your source closed, why not implement it yourself?Engin wrote: ↑Thu Jan 21, 2021 5:31 pm
i don't mean you werner with you testing a lot of engines very good, i meant the GPL rules that not allows closed source engines to using SF NNUE's with shawuls probing code because it is under the rules of GPL 3.0 that means you must open your source if you using the source of the probing code.
so i mean it is also not allowed to using the nalimov table probing code either then..... nor opening books too.
A large number of strong engines use neural networks for position evaluation without taking any code from Stockfish/other engines (Ethereal, Slowchess, Winter, Halogen, Seer, Orion, tomitankChess etc.).
I don't understand your thinking here, though possibly there are reasons for keeping your source closed that I am not considering. Why not open source your engine if you want to use other people's GPL'd code so badly?
Nothing about NNUE is prohibitive. Using a Stockfish network is not even a GPL issue; its using the implementation code. Coding up a system to read the weights and apply them is an exercise in 1. looking through SF's source to get the format, and 2. Vector programming. I had never used AVX/AVX2 sintructions, and I managed a system similar to Stockfish, and a fork that actually can run SF-esque networks.
-----
On another topic of sorts: I'm not actually convinced that if Andscacs, a private sourced engine, were to use Stockfish code verbatim for the NNUE that it would constitute a violation of the GPL, if the NNUE code was public. There is a sort of idea of being fully separable. Andscacs runs perfectly fine as a stand alone program without the use of Stockfish's GPL'ed code. Andscacs also runs with the use of Stockfish's GPL'ed code. One can consider the NNUE evaluation and updates as a seperate program being used by Andscacs.
I'm generally pretty staunch in my interpretation of the GPL, but I do think this is a nuance that matters. I also imagine no one (with standing) would raise an issue if Andscacs were closed source, but packaged with a few .c and .h NNUE files, as well as a copy of the GPLv3.