Commit | Line | Data |
---|---|---|
7eeb782e AT |
1 | |
2 | This is GNU Go 3.8, a Go program. Development versions of GNU Go may be | |
3 | found at @url{http://www.gnu.org/software/gnugo/devel.html}. Contact | |
4 | us at @email{gnugo@@gnu.org} if you are interested in helping. | |
5 | ||
6 | @menu | |
7 | * About:: About GNU Go and this Manual | |
8 | * Copyright:: Copyright | |
9 | * Authors:: The Authors of GNU Go | |
10 | * Thanks:: Acknowledgements | |
11 | * Development:: Developing GNU Go | |
12 | @end menu | |
13 | ||
14 | @node About | |
15 | @section About GNU Go and this Manual | |
16 | ||
17 | The challenge of Computer Go is not to @strong{beat} the computer, | |
18 | but to @strong{program} the computer. | |
19 | ||
20 | In Computer Chess, strong programs are capable of playing at the highest | |
21 | level, even challenging such a player as Garry Kasparov. No Go program | |
22 | exists that plays at the same level as the strongest human players. | |
23 | ||
24 | To be sure, existing Go programs are strong enough to be interesting | |
25 | as opponents, and the hope exists that some day soon a truly | |
26 | strong program can be written. This is especially true in view | |
27 | of the successes of Monte Carlo methods, and a general recent | |
28 | improvement of computer Go. | |
29 | ||
30 | Before GNU Go, Go programs have always been distributed as binaries | |
31 | only. The algorithms in these proprietary programs are secret. No-one | |
32 | but the programmer can examine them to admire or criticise. As a | |
33 | consequence, anyone who wished to work on a Go program usually had to | |
34 | start from scratch. This may be one reason that Go programs have not | |
35 | reached a higher level of play. | |
36 | ||
37 | Unlike most Go programs, GNU Go is Free Software. Its algorithms and | |
38 | source code are open and documented. They are free for any one to | |
39 | inspect or enhance. We hope this freedom will give GNU Go's descendents | |
40 | a certain competetive advantage. | |
41 | ||
42 | Here is GNU Go's Manual. There are doubtless inaccuracies. The ultimate | |
43 | documentation is in the commented source code itself. | |
44 | ||
45 | The first three chapters of this manual are for the general | |
46 | user. Chapter 3 is the User's Guide. The rest of the book is for | |
47 | programmers, or persons curious about how GNU Go works. Chapter 4 is a | |
48 | general overview of the engine. Chapter 5 introduces various tools for | |
49 | looking into the GNU Go engine and finding out why it makes a certain | |
50 | move, and Chapters 6--7 form a general programmer's reference to the GNU | |
51 | Go API. The remaining chapters are more detailed explorations of | |
52 | different aspects of GNU Go's internals. | |
53 | ||
54 | @node Copyright | |
55 | @section Copyrights | |
56 | ||
57 | Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 | |
58 | and 2008 by the Free Software Foundation except as noted below. | |
59 | ||
60 | All source files are distributed under the GNU General Public License | |
61 | (@pxref{GPL}, version 3 or any later version), except @file{gmp.c}, | |
62 | @file{gmp.h}, @file{gtp.c}, and @file{gtp.h}. | |
63 | ||
64 | The files @file{gtp.c} and @file{gtp.h} are copyright the Free Software | |
65 | Foundation. In the interests of promoting the Go Text Protocol these | |
66 | two files are licensed under a less restrictive license than the GPL | |
67 | and are free for unrestricted use (@pxref{GTP License}). | |
68 | ||
69 | The two files @file{gmp.c} and @file{gmp.h} were placed in the public domain | |
70 | by William Shubert, their author, and are free for unrestricted use. | |
71 | ||
72 | Documentation files (including this manual) are distributed under | |
73 | the GNU Free Documentation License (@pxref{GFDL}, version 1.3 or any later | |
74 | version). | |
75 | ||
76 | The files @file{regression/games/golois/*sgf} are copyright Tristan | |
77 | Cazenave and are included with his permission. | |
78 | ||
79 | The SGF files in @file{regression/games/handtalk/} are copyright Jessie Annala | |
80 | and are used with permission. | |
81 | ||
82 | The SGF files in @file{regression/games/mertin13x13/} are copyright Stefan | |
83 | Mertin and are used with permission. | |
84 | ||
85 | The remaining SGF files are either copyright by the FSF or are in the public domain. | |
86 | ||
87 | ||
88 | ||
89 | ||
90 | @node Authors | |
91 | @section Authors | |
92 | ||
93 | GNU Go maintainers are Daniel Bump, Gunnar Farneback and Arend | |
94 | Bayer. GNU Go authors (in chronological order of contribution) | |
95 | are Man Li, Wayne Iba, Daniel Bump, David Denholm, Gunnar | |
96 | Farneb@"ack, Nils Lohner, Jerome Dumonteil, Tommy Thorn, | |
97 | Nicklas Ekstrand, Inge Wallin, Thomas Traber, Douglas Ridgway, | |
98 | Teun Burgers, Tanguy Urvoy, Thien-Thi Nguyen, Heikki Levanto, | |
99 | Mark Vytlacil, Adriaan van Kessel, Wolfgang Manner, Jens | |
100 | Yllman, Don Dailey, M@aa{}ns Ullerstam, Arend Bayer, Trevor | |
101 | Morris, Evan Berggren Daniel, Fernando Portela, Paul | |
102 | Pogonyshev, S.P. Lee and Stephane Nicolet, Martin Holters, | |
103 | Grzegorz Leszczynski and Lee Fisher. | |
104 | ||
105 | @node Thanks | |
106 | @section Thanks | |
107 | ||
108 | We would like to thank Arthur Britto, David Doshay, Tim Hunt, Matthias Krings, | |
109 | Piotr Lakomy, Paul Leonard, Jean-Louis Martineau, Andreas Roever and Pierce | |
110 | Wetter for helpful correspondence. | |
111 | ||
112 | Thanks to everyone who stepped on a bug (and sent us a report)! | |
113 | ||
114 | Thanks to Gary Boos, Peter Gucwa, Martijn van der Kooij, Michael | |
115 | Margolis, Trevor Morris, M@aa{}ns Ullerstam, Don Wagner and Yin Zheng for help | |
116 | with Visual C++. | |
117 | ||
118 | Thanks to Alan Crossman, Stephan Somogyi, Pierce Wetter and Mathias Wagner | |
119 | for help with Macintosh. And thanks to Marco Scheurer and Shigeru Mabuchi for | |
120 | helping us find various problems. | |
121 | ||
122 | Thanks to Jessie Annala for the Handtalk games. | |
123 | ||
124 | Special thanks to Ebba Berggren for creating our logo, based on a | |
125 | design by Tanguy Urvoy and comments by Alan Crossman. The old | |
126 | GNU Go logo was adapted from Jamal Hannah's typing GNU: | |
127 | @url{http://www.gnu.org/graphics/atypinggnu.html}. | |
128 | Both logos can be found in @file{doc/newlogo.*} and @file{doc/oldlogo.*}. | |
129 | ||
130 | We would like to thank Stuart Cracraft, Richard Stallman and Man Lung Li for | |
131 | their interest in making this program a part of GNU, William Shubert for | |
132 | writing CGoban and gmp.c, Rene Grothmann for Jago and Erik van Riper and his | |
133 | collaborators for NNGS. | |
134 | ||
135 | ||
136 | @node Development | |
137 | @section Development | |
138 | ||
139 | You can help make GNU Go the best Go program. | |
140 | ||
141 | This is a task-list for anyone who is interested in helping with GNU | |
142 | Go. If you want to work on such a project you should correspond with | |
143 | us until we reach a common vision of how the feature will work! | |
144 | ||
145 | A note about copyright. The Free Software Foundation has the copyright | |
146 | to GNU Go. For this reason, before any code can be accepted as a part of | |
147 | the official release of GNU Go, the Free Software Foundation will want | |
148 | you to sign a copyright assignment. | |
149 | ||
150 | Of course you could work on a forked version without signing | |
151 | such a disclaimer. You can also distribute such a forked version of the | |
152 | program so long as you also distribute the source code to your | |
153 | modifications under the GPL (@pxref{GPL}). But if you want | |
154 | your changes to the program to be incorporated into the | |
155 | version we distribute we need you to assign the copyright. | |
156 | ||
157 | Please contact the GNU Go maintainers, Daniel Bump | |
158 | (@email{bump@@sporadic.stanford.edu}) and Gunnar Farneb@"ack | |
159 | (@email{gunnar@@lysator.liu.se}), to get more information and the | |
160 | papers to sign. | |
161 | ||
162 | Bug reports are very welcome, but if you can, send us bug FIXES as well as bug | |
163 | reports. If you see some bad behavior, figure out what causes it, and what to | |
164 | do about fixing it. And send us a patch! If you find an interesting bug and | |
165 | cannot tell us how to fix it, we would be happy to have you tell us about it | |
166 | anyway. Send us the sgf file (if possible) and attach other relevant | |
167 | information, such as the GNU Go version number. In cases of assertion failures | |
168 | and segmentation faults we probably want to know what operating system and | |
169 | compiler you were using, in order to determine if the problem is platform | |
170 | dependent. | |
171 | ||
172 | If you want to work on GNU Go you should subscribe to the | |
173 | @uref{http://lists.gnu.org/mailman/listinfo/gnugo-devel, | |
174 | GNU Go development list.} Discussion of bugs and feedback | |
175 | from established developers about new projects or tuning | |
176 | the existing engine can be done on the list. | |
177 |