Skip to main content

Open-Source Attributions

Bright Moves is built on top of excellent open-source software. Here are the projects whose licenses require attribution, and a thank-you to the maintainers who make this work possible.

Stockfish

Position evaluation in the analysis workbench is powered by Stockfish, a free and strong UCI chess engine derived from Glaurung 2.1. We self-host Stockfish on our own infrastructure for full control over the eval pipeline and zero dependency on third- party uptime.

Stockfish is distributed under the GPL-3.0, which permits modification and redistribution under the same license. Bright Moves uses an unmodified, official Stockfish binary release, run only as a separate process over the UCI text protocol — it is not linked into any Bright Moves code, so the GPL's copyleft does not extend to our own software. Serving evaluations over HTTP is not itself conveyance; however, we package the Stockfish binary inside a container image that we transfer between our systems, which is conveyance of object code under GPL-3.0 §6. Accordingly we provide the Corresponding Source and a written offer for it — see “GPL-3.0 source & written offer”below. We're grateful for the decades of work by the Stockfish community.

Lc0 (Leela Chess Zero)

The human-like AI opponent is played by Lc0 (Leela Chess Zero), a neural-network chess engine, run as a separate process over UCI on our own infrastructure (it executes the Maia networks below). It is not linked into any Bright Moves code.

We use Lc0 unmodified. Because we convey it inside a container image, we provide its Corresponding Source and a written offer — see “GPL-3.0 source & written offer” below.

Maia Chess (maia-chess)

The opponent's human-like move choices come from the Maia Chess neural networks — models trained to play like humans at specific rating levels, by the Computational Social Science Lab (CSSLab) at the University of Toronto, together with Microsoft Research. The weight files themselves are the GPL-3.0 source form (no build reproduces a trained network).

We use the Maia weight files unmodified. Because we convey them inside a container image, we provide the Corresponding Source and a written offer — see below.

GPL-3.0 source & written offer

Stockfish, Lc0, and the Maia networks above are licensed under the GNU General Public License, version 3. Bright Moves packages these programs inside container images that we transfer between our systems, which is conveyance of object code under GPL-3.0 §6. To comply, we make the following written offer:

For at least three (3) years from the date we last conveyed the container image, we will give any third party who possesses the object code a complete machine-readable copy of the Corresponding Source for the GPL-3.0 components (Lc0, the Maia weight files, and Stockfish), for no more than our reasonable cost of physically performing the conveyance, or equivalent no-charge access to download it. The source corresponds to the exact pinned versions we ship (Lc0 v0.31.2; Maia v1.0 bands 1100/1300/1500/1700/1900; Stockfish 17.1). To request it, email [email protected] with the subject “GPL-3.0 Corresponding Source request — Brightmoves engine images”.

The same offer, the full GPL-3.0 license text, a copyright NOTICE, a pinned-hash source manifest, and a fetch/verify script are also shipped inside each engine image at /usr/share/doc/brightmoves-gpl/. We use all three programs unmodified (separate-process / UCI invocation only); no GPL-3.0 §5 modified-source obligation arises.

chess.js

Move generation, validation, and PGN parsing in the browser are handled by chess.js, licensed under the BSD 2-Clause License.

react-chessboard

The interactive board UI is react-chessboard, licensed under the MIT License.

Chess puzzles (Lichess open puzzle database)

Bright Moves puzzles are seeded from the Lichess open puzzle database, generated from games played on Lichess. This data is dedicated to the public domain under the Creative Commons CC0 1.0 Universal Public Domain Dedication. Lichess does not require attribution; we credit them gratefully. Lichess is free/libre open-source software. Bright Moves is not affiliated with or endorsed by Lichess.

Other open-source dependencies

Bright Moves is built with Next.js, React, TypeScript, and dozens of additional open-source libraries. The full list of direct dependencies and their licenses is available in our public package.json. Each is used under the terms of its respective license.

Bright Moves is committed to honouring the licenses of the open- source software it depends on. If you believe we've missed an attribution or are out of compliance with a license, please contact us at [email protected].