Stockfish licensing question

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: Stockfish licensing question

Post by MikeB »

Jon12345 wrote: Sun Mar 14, 2021 6:02 pm 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?
If you do not distribute YOUR APPLICATION, then the answer is No, because you did not distribute your application. For example if it was for use only in your company, then you have no obligation to do anything. You are not distributing your software.

Disclaimer: The preceding statement is my opinion only and shall not be considered legal advice in any manner. I am not a lawyer, I am not qualified legally to dispense legal advice. Only attorneys can provide legal advice. I strongly recommend obtaining such legal advice prior to starting your endeavor.

With that said, I like your chances that an attorney will green-light your project.
Image
Tony P.
Posts: 216
Joined: Sun Jan 22, 2017 8:30 pm
Location: Russia

Re: Stockfish licensing question

Post by Tony P. »

First, we need a clarification on what exactly was meant by
Jon12345 wrote: Sun Mar 14, 2021 6:02 pm use Stockfish 11 from github to do the position evaluation
As purechess has correctly hinted, if the proprietary code interacts with the (possibly modified) SF executable through the command line or a pipe in a standard protocol like unmodified UCI, without accessing SF's internal data structures in other ways, then the interaction is mere aggregation and doesn't confer any of the GPL onto the calling code, no matter if either of the programs is on the server or client side. Issues only arise when there's no clear separation between the code covered by GPL and the proprietary code calling it, e.g. when the latter reads RAM blocks allocated to the former.
Jon12345
Posts: 80
Joined: Tue May 11, 2010 6:18 pm

Re: Stockfish licensing question

Post by Jon12345 »

@Tony, that was a good link and an interesting read. There is sufficient legal ambiguity for me to avoid using any GPL 3 software for the time being. So instead, I will try to find an engine with an MIT license or something that reduces my legal risk exposure.

I think someone mentioned an engine earlier on in this thread.

Do these alternative engines have well documented code and API's, so that I could tap into, for example, the output of a piece mobility function?
Jon