Full Matthias Wüllenweber Interview
As you understand it, why are the Stockfish and Leela teams upset with you?
In the publication process of Fat Fritz 2, I made several mistakes. Consequently, the Stockfish authors are now quite angry at us, and I can fully understand this. The most serious error was to not describe the project to them beforehand. If they had objected, we would have canceled it. Another error was to do overzealous boasting about Fat Fritz on our website. While we believed that the new neural net was original and valuable, this marketing downplayed Stockfish in an unacceptable manner. Those articles were naturally read and quoted widely, while nobody saw the official advertising and packaging which always said “Based on the open-source engine Stockfish” as the very first claim.
Therefore, I see myself now in conflict with two developers which I respect: Tord Romstad, lead developer of Play Magnus and Stéphane Nicolet who contributed countless valuable ideas to Stockfish. I identify with them: Until today I wrote about one million lines of chess related code and 100,000 lines for write-music.com, so fighting those guys with tooth and nails in court rather than just admiring them, is really no fun.
About Leela: Before Fat Fritz 1, I described our intentions to Alexander Lyashuk whom I saw as central in the project. I understand that he communicated this to other Leela contributors. If they would have objected, we would not have published.
Did ChessBase fulfill the requirements of the licenses of Stockfish and Leela?
With Stockfish we did not fulfill the GPLv3 requirements and frantically scrambled to fix this within days of the first publication. The fault that most annoyed me was that the original version somehow entangled the new neural network in a way with the engine that made it unusable in any other context. A clear violation. We fixed it immediately, but it was [in]correctly perceived as bad intention. Once in your life you have this project where everything that can go wrong goes wrong.
Does any version of Houdini contain any code from any version of Stockfish?
Please understand my strong emotional bias and natural tendency to defend our authors: When Stockfish 1 was published, we already had 16 years of computer chess behind us. During this time, one of our engines, Fritz, defeated IBM Deep Thought in one of the most prestigious computer chess world championships ever. We have played several matches against human world champions. I personally had closed publication deals with nearly all the top engine authors and computer chess world champions since then. There was incredible cool stuff like the Israeli world champion "Junior" written by the inventor of the USB stick. The Brutus FPGA hardware which was later funded by a Sheik in Abu Dhabi. The highly original serial World Champion Shredder. The controversial but totally dominating Rybka by one of the most creative guys I have ever met. I always thought that I could tell the legitimation of a project just by talking to the guys even before testing the first versions.
In the case of Robert Houdart, I found him especially interesting because he built a gigantic telescope with a mirror of 100cm (!) in diameter and thus shares my passion of shivering outside at night and observing the universe. A couple of weeks ago, I looked at the code samples demonstrated by the plaintiffs. I assume that from Stockfish’s viewpoint they provided the stuff that concerned them most. To me it seemed clear that both programs use the same ideas in those code snippets. Ideas of originality and value. To me it seemed also clear that Houdart expressed those ideas in his own words, where his implementation was sometimes quite efficient or at least different from the Stockfish sample. You can't just transplant code from one engine to another, you must understand every millimeter to make it fit your search, your evaluation, to tune & test it.
I find it a bit ironic that the whole dispute now seems to come down to defending the code of another guy whom we didn’t even have an exclusive deal with and trying to second-guess what he did and thought.
Do you believe that Fat Fritz 1 or 2 is or was a stronger engine than Leela and Stockfish respectively?
It was in our contracts with Albert that we would only publish if he could prove beating the original programs in direct matches with a safe (reproducible) statistical margin. This seemed the simplest approach to judge the originality of his work. You can't beat something if you clone it. We would never have published if those results were unconvincing.
Strength is the most important quality of a chess software. It must evaluate a position correctly! But the dominating quest for strength and engine-vs-engine ratings might neglect an essential thing: Nowadays chess engines are used almost exclusively for analysis. Nobody plays them directly and nobody plays engine matches anymore. I think it is our responsibility to work more closely with engine authors to improve analysis functionality. In an ideal world, we would discuss this e.g. with members of the Stockfish team. This could be a nice step for everybody because engine output is nearly unchanged for 30 years. Maybe they find this boring, then we could also contribute to the Stockfish code directly, provided those ideas do not harm the speed of the engine.
Tell us about Albert Silver, does he still work for you? Is Albert Silver a software developer? Can you point to a piece of software he developed?
The connotations of this question aim at the heart of the dispute. What kind of value did Alberts work have? He replaced Stockfish’s neural network with a bigger one that he trained by means of a different strategy. As I understand it, he relied much more on existing grandmaster and computer games than on self-play. This yielded refreshingly contrasting results in engine analysis and seemed to play reasonably strong. It took him nearly a year to get there and we supported his considerable test hardware requirements. So "proof of work" was there, but as said above, I took a simpler black box approach to gauge the originality of this project: We agreed that we would publish only if the new neural net could beat Stockfish 12 in matches.
Let me try this rough analogy: Stockfish has the complexity and brilliancy of a human brain. It makes a difference what you teach this brain. You can put it into a dark cave, or you can show it the wonders of the world. The awesomeness of the people who created the brain does not devalue the work of a teacher. But obviously a teacher should not claim that he invented the brain.
Finally the discussion underemphasizes functionality and content of the whole Fat Fritz package. The UI is pretty rich. In analogy: If you describe the user benefits and functionality of Lichess you would certainly point to the power of Stockfish in it. But Lichess is so much more than that.
As I understand it, the Stockfish team wants to prevent ChessBase from using their software in the future. If you would have cancelled Fat Fritz over their objections, why not simply agree to not use Stockfish going forward?
Stockfish’s public reaction to Fat Fritz 2 was quite painful and hurt us. Maybe we deserved some punishment. However now singling us out while competitors drive many monetarization schemes based on Stockfish feels like something one should stand up to.
Fat Fritz 2 is water on the bridge. To repeat – we are extremely interested in enhancing engines for analysis. I looked at the Stockfish code curiously for the first time after we received the complaint (Yes, that was a bit late). I like the concise elegance of its style and learned some idioms with C++ templates. Frankly it’s really tempting to play around with. In a transparent way and ideally under some friendly guidance from the community. That’s why we would like to keep using Stockfish