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.
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?
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.
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
In any case, good luck with the interview!
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.
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.
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.
Section 8 of the GPLv3 :
> 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.
> 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.
There was a comment addressing that yesterday
The form matters.
I don't know; I want to agree, but this is fraught with peril.
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.
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
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".
Can you show me where in my comment above I used the word "compiled"?
I think the second sentence of my earlier comment detracts from this point and I should have left it out.
The importance of proving that open source licenses are still licenses, and are enforceable, cannot be overstated.
(Pardon my ignorance)
OP is about other prosducts by ChessBase the company.
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??
If you can't revoke the license when the terms are violated, you haven't got much of a license, have you?
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.
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.