]> git.sesse.net Git - stockfish/blob - README.md
Fix compilation after recent merge.
[stockfish] / README.md
1 <div align="center">
2
3   [![Stockfish][stockfish128-logo]][website-link]
4
5   <h3>Stockfish</h3>
6
7   A free and strong UCI chess engine.
8   <br>
9   <strong>[Explore Stockfish docs »][wiki-link]</strong>
10   <br>
11   <br>
12   [Report bug][issue-link]
13   ·
14   [Open a discussion][discussions-link]
15   ·
16   [Discord][discord-link]
17   ·
18   [Blog][website-blog-link]
19
20   [![Build][build-badge]][build-link]
21   [![License][license-badge]][license-link]
22   <br>
23   [![Release][release-badge]][release-link]
24   [![Commits][commits-badge]][commits-link]
25   <br>
26   [![Website][website-badge]][website-link]
27   [![Fishtest][fishtest-badge]][fishtest-link]
28   [![Discord][discord-badge]][discord-link]
29
30 </div>
31
32 ## Overview
33
34 [Stockfish][website-link] is a **free and strong UCI chess engine** derived from
35 Glaurung 2.1 that analyzes chess positions and computes the optimal moves.
36
37 Stockfish **does not include a graphical user interface** (GUI) that is required
38 to display a chessboard and to make it easy to input moves. These GUIs are
39 developed independently from Stockfish and are available online. **Read the
40 documentation for your GUI** of choice for information about how to use
41 Stockfish with it.
42
43 See also the Stockfish [documentation][wiki-usage-link] for further usage help.
44
45 ## Files
46
47 This distribution of Stockfish consists of the following files:
48
49   * [README.md][readme-link], the file you are currently reading.
50
51   * [Copying.txt][license-link], a text file containing the GNU General Public
52     License version 3.
53
54   * [AUTHORS][authors-link], a text file with the list of authors for the project.
55
56   * [src][src-link], a subdirectory containing the full source code, including a
57     Makefile that can be used to compile Stockfish on Unix-like systems.
58
59   * a file with the .nnue extension, storing the neural network for the NNUE
60     evaluation. Binary distributions will have this file embedded.
61
62 ## Contributing
63
64 __See [Contributing Guide](CONTRIBUTING.md).__
65
66 ### Donating hardware
67
68 Improving Stockfish requires a massive amount of testing. You can donate your
69 hardware resources by installing the [Fishtest Worker][worker-link] and viewing
70 the current tests on [Fishtest][fishtest-link].
71
72 ### Improving the code
73
74 In the [chessprogramming wiki][programming-link], many techniques used in
75 Stockfish are explained with a lot of background information.
76 The [section on Stockfish][programmingsf-link] describes many features
77 and techniques used by Stockfish. However, it is generic rather than
78 focused on Stockfish's precise implementation.
79
80 The engine testing is done on [Fishtest][fishtest-link].
81 If you want to help improve Stockfish, please read this [guideline][guideline-link]
82 first, where the basics of Stockfish development are explained.
83
84 Discussions about Stockfish take place these days mainly in the Stockfish
85 [Discord server][discord-link]. This is also the best place to ask questions
86 about the codebase and how to improve it.
87
88 ## Compiling Stockfish
89
90 Stockfish has support for 32 or 64-bit CPUs, certain hardware instructions,
91 big-endian machines such as Power PC, and other platforms.
92
93 On Unix-like systems, it should be easy to compile Stockfish directly from the
94 source code with the included Makefile in the folder `src`. In general, it is
95 recommended to run `make help` to see a list of make targets with corresponding
96 descriptions. An example suitable for most Intel and AMD chips:
97
98 ```
99 cd src
100 make -j profile-build ARCH=x86-64-avx2
101 ```
102
103 Detailed compilation instructions for all platforms can be found in our
104 [documentation][wiki-compile-link]. Our wiki also has information about
105 the [UCI commands][wiki-uci-link] supported by Stockfish.
106
107 ## Terms of use
108
109 Stockfish is free and distributed under the
110 [**GNU General Public License version 3**][license-link] (GPL v3). Essentially,
111 this means you are free to do almost exactly what you want with the program,
112 including distributing it among your friends, making it available for download
113 from your website, selling it (either by itself or as part of some bigger
114 software package), or using it as the starting point for a software project of
115 your own.
116
117 The only real limitation is that whenever you distribute Stockfish in some way,
118 you MUST always include the license and the full source code (or a pointer to
119 where the source code can be found) to generate the exact binary you are
120 distributing. If you make any changes to the source code, these changes must
121 also be made available under GPL v3.
122
123
124 [authors-link]:       https://github.com/official-stockfish/Stockfish/blob/master/AUTHORS
125 [build-link]:         https://github.com/official-stockfish/Stockfish/actions/workflows/stockfish.yml
126 [commits-link]:       https://github.com/official-stockfish/Stockfish/commits/master
127 [discord-link]:       https://discord.gg/GWDRS3kU6R
128 [issue-link]:         https://github.com/official-stockfish/Stockfish/issues/new?assignees=&labels=&template=BUG-REPORT.yml
129 [discussions-link]:   https://github.com/official-stockfish/Stockfish/discussions/new
130 [fishtest-link]:      https://tests.stockfishchess.org/tests
131 [guideline-link]:     https://github.com/official-stockfish/fishtest/wiki/Creating-my-first-test
132 [license-link]:       https://github.com/official-stockfish/Stockfish/blob/master/Copying.txt
133 [programming-link]:   https://www.chessprogramming.org/Main_Page
134 [programmingsf-link]: https://www.chessprogramming.org/Stockfish
135 [readme-link]:        https://github.com/official-stockfish/Stockfish/blob/master/README.md
136 [release-link]:       https://github.com/official-stockfish/Stockfish/releases/latest
137 [src-link]:           https://github.com/official-stockfish/Stockfish/tree/master/src
138 [stockfish128-logo]:  https://stockfishchess.org/images/logo/icon_128x128.png
139 [uci-link]:           https://backscattering.de/chess/uci/
140 [website-link]:       https://stockfishchess.org
141 [website-blog-link]:  https://stockfishchess.org/blog/
142 [wiki-link]:          https://github.com/official-stockfish/Stockfish/wiki
143 [wiki-compile-link]:  https://github.com/official-stockfish/Stockfish/wiki/Compiling-from-source
144 [wiki-uci-link]:      https://github.com/official-stockfish/Stockfish/wiki/UCI-&-Commands
145 [wiki-usage-link]:    https://github.com/official-stockfish/Stockfish/wiki/Download-and-usage
146 [worker-link]:        https://github.com/official-stockfish/fishtest/wiki/Running-the-worker
147
148 [build-badge]:        https://img.shields.io/github/actions/workflow/status/official-stockfish/Stockfish/stockfish.yml?branch=master&style=for-the-badge&label=stockfish&logo=github
149 [commits-badge]:      https://img.shields.io/github/commits-since/official-stockfish/Stockfish/latest?style=for-the-badge
150 [discord-badge]:      https://img.shields.io/discord/435943710472011776?style=for-the-badge&label=discord&logo=Discord
151 [fishtest-badge]:     https://img.shields.io/website?style=for-the-badge&down_color=red&down_message=Offline&label=Fishtest&up_color=success&up_message=Online&url=https%3A%2F%2Ftests.stockfishchess.org%2Ftests%2Ffinished
152 [license-badge]:      https://img.shields.io/github/license/official-stockfish/Stockfish?style=for-the-badge&label=license&color=success
153 [release-badge]:      https://img.shields.io/github/v/release/official-stockfish/Stockfish?style=for-the-badge&label=official%20release
154 [website-badge]:      https://img.shields.io/website?style=for-the-badge&down_color=red&down_message=Offline&label=website&up_color=success&up_message=Online&url=https%3A%2F%2Fstockfishchess.org