Stockfish licensing question

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Jon12345
Posts: 80
Joined: Tue May 11, 2010 6:18 pm

Stockfish licensing question

Post by Jon12345 »

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?
Jon
niel5946
Posts: 174
Joined: Thu Nov 26, 2020 10:06 am
Full name: Niels Abildskov

Re: Stockfish licensing question

Post by niel5946 »

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.
Author of Loki, a C++ work in progress.
Code | Releases | Progress Log |
Tony P.
Posts: 216
Joined: Sun Jan 22, 2017 8:30 pm
Location: Russia

Re: Stockfish licensing question

Post by Tony P. »

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.
purechess
Posts: 82
Joined: Wed Nov 28, 2018 1:28 pm
Full name: Heinrich Pulliter

Re: Stockfish licensing question

Post by purechess »

niel5946 wrote: Sun Mar 14, 2021 6:28 pm Make it free
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.
purechess
Posts: 82
Joined: Wed Nov 28, 2018 1:28 pm
Full name: Heinrich Pulliter

Re: Stockfish licensing question

Post by purechess »

Jon12345 wrote: Sun Mar 14, 2021 6:02 pm 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?
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.
BeyondCritics
Posts: 396
Joined: Sat May 05, 2012 2:48 pm
Full name: Oliver Roese

Re: Stockfish licensing question

Post by BeyondCritics »

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.
purechess
Posts: 82
Joined: Wed Nov 28, 2018 1:28 pm
Full name: Heinrich Pulliter

Re: Stockfish licensing question

Post by purechess »

BeyondCritics wrote: Sun Mar 14, 2021 7:22 pm
If you "distribute" stockfish along with your own application, troubles start.
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 too
Ras
Posts: 2487
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Stockfish licensing question

Post by Ras »

Jon12345 wrote: Sun Mar 14, 2021 6:02 pmMy 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.
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
Sesse
Posts: 300
Joined: Mon Apr 30, 2018 11:51 pm

Re: Stockfish licensing question

Post by Sesse »

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).
Sesse
Posts: 300
Joined: Mon Apr 30, 2018 11:51 pm

Re: Stockfish licensing question

Post by Sesse »

PS: If the GPL makes your head spin, try to understand the Microsoft EULA once =)