Hacker News new | past | comments | ask | show | jobs | submit login
[dupe] Fat Fritz is not the Only Ripoff and now ChessBase is Getting Sued (lichess.org)
177 points by yewenjie 8 days ago | hide | past | favorite | 44 comments





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.


> 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


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.


Totally unrelated but good luck today with your interview! You have a stranger on the internet rooting for you

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


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!


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.


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.


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


There's a 30 day window to cure violations: https://github.com/official-stockfish/Stockfish/blob/3597f19...

They said in their blog post that they've already tried to remedy this with no success.

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


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.


No it doesn’t. This is just the standard remedy method but doesn’t nullify the preceding which explicitly carves out the exception.

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.

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


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.


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


> 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


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


NN weights are not "compiled".

>> NN weights are not "compiled".

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


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.

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.


Does anyone have a link to Fat Fritz source? (or a diff against Stockfish?)

What about Houdini? That's their current violation.

Yay!

The importance of proving that open source licenses are still licenses, and are enforceable, cannot be overstated.


Management: But look, the sources are right there! I know because I downloaded them yesterday! Don't tell me it's not available!

This is also why intellectual property is such a mess.


That thread is for ChessBase. How does Fat Fritz come into this?

(Pardon my ignorance)


Fat Fritz is a product that ChessBase sells.

Chessbase owns Fat Fritz.

The very first sentence of this article is "The developers of the popular chess engine Stockfish formally filed a lawsuit against ChessBase GmbH this week."

The ChessBase software is very ugly and overpriced. Moreover it only works on PC. But heck, there is no better software than this :/

What?

They are talking about ChessBase the product. Ugly and expensive but the best in class.

OP is about other prosducts by ChessBase the company.


> the Stockfish devs have ultimately revoked ChessBase’s right to distribute Stockfish and derivative software

but this is not the goal they should have; this is the opposite of the ideal of open source and free (GPL) software.

I get that they're angry and desperate that they cannot force ChessBase play along with the free and open software movement but going all the way to "revoking" is going in the opposite direction of the intended goals of open source.

Shouldn't they be trying to force ChessBase to release their code??


I think revoking the license is the only tool in the toolbox that can force ChessBase to release their code. My understanding is that it is the action taken once it is determined that they are violating the terms of the agreement. It's the basis of the legal battle.

If you can't revoke the license when the terms are violated, you haven't got much of a license, have you?


Isn’t that what’s been attempted for years unsuccessfully? From my limited understanding ChessBase has been warned and informed they’re breaking the license for years.

This is explicitly included in the GPL as a punishment that can be executed against those that continually refuse to correctly follow the rules.

If someone doesn't want to follow the rules the answer isn't to force them to play and then wait for them to break them again. At somepoint you just have to say no.


non-exclusive digital property does not play well with markets based on exclusive property. this is a problem in principle.

therefore I see two broad directions:

1. someone finds a way to have a market-like entity which is compatible with non-exclusive goods (like digital goods are). I am not sure what this could be... I don't think anybody is.

2. we give up the advantages of non-digital exclusivity and make every instance of digital information "unique" (say, like NFTs) and then police out whoever has copies of such unique-exclusive. in short: artificially enforced digital-exclusivity for everybody; I guess kinda like DRM.

I think there's a broad social (ideological) motion pushing along the digital-exclusivity path (number 2 above) towards a vision which somehow allows some small specialist group to keep all the advantages brought about by digital-non-exclusivity. I say this because of the way corporations act around open source ("well maybe a little bit") and free software ("ugh, icky") and because of recent trends in common views of open source.


You're somewhat confused. They can absolutely force ChessBase to 'play along' since it has no right whatsoever to distribute someone else's copyrighted code without a license.

They kind of doing that. Publishing the code would allow them to get their license back I think.



Applications are open for YC Winter 2022

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: