Stockfish ships the engine without a board, and GPL v3 ties you to the binary
A free and strong UCI chess engine
At a glance
- What is it?
- Stockfish is a UCI chess engine written mostly in C++, distributed under GPL v3, that computes moves for a position and hands the work to a graphical interface somebody else writes. Its strength comes from distributed testing on donated hardware and from a neural network evaluation trained on another project's data, which brings a second licence with it.
- Who is it for?
- Stockfish fits anyone who needs a strong move generator or a position evaluator they can embed, analyse or extend, and it fits a developer who wants to read working search code with an active community behind it. It does not fit a user expecting an application: there is no board, no interface and no settings screen in this repository, and you must pair it with a GUI and read that project's documentation.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.
Star history
- official-stockfish/Stockfish17,387 ★ · +698
| Repository | 2026-09-21 | 2026-11-14 |
|---|---|---|
| official-stockfish/Stockfish | 16.7k | 17.4k |
698 Stars in the last 54 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
There is no board in this repository, and the README says so twice
The overview names the tool precisely: a free and strong UCI chess engine, derived from Glaurung 2.1, that analyzes chess positions and computes the optimal moves. Then the limitation is stated with emphasis rather than buried: Stockfish does not include a graphical user interface, because one is required to display a chessboard and make it easy to input moves. Those interfaces are developed independently and are available online, and the advice is to read the documentation for whichever one you choose for how to use the engine with it. The same pointer appears again in the next line, which sends readers to the project wiki for further usage help and, further down, to a page documenting the UCI commands the engine supports. The lineage matters too: Stockfish is derived from Glaurung 2.1 rather than being a fresh design.
The distribution is a readme, a licence, an authors file, a source directory and one neural network
The file list is short enough to check against whatever you downloaded, and each item has a stated purpose. The readme is the file you are reading. A text file holds the GNU General Public Licence version 3. An authors file lists the people behind the project, which matters for a codebase this old. The src subdirectory holds the full source including the Makefile used on Unix-like systems. Then there is the item people forget: a file with the nnue extension that stores the neural network used for the NNUE evaluation, and binary distributions have that file embedded rather than shipped beside the binary. So if you are copying a single executable you did not build yourself, the evaluation network came with it, and if you are auditing what a binary contains, that file is part of the artefact you are responsible for.
One make target covers most Intel and AMD chips
Compiling from source is presented as straightforward on Unix-like systems, with the Makefile in the src folder doing the work, and the general advice is to run make help to see the list of targets with their descriptions before choosing one. The example given as suitable for most Intel and AMD chips is two lines:
cd src
make -j profile-buildThe profile-build target is the one to reach for first, and the parallel flag is already there. Portability is broader than the example suggests: the engine has support for 32 or 64-bit processors, for certain hardware instructions, and for big-endian machines such as Power PC, plus other platforms. Detailed instructions per platform are not in the readme at all; they live on the wiki page for compiling from source, and the same page set documents the UCI command set, which is the interface a GUI actually speaks.
GPL v3 draws the line at the binary rather than at the use
The terms of use section is unusually concrete, and the practical detail is in the limitation, not the permission. You are free to do almost exactly what you want, including distributing it among friends, hosting the download on your own website, selling it on its own or as part of a larger software package, and using it as the starting point for your own project. The single real limitation has a trigger and a requirement: whenever you distribute Stockfish in any way, you must always include the licence and the full source code, or a pointer to where it can be found, for the exact binary you are distributing. If you modify the source, those changes must also be made available under the same licence. For anyone embedding the engine in a product, that last sentence is the one to read twice, because it attaches to your modifications rather than only to Stockfish itself.
A second licence arrives with the training data
The acknowledgements section is one sentence long and it changes the compliance picture. Stockfish uses neural networks trained on data provided by the Leela Chess Zero project, and that data is made available under the Open Database Licence, a separate licence document linked from the readme. So the evaluation function of this engine rests on a dataset that carries its own terms, in addition to GPL v3 covering the code. Nothing in the readme explains what those terms require of a downstream user, and that gap is worth closing yourself before you build a commercial product on top of the engine. It is also a reminder of how the modern chess engine ecosystem is stacked: one project's code, another project's training data, and testing distributed across hardware donated by volunteers.
Strength is measured on hardware donated by other people
The contributing section explains why the project is structured the way it is. Improving Stockfish requires a massive amount of testing, and the route offered to anyone without a supercomputer is to install the Fishtest worker and let the community run its current tests on your machine. The engine testing is done on Fishtest, and there is a guideline to read first that explains the basics of Stockfish development, including how to create a first test. Background knowledge is delegated rather than written: the techniques used in the engine are explained in the chess programming wiki, with a section on Stockfish that is described as generic rather than focused on this implementation. Discussion happens mainly on the project's Discord server, which is also the recommended place to ask questions about the codebase.
Development builds are named with a date and a commit, releases with a number
The release history shows two naming schemes side by side, and knowing which one you have tells you what you are running. Numbered releases exist, with Stockfish 19 published in September 2026 and Stockfish 18 earlier the same year. Alongside them are development builds whose names carry a date and a commit hash, such as the one cut on 2026-10-28. The default branch is master, so a clone is a development state rather than a release, and the engine's own version string reflects what was built. The repository layout supports that workflow: a formatting configuration for the C++ sources, a file listing commits to ignore so bulk formatting does not distort history, a citation file, a contributors file for CPU time, plus separate tests and scripts directories. If you are reproducing an analysis, record which of the two you ran.
Editorial conclusion
Stockfish fits anyone who needs a strong move generator or a position evaluator they can embed, analyse or extend, and it fits a developer who wants to read working search code with an active community behind it. It does not fit a user expecting an application: there is no board, no interface and no settings screen in this repository, and you must pair it with a GUI and read that project's documentation. Before you redistribute it, understand what GPL v3 asks, since the requirement follows the exact binary you ship and covers your modifications too, and note that the neural network data comes under a separate database licence. Stockfish 19 was published on 2026-09-05 and the default branch was pushed on 2026-10-28.
Frequently asked questions
how to use stockfish
Stockfish has no graphical interface of its own, so you pair it with a GUI developed independently and read that project's documentation for how the two work together. The engine speaks the UCI protocol, and the list of supported UCI commands is documented on the project wiki.
how to install stockfish
On Unix-like systems compile it from source using the Makefile in the src folder, running make help to see the targets; the example given for most Intel and AMD chips is cd src followed by make -j profile-build. Binary distributions embed the neural network file used for the NNUE evaluation, while a source build needs that nnue file present.
What is Stockfish's level of chess?
The project describes itself as a free and strong UCI chess engine derived from Glaurung 2.1 that analyzes positions and computes the optimal moves, and it states no rating in the repository. Strength is instead demonstrated through testing on Fishtest, where the community runs candidate changes on donated hardware.
Has any human defeated Stockfish?
The repository makes no claim about games against human players. What it describes is a development process: engine testing happens on Fishtest, contributions are tested there, and the neural network evaluation is trained on data provided by the Leela Chess Zero project.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/official-stockfish-stockfish)Star history chart for your README
[](https://hysenlabs.com/projects/official-stockfish-stockfish)Was this useful?