# Third-party components and attributions

This project bundles or loads at runtime the following third-party
components. Each retains its own copyright and license — see the linked
source for the full text.

## Software libraries

### chess.js — BSD-2-Clause
- Vendored at `app/static/vendor/chess.js`
- Copyright (c) 2020 Jeff Hlywa
- Upstream: https://github.com/jhlywa/chess.js
- License: BSD-2-Clause (full text in the file header)

### Stockfish (JS/WASM build) — GPL-3.0-or-later
- Vendored at `app/static/vendor/stockfish.js`
- Copyright Stockfish authors (T. Romstad, M. Costalba, J. Kiiski, G. Linscott
  and contributors); multi-variant patches by Daniel Dugovic; compiled to
  JavaScript / WebAssembly by Niklas Fiekas.
- Upstream: https://github.com/niklasf/stockfish.js
- License: **GNU General Public License v3 or later**
- **Important:** because Stockfish is GPL, any redistributed combined work
  that includes this file inherits GPL obligations for the whole. See the
  note at the bottom of `LICENSE`.

### Chart.js — MIT
- Loaded at runtime from jsDelivr in `app/static/index.html` (no copy is
  vendored): `https://cdn.jsdelivr.net/npm/chart.js@4.4.1/dist/chart.umd.min.js`
- Copyright (c) 2014-present Chart.js Contributors
- Upstream: https://github.com/chartjs/Chart.js
- License: MIT (https://github.com/chartjs/Chart.js/blob/master/LICENSE.md)

## Icons

### Feather Icons — MIT (icon paths used inline in `app/static/index.html`)
- Several of the inline SVG icons in the nav rail and controls (the cog,
  house, bar-chart, pause/play, etc.) follow the Feather Icons stroke style
  and a few are exact Feather paths.
- Copyright (c) 2013-2023 Cole Bemis
- Upstream: https://github.com/feathericons/feather
- License: MIT (https://github.com/feathericons/feather/blob/master/LICENSE)

## Chess piece artwork

The user-facing piece-set picker (Settings → Pieces) only exposes sets
under **commercially-permissive licenses** — no copyleft (GPL/AGPL), no
non-commercial (NC) clauses. All bundled SVGs are vendored unmodified
from the [lichess-org/lila](https://github.com/lichess-org/lila/tree/master/public/piece)
repository (file naming is changed from `wK.svg` → `wk.svg` to match
this app's lowercase convention; SVG content is byte-for-byte
identical).

### Commercially-licensed sets (user-selectable)

| Folder                              | Author(s)                                                          | License        | Attribution required? |
|-------------------------------------|--------------------------------------------------------------------|----------------|-----------------------|
| `app/static/pieces/chessnut/`       | [Alexis Luengas](https://github.com/LexLuengas)                    | Apache 2.0     | yes (this notice)     |
| `app/static/pieces/fantasy/`        | [Maurizio Monge](https://github.com/maurimo/chess-art)             | MIT            | yes (this notice)     |
| `app/static/pieces/spatial/`        | [Maurizio Monge](https://github.com/maurimo/chess-art)             | MIT            | yes (this notice)     |
| `app/static/pieces/celtic/`         | [Maurizio Monge](https://github.com/maurimo/chess-art)             | MIT            | yes (this notice)     |
| `app/static/pieces/eyes/`           | [Maurizio Monge](https://github.com/maurimo/chess-art) (`fancy/eyes`)   | MIT       | yes (this notice)     |
| `app/static/pieces/rhosgfx/`        | [RhosGFX](https://rhosgfx.itch.io/)                                | CC0 1.0        | no                    |
| `app/static/pieces/kiwen-suwi/`     | [neverRare](https://github.com/neverRare)                          | CC BY 4.0      | yes                   |
| `app/static/pieces/firi/`           | [James Faure](https://github.com/jfaure/Firi-pieceset)             | CC BY 4.0      | yes                   |
| `app/static/pieces/totoy/`          | Kosal Sen (via lichess-org/lila)                                   | CC BY 4.0      | yes                   |
| ~~`app/static/pieces/shapes/`~~     | _removed in v0.137_ — abstract geometric set by flugsio (CC BY-SA 4.0) was bundled in v0.135 and dropped per user preference. |  |  |
| `app/static/pieces/staunton-{basic,glass,metal,modernjade,modernwood,wood,wax,lord,tournament,trimmed}/` | [James Clarke](https://github.com/clarkerubber/Staunton-Pieces) | MIT | yes — 10 PNG variants of the Staunton-3D set; same upstream MIT licence as lichess's `public/images/staunton` |

Upstream piece directories:
- https://github.com/lichess-org/lila/tree/master/public/piece — see
  [`COPYING.md`](https://github.com/lichess-org/lila/blob/master/COPYING.md)
  for the canonical license table.
- https://github.com/maurimo/chess-art — Maurizio Monge's MIT-licensed
  collection (the `fantasy`, `spatial`, `celtic`, `eyes` sets above).
  The repo's README explicitly permits paid-app use.

### Seasonal sets (in-house, owned by this project)

`app/static/pieces/{christmas,halloween,valentines,spring,pride}/` were
generated in-house (see `scripts/generate_holiday_pieces.py`). Project
copyright, MIT-licensed alongside the rest of the source tree.

## Data sets

### Lichess Puzzle Database — CC0 1.0
- Sampled subset stored at `app/static/puzzles.json`; rebuilt via
  `scripts/build_puzzles.py`.
- Upstream: https://database.lichess.org/#puzzles
- License: CC0 1.0 Universal (Public Domain Dedication)

### Lichess `chess-openings` ECO TSVs — MIT
- Vendored at `app/static/data/eco/{a,b,c,d,e}.tsv` (also see
  `app/static/data/eco/README.md` for the local attribution).
- Upstream: https://github.com/lichess-org/chess-openings
- License: MIT (https://github.com/lichess-org/chess-openings/blob/master/LICENSE)

### Lichess Opening Explorer API — CC0 (data); the API itself is run by Lichess
- Called at runtime by `chess_master.py` to identify "book" moves.
- Endpoint: `https://explorer.lichess.ovh/lichess?fen=<urlencoded-fen>`
- API docs: https://lichess.org/api#tag/Opening-Explorer
- The Lichess game database used by the explorer is CC0. Please honour the
  ~5 req/s rate limit and send a descriptive `User-Agent` header.

## Fonts

All seasonal display fonts are self-hosted (downloaded 2026-06-07) under the
SIL Open Font License (OFL-1.1). Files live under `app/static/fonts/`.
No outbound requests to `fonts.googleapis.com` or `fonts.gstatic.com` are
made at runtime.

### Mountains of Christmas v24 — OFL-1.1
- Used for: Christmas season display headings (`data-season="christmas"`)
- File: `app/static/fonts/mountains-of-christmas-700.woff2` (weight 700, latin)
- Upstream: https://fonts.google.com/specimen/Mountains+of+Christmas
- Designers: Tart Workshop (Vicki Joiner)
- License: SIL Open Font License 1.1
  (https://scripts.sil.org/OFL)

### Creepster v13 — OFL-1.1
- Used for: Halloween season display headings (`data-season="halloween"`)
- File: `app/static/fonts/creepster-400.woff2` (weight 400, latin)
- Upstream: https://fonts.google.com/specimen/Creepster
- Designers: Haley Fiege
- License: SIL Open Font License 1.1
  (https://scripts.sil.org/OFL)

### Fredoka v17 — OFL-1.1
- Used for: Pride season display headings (`data-season="pride"`)
- Files: `app/static/fonts/fredoka-600.woff2`, `fredoka-600-ext.woff2`
  (weights 600 + 700, latin + latin-ext)
- Upstream: https://fonts.google.com/specimen/Fredoka
- Designers: Milena Brandão
- License: SIL Open Font License 1.1
  (https://scripts.sil.org/OFL)

## Brand / trade-mark disclaimer

This project is an independent, unaffiliated chess analysis tool. It is
**not** affiliated with, endorsed by, or sponsored by:

- **Chess.com, Inc.** — "Chess.com", the chess.com logo, the "Game Review"
  product name and the move-quality category icons / colours are trademarks
  or trade dress of Chess.com, Inc. Where this project displays the strings
  "chess.com" or "chess.com-style", or uses category names similar to those
  used by the Chess.com Game Review product, it does so descriptively
  (nominative fair use) to refer to the public chess.com Published-Data
  API and to indicate broad visual / behavioural inspiration. No chess.com
  piece artwork or other copyrighted assets are bundled or hot-linked.
- **Lichess.org** — even though several data sources (the puzzle database,
  the ECO TSVs, the Opening Explorer API and the bundled piece sets) come
  from Lichess and are used with full attribution under their respective
  licenses, this project is not endorsed by the Lichess organisation.
