News for hackers. Stuff that matters.
Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by sillysaurusx on Wednesday July 21, 2021 @07:50AM (#27905026)
There are a few things wrong with Stockfish's claims. Here's an analysis from yesterday: 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-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.

Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by natrys on Wednesday July 21, 2021 @08:19AM (#27905283)
> 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

Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by sillysaurusx on Wednesday July 21, 2021 @08:25AM (#27905337)
I 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 ; I'd be curious to get your thoughts on it.

Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by lmohseni on Wednesday July 21, 2021 @08:30AM (#27905382)
Totally unrelated but good luck today with your interview! You have a stranger on the internet rooting for you
Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by sillysaurusx on Wednesday July 21, 2021 @08:51AM (#27905567)
That 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

Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by natrys on Wednesday July 21, 2021 @08:35AM (#27905417)
Just a heads up, your link has a trailing semi-colon, which deters from just clicking on it to go to the destination. Although it probably doesn't matter any more, as the entire post was marked dupe and removed.

In any case, good luck with the interview!

Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by sillysaurusx on Wednesday July 21, 2021 @08:48AM (#27905534)
Hey, thank you for that :) I never remember whether HN strips all punctuation after urls or just periods. And thanks for the good luck charm.

It’s really an interesting question to me, so if you have thoughts on the NN weight distribution issue, I’d be curious to hear them independent of whether the post is on the front page. I honestly don’t know how to properly distribute NN weights according to a license, which is a weird feeling since I’ve released quite a few.

I suppose a tensorflow checkpoint would be fine. It just seems insane to me that Fat Fritz would refuse to do that after releasing their source code, given that they have to distribute the weights anyway with their program. I was trying to apply the principle of charity, but it’s true the company may have unilaterally refused to “release the weights” (somehow) even if it harmed their position and resulted in a lawsuit.

Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by natrys on Wednesday July 21, 2021 @06:44PM (#27913108)
Probably because new weights are the only thing they brought to the table, rest of it was just stockfish so it didn't hurt business interest to reveal generic stockfish source, once people realised Fat Fritz is just stockfish.

In terms of GPL violation, I think if you are serious about the subject, you should simply shoot a mail to FSF, I am sure they could get back with something definitive. Personally (and IANAL) I do not believe in this case there is any ML specific nuance. As I understand, GPL demands you reveal source code to the full extant where it can grant its users the ability to recompile the software themselves. To that end, you can't omit any critical source file, because then the program doesn't compile. From this perspective, the model file is no different from any source code file, its absence renders the software un-compilable. Editing the model would still be same as editing source, thus still falls within GPL.

However, I don't know what the implication could be, if the model wasn't baked into final executable, and instead was loadable at runtime.

Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by dominicjj on Wednesday July 21, 2021 @08:01AM (#27905127)
>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.

Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by sillysaurusx on Wednesday July 21, 2021 @08:08AM (#27905191)
There's a 30 day window to cure violations: https://github.com/official-stockfish/Stockfish/blob/3597f19...
Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by eertami on Wednesday July 21, 2021 @08:37AM (#27905441)
They said in their blog post that they've already tried to remedy this with no success.
Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by pentacent_hq on Wednesday July 21, 2021 @08:01AM (#27905132)
re 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

Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by sillysaurusx on Wednesday July 21, 2021 @08:05AM (#27905163)
The 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.

Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by mikeryan on Wednesday July 21, 2021 @08:11AM (#27905224)
No it doesn’t. This is just the standard remedy method but doesn’t nullify the preceding which explicitly carves out the exception.
Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by papercrane on Wednesday July 21, 2021 @08:10AM (#27905211)
The 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.
Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by fddhjjj on Wednesday July 21, 2021 @08:10AM (#27905207)
> 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

The form matters.

Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by sillysaurusx on Wednesday July 21, 2021 @08:17AM (#27905267)
I 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.

Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by gspr on Wednesday July 21, 2021 @08:45AM (#27905515)
> 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

> 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.

Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by fddhjjj on Wednesday July 21, 2021 @08:30AM (#27905378)
> 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

Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by YeGoblynQueenne on Wednesday July 21, 2021 @08:10AM (#27905210)
>> 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".

Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by snovv_crash on Wednesday July 21, 2021 @08:20AM (#27905290)
NN weights are not "compiled".
Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by YeGoblynQueenne on Wednesday July 21, 2021 @09:06AM (#27905694)
>> NN weights are not "compiled".

Can you show me where in my comment above I used the word "compiled"?

Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by snovv_crash on Thursday July 22, 2021 @01:41AM (#27915771)
Apologies, 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.
Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by YeGoblynQueenne on Thursday July 22, 2021 @04:41AM (#27916760)
Thank 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.

Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by captn3m0 on Wednesday July 21, 2021 @08:24AM (#27905324)
Does anyone have a link to Fat Fritz source? (or a diff against Stockfish?)
Re:Fat Fritz is not the Only Ripoff and now ChessBase is Get... by Miner49er on Wednesday July 21, 2021 @08:26AM (#27905346)
What about Houdini? That's their current violation.