4 ms·
There are a few things wrong with Stockfish's claims. Here's an analysis from yesterday: https://news.ycombinator.com/item?id=27900887 https://news.ycombinator.
by sillysaurusx 5y ago
There are a few things wrong with Stockfish's claims. Here's an analysis from yesterday: https://news.ycombinator.com/item?id=27900887 https://news.ycombinator.com/item?id=27900887
1. It's legal to sell Stockfish -- to "rip it off" -- as long as you're compliant with GPL v3: https://opensource.stackexchange.com/questions/4753/is-it-legal-to-monetize-from-someone-elses-software https://opensource.stackexchange.com/questions/4753/is-it-le...
2. Fat Fritz seems compliant with GPL v3. They've released their code.
3. Stockfish claims they haven't released their NN weights. But that claim makes no sense. They distribute the weights with every copy of Fat Fritz. Otherwise, the product wouldn't work.
4. Stockfish can't unilaterally terminate someone's license to the code. GPL allows people to remedy violations, and Fat Fritz did. Saying "They didn't release their NN weights" doesn't seem to be true, and they almost seem to be hinging their entire case on this one point.
- dominicjj 5y ago>4. Stockfish can't unilaterally terminate someone's license to the code. Sure it can. It's the copyright holder. >they almost seem to be hinging their entire case on this one point. It has nothing to do with the network weights. Fat Fritz and Houdini are derivative works of Stockfish. Fat Fritz may be compliant with the GPL 3.0 (after being reported for violation) but Houdini certainly isn't.
- sillysaurusx 5y agoThere's a 30 day window to cure violations: https://github.com/official-stockfish/Stockfish/blob/3597f1942ec6f2cfbd50b905683739b0900ff5dd/Copying.txt#L422-L427 https://github.com/official-stockfish/Stockfish/blob/3597f19...
- eertami 5y agoThey said in their blog post that they've already tried to remedy this with no success.
- deleted 5y ago[deleted]
- pentacent_hq 5y agore 4) That’s not quite true. The GPLv3 does foresee the possibility of a permanent termination of the license by copyright holders in case of a violation. Section 8 of the GPLv3 [1]: > if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. [1] https://www.gnu.org/licenses/gpl-3.0.html https://www.gnu.org/licenses/gpl-3.0.html
- sillysaurusx 5y agoThe paragraph after seems to nullify that: > Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
- papercrane 5y agoThe implication is that this clause doesn't apply. Maybe it took more than 30 days to cure the violation, or this wasn't the first GPL violation.
- mikeryan 5y agoNo it doesn’t. This is just the standard remedy method but doesn’t nullify the preceding which explicitly carves out the exception.
- fddhjjj 5y ago> Stockfish claims they haven't released their NN weights. But that claim makes no sense. They distribute the weights with every copy of Fat Fritz. Otherwise, the product wouldn't work There was a comment addressing that yesterday https://news.ycombinator.com/item?id=27901876 https://news.ycombinator.com/item?id=27901876 The form matters.
- sillysaurusx 5y agoI agree that the form matters. But what exactly does Stockfish want? It's not clear even to me, as a student of ML, what it means to release NN weights. Does it count if they release fp16 weights? Those are often used for inferencing, but not for training. Do they have to release optimizer state? You normally strip that from checkpoints, since otherwise it'd be a gargantuan checkpoint. Does it need to be loadable via pickle? Torch? Tensorflow? Is it sufficient to just dump the weights as one bigass binary blob that you can load with numpy.frombuffer? (How do we know that there isn't such a file in Fat Fritz 2 already?) I don't know; I want to agree, but this is fraught with peril.
- fddhjjj 5y ago> Does it need to be loadable via pickle? Torch? Tensorflow? If they don’t use pickle, they shouldn’t release in pickle format. They should release in a format such that you can take the source they release and use the model weights as required “installation information” and run the software. Probably the native format for the app. We don’t know if they do or they don’t. That would be a matter to be decided in the court. Likewise you might argue the weights are not installation information in the GPL sense. Stock fish asserts they don’t release weights. Chess base hasn’t commented. I can’t find them. Simply stating “the software runs! The weights must already be distributed” isn’t correct in the sense that the GPL demands. By analogy, “the software runs the source must already be distributed” isn’t correct in the same way. I looked I don’t even see where they are releasing the code. Is it this? https://github.com/DanielUranga/Stockfish https://github.com/DanielUranga/Stockfish
- gspr 5y ago> It's not clear even to me, as a student of ML, what it means to release NN weights. While such questions seem reasonable the first time you encounter them, they have been thoroughly answered for similar things: For example, for source code, releasing the code handwritten on toilet paper is not a "preferred form of modification" (as the GPL requires). A public web site with ASCII code is. In the past, a CD shipped by post also was, but I don't know if the situation there is changing. So, for the weights of a deep network, it's pretty clear that any reasonably documented format for loading the weights into memory would do. That could be one of the well-established matrix/tensor blob formats, or a pickle file, or HDF5, or whatever. Nobody thinks that Stockfish would fight them over the exact format chosen. As for the training parameters etc., and the questions you get into there, those seem indeed to be open questions when it comes to FOSS and deep learning. Debian has started taking its first steps in thinking about how this all relates to the Debian Free Software Guidelines, for example: https://salsa.debian.org/deeplearning-team/ml-policy https://salsa.debian.org/deeplearning-team/ml-policy > I don't know; I want to agree, but this is fraught with peril. Yes, the legal world often is. It's full of words like "reasonable", "expectation", "preferred", etc. But I think you're overcomplicating the matter. There is definitely a gray zone here, but ChessBase GmbH are not in that gray zone, they're clearly far into the wrong.
- YeGoblynQueenne 5y ago>> 3. Stockfish claims they haven't released their NN weights. But that claim makes no sense. They distribute the weights with every copy of Fat Fritz. Otherwise, the product wouldn't work. Shouldn't you check this assumption before making three comments based on it in one day? For example, try reductio at absurdum: "Microsoft distributes the source code of their OS with every copy of Windows. Otherwise, the product wouldn't work".
- snovv_crash 5y agoNN weights are not "compiled".
- YeGoblynQueenne 5y ago>> NN weights are not "compiled". Can you show me where in my comment above I used the word "compiled"?
- snovv_crash 5y agoApologies, I should have used single quotes. But the comparison to source code isn't a valid one, it is more similar to including graphics assets for example. Just because you include an icon in a GPLv3 codebase doesn't mean ypu need to include the original photoshop project.
- YeGoblynQueenne 5y agoThank you for clarifying! My main concern is that the OP is making some strong assumptions in their comment that they don't seem to have checked before coming to conclusions (particularly the conclusion that the complaint "makes no sense"). I think the second sentence of my earlier comment detracts from this point and I should have left it out.
- natrys 5y ago> 3. Stockfish claims they haven't released their NN weights. But that claim makes no sense. They distribute the weights with every copy of Fat Fritz. Otherwise, the product wouldn't work. What about that claim doesn't make sense? Before you have stockfish, first you need the source code of the engine as well as NN weights in a human readable model file. Build system and compiler takes both of these, and turns them into final executable binary. Chessbase distributes Fat Fritz final binary executable. To claim that final binary satisfies weight reveal demand makes as much sense as to claim it also satisfies source code reveal demand. You can't recover either from the binary, without significant decompilation and reverse engineering know-how. I already wrote this much in your original post. If you disagree with this, why haven't you provided a rejoinder there? https://news.ycombinator.com/item?id=27900683 https://news.ycombinator.com/item?id=27900683
- sillysaurusx 5y agoI already wrote this much in your original post. If you disagree with this, why haven't you provided a rejoinder there? Mostly because I have a job interview today and I'm pretty nervous. Sorry; I didn't mean to ignore you. My reply is at https://news.ycombinator.com/item?id=27905267 https://news.ycombinator.com/item?id=27905267 ; I'd be curious to get your thoughts on it.
- lmohseni 5y agoTotally unrelated but good luck today with your interview! You have a stranger on the internet rooting for you
- sillysaurusx 5y agoThat means a lot to me. Thank you. It’s so dumb to even be worried about it. I’m going to ask them to invert a binary tree on a whiteboard. Nonetheless, I’ll take your energy and channel it into an interview win, anime style. https://youtu.be/pktMqkfvoBM https://youtu.be/pktMqkfvoBM
- natrys 5y ago
- captn3m0 5y agoDoes anyone have a link to Fat Fritz source? (or a diff against Stockfish?)
- Miner49er 5y agoWhat about Houdini? That's their current violation.