> Thus, to enforce the consequences of the license termination, we have filed a lawsuit... We believe we have the evidence, the financial means and the determination to bring this lawsuit to a successful end.
The part about financial means stood out for me. All societies should work harder to ensure that money is not an impediment to obtaining justice.
I filed a lawsuit against someone who is using the money they stole frome to defend themselves. Basically if I win the money I get will be essentially gone and the Defendant will not have the means to pay anything back.
The more relevant question is: who is backing them and what do they hope to get out of this lawsuit? I wouldn't be surprised if this is paid for by some venture fund and that they are seeking financial compensation of some sort. I call BS on them trying to somehow helping the open source community by dishing out lawsuits. It's rather doing the opposite. Anyone using GPL-licensed software is going to be dead-scared to get sued by some copyleft fundamentalists.
Beyond the bar of affording a decent attorney, money really isn't an obstacle to obtaining justice in America, and I can only think the reason they wrote that into their press release was because their lawyers wanted to impress upon everyone that they wouldn't be limited or badgered in their methods of pursuit. It's far too early to cry foul or assume that the system is rigged against them.
"In particular, the license states that if one redistributes a program derived from our work, the corresponding modifications of our sources and all information needed to build that program must be made available. Only after explicitly informing Albert Silver (the author of the net in Fat Fritz 2) of a license violation have matching C++ sources, but not the net weights, been made available. Obviously, we condemn the approach taken."
The GPL's Termination clause allows Stockfish to terminate ChessBase's use of the license, but does anything prevent someone from forking the code and licensing it to Stockfish as an end around? It seems like it would be very difficult to enforce.
Forking the code doesn't fork the copyright ownership. Stockfish still owns the code under their copyright regardless of whether it lives in their repository or in some fork of their codebase.
A forked project doesn't have the right to grant people licenses to code which they don't own.
That would be a separate infringement. Once Stockfish wins their case against ChessBase, it would likely mean easier wins on any other infringement cases.
The viral nature of the GPL and other copyleft licenses expressly allow this and put a healthy fear of improper OSS reuse and deployment in most rational software companies.
The copy would be a derivative of Stockfish, and (IIUC) (NOTALAWYER) I believe by terminating ChessBase's use of the license directly they would also prevent ChessBase from using a derivative product. It shouldn't be any harder to enforce than any other copyright violation (and I'd bet the court would not be amused by ChessBase trying to do an end-run around their license issues by introducing a third party.
Surprisingly, I find myself slightly skeptical of Stockfish's claims, which is... a disquieting feeling. Could someone help me out by finding the flaw in my logic?
2. But the weights are already being released with the program they're selling. Otherwise, how would the program run? Why would they refuse, when they already distribute the weights with every copy of the program? I thought maybe Fat Fritz 2 was a cloud-hosted solution (weights aren't provided locally), but https://en.chessbase.com/post/running-leela-and-fat-fritz-on... seems to indicate it can run on a laptop with a GPU.
I suspect Stockfish may be trying to argue that whatever code was used to generate the weights is also covered under GPL, and that ChessBase is in violation because they refuse to release this code. I hope they don't try that argument, because it's certainly not true; you're free to train a chess engine however you want, insert the weights into a GPL'd program, and then are under no obligation to release the code to train the weights.
3. Setting aside the question of copyright entirely, it's unclear that Fat Fritz 2 is actually worse. Stockfish references https://www.sp-cc.de/ as an independent rating system, but if you look at the detail view (https://www.sp-cc.de/files/programs.dat) Fat Fritz 2 only seems to be compared to Stockfish 13 (210218) and not the latest versions of Stockfish.
I'm on Stockfish's side here, because I suspect ChessBase simply duplicated StockFish's training methodology and tried to pass it off as their own. (The engine's performance seems almost identical.) But I hope Stockfish has an airtight case for court. It'd be a bad idea to hinge the GPL violation on "they refused to release the neural net weight training code."
Typically you have stockfish source code, and human readable model file with weights. Build system and compiler bakes them together to produce binary. Inside the binary, the NNUE weights are no more readable than the source code, which is to say none at all (unless you have reverse engineering expertise). If providing the final binary counted, then there would be no such thing as GPL violation?
>> 2. But the weights are already being released with the program they're selling. Otherwise, how would the program run?
In the same way that, e.g. Windows can run from binaries, without distributing the source code? That is to say, the weights are in a binary format that is not amenable to re-use without decompilation and reverse-engineering.
The reason why they're going after them is because of their refusal to publish the weights of their network, yes, but that's not the basis for this lawsuit. After violating the GPL license, StockFish has terminated ChessBase's license. They are no longer allowed to run or distribute StockFish's code.
Given that the chess engine in question is just a tweaked version of Stockfish, this will have a severe impact on their ability to sell their product.
I'm not sure how this would work with derivative code, though. I wonder if they could take a fork of StockFish, which is not StockFish and therefore subject to a different license agreement, and go on their merry way. I don't think that tactic would work (the original author can still claim copyright over the code from the forked repository, I believe) but it might be a possible defence? I think? Not a great one, though.
I don't see any other way ChessBase can get out of this, unless the court decides that the termination clause is unlawful for some reason.
They mean that the weights are not open sourced. If the weights are distributed separately and not considered part of the "Corresponding Source", that may not be a GPL violation, and the blog post does not imply that it is. (They only say that they condemn the approach.)
> 2. But the weights are already being released with the program they're selling. Otherwise, how would the program run? Why would they refuse, when they already distribute the weights with every copy of the program? I thought maybe Fat Fritz 2 was a cloud-hosted solution (weights aren't provided locally), but https://en.chessbase.com/post/running-leela-and-fat-fritz-on... seems to indicate it can run on a laptop with a GPU.
The GPL can be interpreted to require that all the input necessary to reproduce and run a functioning binary must be distributed. If the weights and engine are integrated in one binary, and not "all the source code needed to generate, install, and run the object code and to modify the work, including scripts to control those activities" is provided, that could be a GPL violation. This does not apply if the weights are distributed separately under a different license.
> I'm on Stockfish's side here, because I suspect ChessBase simply duplicated StockFish's training methodology and tried to pass it off as their own. (The engine's performance seems almost identical.) But I hope Stockfish has an airtight case for court. It'd be a bad idea to hinge the GPL violation on "they refused to release the neural net weight training code."
They may have terminated the license in response to the Houdini revelations[1] which is another chess engine based on Stockfish that Chessbase has sold as original work, disguising its Stockfish origins in violation of the GPL.
As the GPLv3 says under Section 8 [2] the license can be reinstated if "this is the first time you have received notice of violation of this License (for any work) from that copyright holder" - the first violation would have been Fat Fritz 2.
FYI if anybody’s looking for a chessbase alternative I use a combination of SCID vs. PC, Caissabase, and Stockfish to roughly clone it. I’m sure chessbase has a lot more features but these alternatives are good enough for an amateur like me.
In an online course recently, one module involved an API with an attribution requirement that neither the instructor nor any student was aware of - they specifically described it as free use, no attribution required, because they were unaware. Despite there having been more than 20k previous students, I was the first person to mention mention this and link to the clause, and the instructor was surprised.
Almost everybody skips reading the terms and licenses of things
In the chess case, the team probably assumed that open source meant “do whatever you want,” and nobody dug any deeper than that, and now they’re getting sued
Edit: the comments below say that they knew about the license issue for years
This is a possibility in general, but not here. Chessbase has a long history with this sort of thing, and they've been called out repeatedly. They've even settled before, if I recall correctly.
This is entirely inaccurate. Chessbase is a company, and has been well aware of these licensing issues. They've purposefully renamed and scrubbed OS code to sell it for profit and pass it on as their own.
Just look in the about/credits link in just about any studio's game or software product and you will see it is standard practice to look over and include licenses as needed of all 3rd party libraries and code bases used in development and credit them as appropriate.
While the end user might be sloppy on checking the license aspect, developers certainly are aware at some stage, especially commercial developers by the time they create or modify their about dialog.
> Almost everybody skips reading the terms and licenses of things
Yeah, nobody reads this stuff. I've even seen developers fail to understand the implications of the license they're applying to their own code and then get mad when people do things that are allowed.
Most people will not actually go to court over any of this stuff either. Surprising to actually see someone getting sued over licenses nobody reads.
Any company past circa 2002sh or so, and definitely by 2005, is intimately aware of their intellectual property responsibilities, and, it's the opposite problem that I've run into - in which tons of strawmen are thrown up as to the danger of infecting products with open source licenses makes it dangerous to touch the code. One of the reasons why BSD licenses are so attractive to corporations, is that they run the lowest risk. GPLv3 is obviously a non-starter for most companies, with GPLv2 falling somewhere in the middle.
> leading developers of Stockfish have terminated their GPL license with ChessBase permanently.
Does this wording seem extremely weird to anyone else?
According to the GPL:
> You may not propagate or modify a covered work except
> as expressly provided under this License. Any attempt
> otherwise to propagate or modify it is void, and will
> AUTOMATICALLY TERMINATE your rights under this License
Capitalization added by me. Maybe it's a nitpick, but it seems to me that the "termination clause" as people are calling it, isn't something you "invoke" or a sword you use to slay people who violate the GPL. It's an automatic process which you, the copyright holder, don't really control in any way.
There is little practical difference between asking a court to enforce an automatic termination clause and asking a court to enforce the exercise of an option to terminate. One will require showing the automatic termination clause is triggered, the other will require showing the right to terminate arose. In either case they’re trying to get ChessBase to cease any use of the software, and they want a court to order them to stop because the consequences of violating a court order are substantial.
In a technical sense yes, the GPL avoided giving rights holders an option to terminate. There’s no such thing as automatic enforcement of these things though (well, not for GPL, music industry is a different story), so it is not a big difference. I’m pretty sure you could just send a violator a fresh copy of the code and establish a new license agreement with them, so it’s still up to the rights holder if they want to continue.
While I think it’s a shame that nobody has been able to sue ChessBase for their software being utter garbage, I will cheer on this equally worthy endeavour.
> leading developers of Stockfish have terminated their GPL license with ChessBase permanently.
Can the developers do this? I was under the impression that when code is published on the web GPL licensed, the developers cannot retroactively withdraw the license...
Or perhaps they are withdrawing the license for all new code... To publish some code as "GPL, available for all except this person"? Is that allowed? Even if that were allowed, someone else could use their rights under the GPL to redistribute it to that person...
I see lots of claims that there are no damages since Stockfish is free. I'm not a lawyer, but I don't think that argument is the end of the story. Google Vs Oracle was over code that was public and given away for free, and Oracle was asking for $8.8 Billion US. They didn't get anything on account of copyright not applying in the case, but there's no doubt some very significant money would have changed hands if it went the other way.
The license itself may not discriminate, but they may issue (and subsequently revoke) the license to whom they will. It's like some companies licensing with AGPL and then issuing LGPL or even proprietary licenses to whoever pays them for it (so they can use it in their projects at their own discretion).
[+] [-] apetresc|4 years ago|reply
[+] [-] Lordarminius|4 years ago|reply
The part about financial means stood out for me. All societies should work harder to ensure that money is not an impediment to obtaining justice.
[+] [-] encryptluks2|4 years ago|reply
[+] [-] hankman86|4 years ago|reply
[+] [-] erfgh|4 years ago|reply
[+] [-] noduerme|4 years ago|reply
[+] [-] gaius_baltar|4 years ago|reply
[1] https://store.steampowered.com/app/1587750/Fat_Fritz_20_SE/
[+] [-] ngngngng|4 years ago|reply
Ah yes, the $80 Stockfish engine.
[+] [-] mimsee|4 years ago|reply
[+] [-] TheGoodBarn|4 years ago|reply
[+] [-] nichch|4 years ago|reply
What do they mean by this?
[+] [-] dang|4 years ago|reply
Open source chess developers warn about a commercial engine based on Stockfish - https://news.ycombinator.com/item?id=26185139 - Feb 2021 (130 comments)
I thought there were others - maybe someone will find one?
[+] [-] bluesign|4 years ago|reply
"In particular, the license states that if one redistributes a program derived from our work, the corresponding modifications of our sources and all information needed to build that program must be made available. Only after explicitly informing Albert Silver (the author of the net in Fat Fritz 2) of a license violation have matching C++ sources, but not the net weights, been made available. Obviously, we condemn the approach taken."
[+] [-] FlyingAvatar|4 years ago|reply
[+] [-] admax88q|4 years ago|reply
A forked project doesn't have the right to grant people licenses to code which they don't own.
[+] [-] ahmedalsudani|4 years ago|reply
[+] [-] r00fus|4 years ago|reply
The viral nature of the GPL and other copyleft licenses expressly allow this and put a healthy fear of improper OSS reuse and deployment in most rational software companies.
[+] [-] mcguire|4 years ago|reply
[+] [-] sillysaurusx|4 years ago|reply
1. ChessBase was in violation of the GPL, but then cured the violation by releasing code (https://stockfishchess.org/blog/2021/statement-on-fat-fritz-...). But the post claims they refused to release the weights.
2. But the weights are already being released with the program they're selling. Otherwise, how would the program run? Why would they refuse, when they already distribute the weights with every copy of the program? I thought maybe Fat Fritz 2 was a cloud-hosted solution (weights aren't provided locally), but https://en.chessbase.com/post/running-leela-and-fat-fritz-on... seems to indicate it can run on a laptop with a GPU.
I suspect Stockfish may be trying to argue that whatever code was used to generate the weights is also covered under GPL, and that ChessBase is in violation because they refuse to release this code. I hope they don't try that argument, because it's certainly not true; you're free to train a chess engine however you want, insert the weights into a GPL'd program, and then are under no obligation to release the code to train the weights.
3. Setting aside the question of copyright entirely, it's unclear that Fat Fritz 2 is actually worse. Stockfish references https://www.sp-cc.de/ as an independent rating system, but if you look at the detail view (https://www.sp-cc.de/files/programs.dat) Fat Fritz 2 only seems to be compared to Stockfish 13 (210218) and not the latest versions of Stockfish.
I'm on Stockfish's side here, because I suspect ChessBase simply duplicated StockFish's training methodology and tried to pass it off as their own. (The engine's performance seems almost identical.) But I hope Stockfish has an airtight case for court. It'd be a bad idea to hinge the GPL violation on "they refused to release the neural net weight training code."
[+] [-] natrys|4 years ago|reply
[+] [-] YeGoblynQueenne|4 years ago|reply
In the same way that, e.g. Windows can run from binaries, without distributing the source code? That is to say, the weights are in a binary format that is not amenable to re-use without decompilation and reverse-engineering.
[+] [-] jeroenhd|4 years ago|reply
Given that the chess engine in question is just a tweaked version of Stockfish, this will have a severe impact on their ability to sell their product.
I'm not sure how this would work with derivative code, though. I wonder if they could take a fork of StockFish, which is not StockFish and therefore subject to a different license agreement, and go on their merry way. I don't think that tactic would work (the original author can still claim copyright over the code from the forked repository, I believe) but it might be a possible defence? I think? Not a great one, though.
I don't see any other way ChessBase can get out of this, unless the court decides that the termination clause is unlawful for some reason.
[+] [-] codehotter|4 years ago|reply
They mean that the weights are not open sourced. If the weights are distributed separately and not considered part of the "Corresponding Source", that may not be a GPL violation, and the blog post does not imply that it is. (They only say that they condemn the approach.)
> 2. But the weights are already being released with the program they're selling. Otherwise, how would the program run? Why would they refuse, when they already distribute the weights with every copy of the program? I thought maybe Fat Fritz 2 was a cloud-hosted solution (weights aren't provided locally), but https://en.chessbase.com/post/running-leela-and-fat-fritz-on... seems to indicate it can run on a laptop with a GPU.
The GPL can be interpreted to require that all the input necessary to reproduce and run a functioning binary must be distributed. If the weights and engine are integrated in one binary, and not "all the source code needed to generate, install, and run the object code and to modify the work, including scripts to control those activities" is provided, that could be a GPL violation. This does not apply if the weights are distributed separately under a different license.
> I'm on Stockfish's side here, because I suspect ChessBase simply duplicated StockFish's training methodology and tried to pass it off as their own. (The engine's performance seems almost identical.) But I hope Stockfish has an airtight case for court. It'd be a bad idea to hinge the GPL violation on "they refused to release the neural net weight training code."
They may have terminated the license in response to the Houdini revelations[1] which is another chess engine based on Stockfish that Chessbase has sold as original work, disguising its Stockfish origins in violation of the GPL.
As the GPLv3 says under Section 8 [2] the license can be reinstated if "this is the first time you have received notice of violation of this License (for any work) from that copyright holder" - the first violation would have been Fat Fritz 2.
[1] https://groups.google.com/g/fishcooking/c/DygaIdBvJm0 [2] https://github.com/official-stockfish/Stockfish/blob/sf_14/C...
[+] [-] camjohnson26|4 years ago|reply
https://sourceforge.net/projects/scidvspc/ http://caissabase.co.uk/
[+] [-] jeremyjh|4 years ago|reply
Build an opening repertoire from PGNs.
Drill that using spaced repetition (like Chessable)
Import all my games from Lichess and Chess.com
Tell me when I deviate from my repertoire in those games.
Do you know of a software or combo that can achieve that?
[+] [-] alisonkisk|4 years ago|reply
[+] [-] radicalcentrist|4 years ago|reply
[+] [-] Rd6n6|4 years ago|reply
Almost everybody skips reading the terms and licenses of things
In the chess case, the team probably assumed that open source meant “do whatever you want,” and nobody dug any deeper than that, and now they’re getting sued
Edit: the comments below say that they knew about the license issue for years
[+] [-] apetresc|4 years ago|reply
[+] [-] dkural|4 years ago|reply
[+] [-] molticrystal|4 years ago|reply
While the end user might be sloppy on checking the license aspect, developers certainly are aware at some stage, especially commercial developers by the time they create or modify their about dialog.
[+] [-] matheusmoreira|4 years ago|reply
Yeah, nobody reads this stuff. I've even seen developers fail to understand the implications of the license they're applying to their own code and then get mad when people do things that are allowed.
Most people will not actually go to court over any of this stuff either. Surprising to actually see someone getting sued over licenses nobody reads.
[+] [-] ghshephard|4 years ago|reply
[+] [-] phendrenad2|4 years ago|reply
Does this wording seem extremely weird to anyone else?
According to the GPL:
> You may not propagate or modify a covered work except
> as expressly provided under this License. Any attempt
> otherwise to propagate or modify it is void, and will
> AUTOMATICALLY TERMINATE your rights under this License
Capitalization added by me. Maybe it's a nitpick, but it seems to me that the "termination clause" as people are calling it, isn't something you "invoke" or a sword you use to slay people who violate the GPL. It's an automatic process which you, the copyright holder, don't really control in any way.
IANAL, obviously.
[+] [-] cormacrelf|4 years ago|reply
In a technical sense yes, the GPL avoided giving rights holders an option to terminate. There’s no such thing as automatic enforcement of these things though (well, not for GPL, music industry is a different story), so it is not a big difference. I’m pretty sure you could just send a violator a fresh copy of the code and establish a new license agreement with them, so it’s still up to the rights holder if they want to continue.
[+] [-] thom|4 years ago|reply
[+] [-] rocketcity|4 years ago|reply
[+] [-] spywaregorilla|4 years ago|reply
[+] [-] tequila_shot|4 years ago|reply
[+] [-] rataata_jr|4 years ago|reply
[+] [-] fourseventy|4 years ago|reply
[+] [-] londons_explore|4 years ago|reply
Can the developers do this? I was under the impression that when code is published on the web GPL licensed, the developers cannot retroactively withdraw the license...
Or perhaps they are withdrawing the license for all new code... To publish some code as "GPL, available for all except this person"? Is that allowed? Even if that were allowed, someone else could use their rights under the GPL to redistribute it to that person...
[+] [-] subroutine|4 years ago|reply
(n.b. National Chess Day is today)
[+] [-] snow_mac|4 years ago|reply
[+] [-] anonymousiam|4 years ago|reply
https://www.zdnet.com/article/linux-developer-abandons-vmwar...
[+] [-] gmiller123456|4 years ago|reply
[+] [-] yoyoplayer|4 years ago|reply
"developers of Stockfish have terminated their GPL license with ChessBase permanently"
https://www.debian.org/social_contract states:
"The license must not discriminate against any person or group of persons."
Thus, is Stockfish no longer DSFG?
[+] [-] yoyoplayer|4 years ago|reply
https://opensource.stackexchange.com/questions/7190/gpl-exce...
Q14 on https://people.debian.org/~bap/dfsg-faq.html
https://debian-legal.debian.narkive.com/HciZR18l/nmap-licens...
My impression is that enacting the termination clause of GPL makes Stockfish non-DSFG.
If the Stockfish developers believe a party has broken the terms of a license, they can do any of:
* enact the termination clause, and thus make Stockfish non-DSFG
* raise a court case against the party for breach of license
The Stockfish developers happen to have done both.
[+] [-] detaro|4 years ago|reply
[+] [-] aliswe|4 years ago|reply