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