3

Stockfish uses a GPLv3 license, which requires you to release your source code if you use it. This then makes your own code GPLv3. However, chess.com, chessable and decodechess all use Stockfish.

So, how do they use it without releasing their source code? Or, are they taking a risk?

I've read some stuff about pipes, wrappers, running off the server does not count as distribution. Perhaps someone with more knowledge on this can share what they know.

2
4

I'm the Technical Lead of Chessable and the exact person who integrated SF on Chessable.

There are no license issues here because web app is not the same work as a Universal Chess Interface (UCI) chess engine.

Technically you do have the code because the whole UI in JavaScript is being sent to your web browser. Check your Google Chrome network tab, you will find all the JS source code there! We are doing client side JS Stockfish integration, so we can't stop you from copying the minified but working JS code. However, we are not going to give you the code like in GitHub format.

Thanks for trying our SF integration!

https://opensource.stackexchange.com/questions/11490/minified-gpl-code-inside-javascript-webapp is incorrect. The answer failed to address the UCI protocol. All communications via the engine is being done by the UCI protocol. The exact same code without any kind of modification can run on any other chess engines following the UCI protocol. Komodo on chess.com is an excellent example.

The engine and rest of the app is not considered a standalone work, which is what GPL is about. It's like Chessbase shipping their GUI and Fat Fritz 2. Did you ask Chessbase for source code of their GUI? The SF engine in JS is not an executable linking to the app. It's actually you who chooses a browser and run the SF. It does that by running web workers like Chessbase on a standard UCI protocol. Stockfish is not a library or derived work, it's an independent piece of code that your own browser runs it.

PS: Any views here are not my employer's and purely mine.

2
  • Comments are not for extended discussion; this conversation has been moved to chat. – Brian Towers Mar 29 at 15:35
  • Didn't expect my simple answer attracted so many brilliant responses! My most successful response ever! – SmallChess Mar 30 at 7:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.