I am creating a commercial chess app and would like to use Stockfish 11 from github to do the position evaluation, if possible. But on reading the GPL-3.0 license, it is making my head spin.
My intention is to provide the typical login for a website, and a monthly subscription. But this license seems to imply that I would have to give out my entire source code for this commercial site if I used any of the Stockfish code for position evaluation.
Is my understanding correct, or have I misinterpreted this? Sites like Chess.com and Chessable use Stockfish, but I don't see them offering me their codebase! Anyone know the truth of this or care to clarify?
Stockfish licensing question
Moderators: hgm, Rebel, chrisw
-
- Posts: 174
- Joined: Thu Nov 26, 2020 10:06 am
- Full name: Niels Abildskov
Re: Stockfish licensing question
If I understand it correctly, according to Stockfish's license, you have to 1) Make it clear that the analysis is done by Stockfish, 2) Make it free, and 3) If you make any changes to the engine itself, you have to make it public and announce it.
I think that the way sites like chess.com get away with using Stockfish for analysis is that their "game analysis" feature is made by them. They make it clear that they're using Stockfish, but their way of interpreting its evaluations are made by them.
This means that you can create a feature where the app interprets Stockfish's results, but you need to make the simple and normal analysis available to all users.
I am not 100% that this is correct, so don't take my word blindly.
I think that the way sites like chess.com get away with using Stockfish for analysis is that their "game analysis" feature is made by them. They make it clear that they're using Stockfish, but their way of interpreting its evaluations are made by them.
This means that you can create a feature where the app interprets Stockfish's results, but you need to make the simple and normal analysis available to all users.
I am not 100% that this is correct, so don't take my word blindly.
-
- Posts: 216
- Joined: Sun Jan 22, 2017 8:30 pm
- Location: Russia
Re: Stockfish licensing question
Those sites are using the SaaS loophole. Generally, that way to use software covered by GPL is risky because placing any code on the client side may count as distribution. However, it's fairly safe in the chess case because the authors are unlikely to bother to sue the offenders.
Anyway, use Arasan instead of Stockfish if you just need an engine that's stronger than any human and would like to play safe.
Anyway, use Arasan instead of Stockfish if you just need an engine that's stronger than any human and would like to play safe.
-
- Posts: 82
- Joined: Wed Nov 28, 2018 1:28 pm
- Full name: Heinrich Pulliter
Re: Stockfish licensing question
GPL doesn't mean your software has to be free. GPL doesn't have a price tag.
You need to make your project under GPL too if you included Stockfish as source code and available as source code on request.
Note: Some marketplaces like the iOS Appstore aren't GPL compatible even you see GPL software on the Appstore .
For Android apps it's easier: you can sideload a Stockfish binary into your chess app - then GPL doesn't add up to your project.
Last edited by purechess on Sun Mar 14, 2021 7:24 pm, edited 2 times in total.
-
- Posts: 82
- Joined: Wed Nov 28, 2018 1:28 pm
- Full name: Heinrich Pulliter
Re: Stockfish licensing question
They load Stockfish as a binary on their servers I guess then their code isn't under GPL automatically
And btw Lichess ...is open source and they published their code
Last edited by purechess on Sun Mar 14, 2021 7:27 pm, edited 2 times in total.
-
- Posts: 396
- Joined: Sat May 05, 2012 2:48 pm
- Full name: Oliver Roese
Re: Stockfish licensing question
You can definitely probe here for the sentiment of potential customers. But best is, to consult a lawyer, should cost no more than 100-200€. In any case, you should read the damned license, did you do that? Read the definitions section. I mean, if your stockfish 11 (why 11 and not 13 btw?) sits on your server only, you should be 100% safe, nobody can ask you anything.
If you "distribute" stockfish along with your own application, troubles start. The questions is: Is your application "completely separate" from stockfish? If not, it is a "derived work" and you don't like that.
What means "completely separate"? This is up to the court to decide. My guess runs as follows: The GPL was written 1989. At that time internet was practically non existent and it was common to distribute shareware together with free software and other stuff on disquettes or CD's. If distributors would fear to get in legal trouble by distributing free software along with unknown other stuff, i believe this would have been the end of free software at that time. Therefore i am currently guessing the GPL was intended to allow this use case, obviously it benefits free software.
If you "distribute" stockfish along with your own application, troubles start. The questions is: Is your application "completely separate" from stockfish? If not, it is a "derived work" and you don't like that.
What means "completely separate"? This is up to the court to decide. My guess runs as follows: The GPL was written 1989. At that time internet was practically non existent and it was common to distribute shareware together with free software and other stuff on disquettes or CD's. If distributors would fear to get in legal trouble by distributing free software along with unknown other stuff, i believe this would have been the end of free software at that time. Therefore i am currently guessing the GPL was intended to allow this use case, obviously it benefits free software.
-
- Posts: 82
- Joined: Wed Nov 28, 2018 1:28 pm
- Full name: Heinrich Pulliter
Re: Stockfish licensing question
Not 100% correct. If you use Stockfish as a binary which your software side-loads then GPL doesn't kick in. But if you need to compile the Stockfish sources (like on iOS) then your project is under GPL tooBeyondCritics wrote: ↑Sun Mar 14, 2021 7:22 pm
If you "distribute" stockfish along with your own application, troubles start.
-
- Posts: 2488
- Joined: Tue Aug 30, 2016 8:19 pm
- Full name: Rasmus Althoff
Re: Stockfish licensing question
Not in this case. You only need to make the source code available to those whom you convey the (modified or non-modified) Stockfish binary to. Since this engine binary runs only on your server and hence is not conveyed to anyone, the GPL doesn't demand anything. This scenario is specifically what the AGPL was designed to cover, but Stockfish is not under AGPL.
What is transmitted to the client are the data Stockfish generates, e.g. PVs and evaluations. Data generated by GPL programs do not fall under the GPL. If you write a text using an editor that is under GPL, your text does not become GPL'ed.
Rasmus Althoff
https://www.ct800.net
https://www.ct800.net
-
- Posts: 300
- Joined: Mon Apr 30, 2018 11:51 pm
Re: Stockfish licensing question
What Ras said, with one caveat: This is assuming Stockfish is running on your servers, not included in the client-side code (e.g. via JavaScript, or otherwise run locally on the phone).
-
- Posts: 300
- Joined: Mon Apr 30, 2018 11:51 pm
Re: Stockfish licensing question
PS: If the GPL makes your head spin, try to understand the Microsoft EULA once =)