Fat Fritz II and Stockfish- A Computer Chess Controversy
Anyone who's been paying any attention to chess Twitter or Twitch in the past few days will have heard of Fat Fritz II, the new chess engine from ChessBase and Albert Silver. They also will know that it's ignited a controversy that's spread well beyond the insular computer chess community.
Seriously, how often do GM Hikaru Nakamura and GM Anish Giri mention the Stockfish developers on Twitter?
So there is a guy who made an engine for free then there is a guy who made another neural net for the same engine for cash and then there is a guy who wants to have both the guys on his stream for subs.
— Anish Giri (@anishgiri) February 20, 2021
I am in here for the likes, I ain't retiring.#ChessDrama https://t.co/tgjtsZGNtl
What is Fat Fritz II? What does Stockfish have to do with this? And why is everyone so angry? That's what I'm here to explain!
Who would name their engine "Fat Fritz"?
ChessBase has been releasing the "Fritz" line of engines since the early 90s. It was among the strongest engines in the world for a number of years, and famously played matches against GM Kasparov and GM Kramnik. However, its improvement stagnated and by 2019, Fritz 17 was nowhere near the world's strongest.
Calling these new engines "Fat Fritz" was an attempt to both capitalize on the fame of "Fritz", while signalling that the engine was new and improved.
What was Fat Fritz I?
Fat Fritz I was, to put it bluntly, Lc0 with a different network. Some changes were made, including a slightly different network architecture and small modifications to the Lc0 code. The biggest difference from Lc0 was a new set of network weights, which Silver claimed were obtained from supervised (non-reinforcement) learning.
Lc0 was (and remains) free. Fat Fritz cost €79.90 upon release, and was backed by an impressive marketing campaign.
What about Fat Fritz II?
Fat Fritz II is, to put it bluntly (again), Stockfish with a different network. As before, there are small changes to the Stockfish code, and a slightly different network architecture. The network weights are new, and supposedly obtained from data generated by Fat Fritz I.
Stockfish is free. Fat Fritz 2 costs €99.90, and there was much less marketing this time around.
Why can someone sell Stockfish? Isn't it open source?
Stockfish 12 is licensed under the GNU General Public License v3.0. That license allows anyone to sell the software, as long as they "make sure that (recipients), too, receive or can get the source code." The seller also must make sure the recipients know what their rights are under the license.
So, yes. You can sell Stockfish if you want. The fact that Silver made modifications makes little difference, as long as he also provided the new source code (and, presumably, weights file) to anyone who requested it.
It's hard to imagine how the GPL could be violated if the entirety of the Fat Fritz II source code and weights file have been released and is freely available online. However, it's unclear if the weights file released by Silver is actually the one used by Fat Fritz II (more on that later).
It's also unclear if the weights file matters to this discussion at all, since the copyrighting of neural network weights is a new and confusing area of law.
Legality aside, I'm skeptical that this will ever go to court. Silver is in Brazil; ChessBase is in Germany; Team Stockfish is spread around the world. There would be both a significant cost and time investment to bring such a claim, and it's not clear what Team Stockfish would have to gain.
But why are people so much angrier about Fat Fritz II, than they were about Fat Fritz I?
For one thing, it's the second time Silver and Chessbase have sold something based on an open-source engine. The Lc0 and Stockfish teams are extremely friendly; each takes offense for something that happens to the other.
Also, there's a long history of engines copying Stockfish, and not giving credit. Most recently, Houdini 6 and Fire were shown to have been near-copies of old Stockfish versions. SugaR is definitely just a Stockfish clone.
Stockfish people really, really hate clones.
I read in a ChessBase article that Fat Fritz II was the #1 engine. Is that true?
Fat Fritz II is not the strongest engine. The two most-trusted independent testing sites have Fat Fritz II firmly behind Stockfish 13:
CCRL: https://ccrl.chessdom.com/ccrl/4040/
Pohl's: https://www.sp-cc.de/
Notice that Pohl lists two different strengths for Fat Fritz- one copy purchased from Chessbase (.avx2), and the other compiled from the released weights and source code (github). They are substantially different, which is why there is some speculation that the released weights might not be the "real" weights.
But ChessBase had a test showing Fat Fritz II was stronger!
Never trust an author's claims about his own engine. Wait until someone else tests it.
There are a number of reasons why ChessBase's results might be misleading. First is the strange number of games; 1552 is a bizarre (and suspicious!) number of games. Ideally it would have (for example) 10,000 games, and that number would have been determined before the test.
Second, Silver picked his own set of test openings. Engines are known to perform well (or badly) in different types of positions, so a custom opening book could introduce a huge bias. The best policy would be to use some established test book, like the CCRL's (which is publically available).
But it must be noted, lots of chess engine authors make unjustified claims about their engines. Silver isn't alone here.
So you're saying that the claims ChessBase made about Fat Fritz II were false?
It's advertising. I'm not sure how much to expect from a site attempting to sell its product. (Maybe I'd feel differently if I had paid money to ChessBase because I believed that Fat Fritz II was stronger than Stockfish.)
What the Stockfish people are angriest about, is how much credit ChessBase's articles give Silver. Stockfish lists 180 authors, who have contributed untold hours of work for more than a decade. The amount of work Silver did is surely far, far less. ChessBase's articles tend to leave that fact out.
So people are angry, but has anyone actually done anything about it?
Stockfish released a statement. Words were exchanged between Silver and Team Stockfish in the Stockfish Discord. ChessBase hasn't said anything official yet. If the core developers of Team Stockfish are discussing legal options, they're keeping quiet.
Stockfish and Lc0 have also committed to working together, in a display of support for open-source ideals. But it's unclear what that means- there's already a huge crossover of contribution between the two projects.
Finally, Stockfish 13 was just released, slightly ahead of schedule. The Stockfish people are hoping this convinces people not to buy Fat Fritz II.
Will we see Fat Fritz II in engine competitions?
It's possible, but unlikely.
The TCEC has said they'll never use any of Silver's engines ever again after the DeusX fiasco (which is another thing entirely, and another reason why Teams Stockfish and Lc0 don't like Silver).
The current CCC tournament director is an author of both Stockfish and Ethereal. I don't believe he would run Fat Fritz II.
What's next?
Hikaru Nakamura invited Stockfish/Lc0 and ChessBase/Silver onto his stream to present their points of view.
That would be quite entertaining, but ultimately I think it's a bad idea for both sides to accept. Neither side really has anything to gain by confronting the other- ChessBase just needs this story to go away, and the Stockfish people should avoid getting dragged into the mud.
But if it happens, I'll definitely be watching.
Thanks for reading! Hopefully you learned something. Please do follow my blog, and leave a comment!