Licenses and credits
This app uses free software, pieces, board styles and fonts. Here is what they are and under which license they are provided.
Chess engine: Stockfish.js 17 (“lite” version)
Stockfish © T. Romstad, M. Costalba, J. Kiiski, G. Linscott and the Stockfish contributors. WebAssembly version Stockfish.js 17 © Chess.com, LLC, based on the project by Nathan Rugg. License: GNU GPL version 3.
Stockfish is an independent program: it runs on its own, in a separate process (a “Worker”), and the app talks to it only through text messages in the UCI format, the standard protocol for chess engines. None of the app’s code is mixed with its code; the app and the engine remain two separate programs, simply distributed together.
The engine files are provided as is, unmodified, in the moteurs/stockfish/ folder of the app:
stockfish-17-lite-single.js(SHA-256ef06615dc8cf5974e9f3e73d1663b9ca87f2bd59b97e661af0b22e80801b6409)stockfish-17-lite-single.wasm(SHA-2568e7d58fd36242f9163fb4881781cbb59b73c2b00067e6f4b02d31a48c58e5fe8), which contains the Stockfish NNUE evaluation networknn-9067e33176e8.nnue(network by Linmiao Xu, “linrock”, distributed with Stockfish under the same license)
Full text of the license: moteurs/stockfish/COPYING-GPLv3.txt.
Source code of the distributed version, provided with the app in the moteurs/stockfish/sources/:
- Complete source code of Stockfish.js 17 (8.6 MB): Stockfish.js tag v17.1.0 (commit
f9512ef), with the engine code, the build scripts and the NNUE network of the “lite” version. The two engine files in the app are identical to those of this tag. - Source code of Stockfish 17 (0.3 MB), official reference release.
- LISEZMOI.txt: SHA-256 checksums and build instructions (in French).
The same sources are published by their authors: github.com/nmrugg/stockfish.js (tag v17.1.0) and github.com/official-stockfish/Stockfish (sf_17).
“Human” engine: Maia 2
In the app, Fifou’s opponent plays with Maia 2; Stockfish (section above) analyses the moves and plays instead if Maia does not start. Maia 2 © 2024 CSSLab (Computational Social Science Lab, University of Toronto), based on the work of Zhenwei Tang, Difan Jiao, Reid McIlroy-Young, Jon Kleinberg, Siddhartha Sen and Ashton Anderson (paper “Maia-2: A Unified Model for Human-AI Alignment in Chess”, NeurIPS 2024). License: MIT.
Maia 2 is a neural network trained on Lichess games: it does not calculate, it gives the probability that a human player of a given Elo plays each move. Like Stockfish, it runs on its own, in its own “Worker” ( moteurs/maia/ folder); the app sends it the position and receives the probabilities, without mixing its code with it.
maia2-fp16.onnx(SHA-256116042828e8b6335c60876171ea4fbb5a4d4e264ba4d7b7e89a6b58b693857c3): Maia 2 “blitz” model (packagemaia20.10.0), converted to the ONNX format with half-precision (fp16) weights, with no other change. It is shipped split into two parts (maia2-fp16-1.binandmaia2-fp16-2.bin), joined back byte for byte when loaded.maia.js: position preparation, ported from the Maia 2 code (maia2/inference.pyandutils.py).
Code and model published by their authors: github.com/CSSLab/maia2. License text: moteurs/maia/LICENSE-maia2.txt.
MIT License Copyright (c) 2024 CSSLab Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Library: ONNX Runtime Web 1.20.1
ONNX Runtime © Microsoft Corporation. License: MIT. It runs the Maia 2 model on the phone, offline. Files provided as is in the moteurs/maia/:
ort.wasm.min.js(SHA-256e66568724f8848e57cc2a56e4bea3a5b86ce3ff81b2da11eac8ed7ab02b27bd4)ort-wasm-simd-threaded.wasm(SHA-256207d02be4591c156b0a98f024f3d58005b5b04c92274d759fb390338c63559ea)ort-wasm-simd-threaded.mjs(SHA-256745eb7c0ce6f18a6aa521971b2877babc7ffb27eecb58ab3bc6e5ef4692672e8)
Code published by Microsoft: github.com/microsoft/onnxruntime. License text: moteurs/maia/LICENSE-onnxruntime.txt. Licenses of the components it includes: moteurs/maia/ThirdPartyNotices-onnxruntime.txt.
MIT License Copyright (c) Microsoft Corporation Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Piece sets (3 to choose from in Settings)
Meridian outlined (default set): drawn by Martin Sedlák, placed in the public domain under the CC0 1.0 license. Source: github.com/kmar/chess_svg_piece_sets. The cream outline around the black pieces was added for this app.
Kiwen Suwi: by neverRare, license CC BY 4.0 (creativecommons.org/licenses/by/4.0). Source: github.com/neverRare/kiwen-suwi. Files used without any change to the drawings (display size added).
RhosGFX: by RhosGFX (rhosgfx.itch.io), public domain under the CC0 1.0.
Board styles (10 to choose from in Settings)
The ten styles are simple colors designed for this app, under the CC0 1.0.
• Navy and copper (default): CC0 1.0
• Navy: CC0 1.0
• Light wood: CC0 1.0
• Tournament: CC0 1.0
• Ice: CC0 1.0
• Copper: CC0 1.0
• Amethyst: CC0 1.0
• Sand: CC0 1.0
• Grey: CC0 1.0
• Navy blue: CC0 1.0
Fonts
All under the SIL Open Font License 1.1 (full texts in the fonts/).
• Young Serif © 2023 The Young Serif Project Authors, license.
• Public Sans © 2015 The Public Sans Project Authors, license.
• Noto Sans Symbols 2 © 2022 The Noto Project Authors, license.
Android and iPhone app framework: Capacitor
The Android and iPhone apps wrap this site with Capacitor 8 (modules @capacitor/core, android, ios, haptics and local-notifications): Copyright © 2017-present Drifty Co. (Ionic), MIT license, sources: github.com/ionic-team/capacitor and github.com/ionic-team/capacitor-plugins, unmodified. The MIT license is the same as Maia 2’s above (full text given above, with its author’s name).
The Android app also uses the AndroidX libraries (Android Jetpack, © The Android Open Source Project, Apache 2.0 license: apache.org/licenses/LICENSE-2.0), as well as Google Play services and the Google Mobile Ads SDK, provided by Google under its own terms.
Move popularity statistics
The popularity percentages come from the Lichess opening explorer (blitz and rapid games from the Lichess database, grouped by Elo level for each of the app’s categories), computed from the games of the Lichess database, published under the Creative Commons CC0 license (public domain). The recommended moves and the evaluations of the trees are computed with Stockfish 17 lite. This app is neither affiliated with nor endorsed by Lichess.
Puzzles
Some of the positions of the Daily challenge and mini-lessons come from the Lichess puzzle database (database.lichess.org, Creative Commons CC0 license, public domain); the others come from the app’s own trees. Every position was checked with Stockfish. This app is neither affiliated with nor endorsed by Lichess.
Opening names
The names of the openings and variations are based on the Lichess openings database (github.com/lichess-org/chess-openings, public domain under the CC0 1.0 license). This app is neither affiliated with nor endorsed by Lichess.
Sounds
The piece sound effects ( sons/ folder: move, opponent move, capture, castling, check, promotion, and confirmation of the buttons that start a game, “felt” set) are original sounds synthesized for this app, without any outside recording. They are released under the CC0 1.0 license. The program that makes them is outils-sons/synth.py, in the app’s source code.
The other sounds (illegal move, well done, end of the tutorial) are generated by the app’s code when they are played.
The ranked game end sounds (sons/classe/ folder: victory, best, counter, reveal, bonus, defeat, end, suspense) come from UI SFX (uisfx.com, “cinematic” set, version 0.4.0), procedurally generated sounds dedicated to the public domain under the CC0 1.0 license.
Fifou and his characters
Fifou the bishop, his poses and the app icons are original drawings created for Fifou Openings and Fifou Training.