In a case that could be an interesting test of the GPL v3 license, open source chess engine Stockfish recently announced a lawsuit against ChessBase. ChessBase is a company that sells a variety of chess products, including software programs, databases, training, and a magazine.
The dispute stems from the way ChessBase used Stockfish’s GPL v3-licensed code in two products: Fat Fritz 2 and Houdini 6. There’s consensus that Fat Fitz 2 and Houdini 6 are derivative works of Stockfish’s GPL 3-licensed code — but Stockfishes alleges ChessBase did not comply with the requirements that apply to derivative works.
As a result of these alleged numerous license violations, Stockfish decided to terminate its license with ChessBase. However, while ChessBase no longer sells Houdini 6, it has continued to sell a version of Fat Fritz 2. Stockfish’s litigation, which will reportedly be heard in a German court, seeks to prevent ChessBase from distributing “Stockfish, modified or unmodified, as part of their products.”
To help contextualize and analyze the lawsuit, we reached out to Heather Meeker, one of the world’s foremost legal experts on open source software licensing and compliance. In this blog, Heather addresses two specific questions that could surface during the proceedings.
Thank you for submitting details. Your email address is added to our subscription list.
Question 1: GPL and Neural Network Weights
Stockfish is distributed under GPL v3, which is a strong copyleft open source software license. As such, anyone is free to use Stockfish’s code, but there are requirements that come with distribution. Specifically, anyone who distributes derivative works of Stockfish’s code in binary form must make available the corresponding source code under GPL v3.
But while ChessBase has now made available source code for Fat Fritz 2 SE, there’s still debate around whether the product is fully compliant with GPL v3. That’s because ChessBase has not disclosed the neural network weights. But whether GPL requires disclosure of neural network weights is far from clear.
Weight is the parameter within a neural network that transforms input data within the network's hidden layers. A neural network is a series of nodes, or neurons. Within each node is a set of inputs, weight, and a bias value. As an input enters the node, it gets multiplied by a weight value and the resulting output is either observed, or passed to the next layer in the neural network.
This raises the question: Do GPL v3’s disclosure requirements extend to neural network weights? We reached out to Heather Meeker for her analysis on the matter.
“The GPL does not speak specifically to the treatment of ML models created for GPL code. The challenge to interpreting GPL for ML applications is that neural network weights exist at the intersection of code and data.
FSF (the Free Software Foundation) has long advanced the position that all code linked into a GPL program is part of the same work of authorship, and therefore the combination is a derivative work and must all be available under GPL. This position has not been thoroughly tested as a matter of law, but it is widely accepted as industry practice.
However, suggesting that the GPL also covers neural network weights created by or for use with GPL code goes beyond this position. Models and weights are not the same as linked code or libraries. The relationship between GPL code and a model created with it is usually a relationship of software to data — not software to software. Therefore, claiming that GPL code requires resulting models to be licensed under GPL is a tenuous position.
Even the FSF does not seem to support that position, in its FAQs about GPL. The FSF says it is “legally impossible” for the GPL cover the output of GPL programs.” - Heather Meeker
Question 2: GPL v3 and License Termination
Stockfish vs. ChessBase could also prove an interesting test of another provision in GPL v3: the ability to terminate the license. This goes to the very core of Stockfish’s dispute with ChessBase.
Here’s what Stockfish wrote in its July 20, 2021 blog announcing the lawsuit:
Due to ChessBase’s repeated license violations, leading developers of Stockfish have terminated their GPL license with ChessBase permanently. However, ChessBase is ignoring the fact that they no longer have the right to distribute Stockfish, modified or unmodified, as part of their products. Thus, to enforce the consequences of the license termination, we have filed a lawsuit.
However, what if a court determines that ChessBase need not disclose neural network weights for Fat Fritz 2 SE and is actually currently in compliance with GPL v3? Does the fact that ChessBase used to be non-compliant give Stockfish the right to terminate its license?
We posed that question to Meeker:
“GPL v3 does have a cure period, unlike GPL v2,” Meeker says. “For GPL v2, when there is a license violation, the license automatically terminates. For GPL v3, the license can be restored. So this case might be an interesting test of the termination and cure provisions of GPL v3 and how they work in practice.” - Heather Meeker
Two additional notes:
- GPL v3’s cure period is 30 days from notification of a license violation. So, if a court finds ChessBase did not cease license violations within 30 days of receiving notice, a court may find that reason to enforce license termination.
- The cure provision only holds for the first time an OSS user receives notice of violation of GPL v3 from a given copyright holder. So, if a court finds Stockfish previously provided ChessBase notice of a GPL v3 violation, that also may impact its decision.
Stockfish vs. ChessBase: The Bottom Line
Ultimately, Stockfish vs. ChessBase could prove an interesting test of two provisions in the GPL 3 open source software license related to license termination and neural network weight disclosure. For updates on the case, keep an eye on Stockfish’s blog and this post.
About FOSSA: It’s estimated that upwards of 90% of the components in modern applications are open source, which means engineering, legal, and security teams face increasing challenges in the areas of license compliance and vulnerability management. FOSSA is a software composition analysis tool that makes it easy for organizations to understand and address compliance and security issues in their use of OSS. Feel free to get in touch with our team for more information.
About Heather Meeker: Heather Meeker is a globally recognized expert on open source software licensing and compliance. She’s authored the go-to book on the topic, and is a Partner in the Mergers and Acquisitions group at O'Melveny & Myers LLP and a Founding Portfolio Partner at OSS Capital.