[image of GNU playing Go]

GNU Go Development Versions

This page concerns the ongoing development of GNU Go. If you are looking for the latest stable release you should go to the GNU Go main page.

History of stable releases

  • GNU Go 1.1 was posted to comp.sources.games March 13 1989. (Part 1, Part 2, Part 3)
  • GNU Go 1.2 was released sometime in 1995.
  • Work resumed on GNU Go in October 1998.
  • GNU Go 2.0 was released April 20, 1999.
  • GNU Go 2.4 was released September 12, 1999.
  • GNU Go 2.6 was released February 13, 2000.
  • GNU Go 3.0 was released August 24, 2001.
  • GNU Go 3.2 was released April 25, 2002.
  • GNU Go 3.4 was released July 31, 2003.
  • GNU Go 3.6 was released November 17, 2004.
  • GNU Go 3.8 was released February 19, 2009.

GNU Go 3.0 is about four stones stronger than GNU Go 2.6.

GNU Go 3.2 is about as fast as GNU Go 3.0 but stronger.

GNU Go 3.4 is slightly slower than GNU Go 3.2 but stronger.

GNU Go 3.6 is stronger than GNU Go 3.4 by an undetermined amount.

GNU Go 3.8 is believed stronger than GNU Go 3.6.


GNU Go authors (in chronological order of contribution) are Man Lung Li, Wayne Iba, Daniel Bump, David Denholm, Gunnar Farnebäck, Nils Lohner, Jerome Dumonteil, Tommy Thorn, Nicklas Ekstrand, Inge Wallin, Thomas Traber, Douglas Ridgway, Teun Burgers, Tanguy Urvoy, Thien-Thi Nguyen, Heikki Levanto, Mark Vytlacil, Adriaan van Kessel, Wolfgang Manner, Jens Yllman, Don Dailey, Mans Ullerstam, Arend Bayer, Trevor Morris, Evan Berggren Daniel, Fernando Portela, Paul Pogonyshev, S.P. Lee, Stephane Nicolet, Martin Holters, and Grzegorz Leszczynski.

You Can Help!

Here is a GNU Go task list. Contact us if you are interested in helping the development of GNU Go.


You can download GNU Go development versions here, see below. Versions with an even revision number (2.0, 2.4, 3.0.x, ...) are considered stable. The latest stable version is GNU Go 3.8, which can be found at ftp.gnu.org and its mirrors. (Mirroring may take a day or two to propogate.) Versions with an odd revision number (2.3.63, 2.5.4, 3.1.x, ...) are development versions. They are not mirrored at ftp.gnu.org.

Untar the sources and consult the file README. Details of the changes is contained in ChangeLog (updated with each release).

Older versions

All versions since 3.0 are in the Git repository. (See below.)

GIT Repository

For the very latest source code you can checkout the Git repository with the command:

git clone git://git.savannah.gnu.org/gnugo.git

You can also browse the repository.

Want GNU Go 3.7.5? Once you have the repository you can git checkout rel-3-7-5; configure; make.
  • The git repository is descended from the cvs repository and contains all versions and all commits since 3.0.0 (September 2001).
  • Git checkout instantly populates your directory with the files of the desired version from your local repository.
  • Try gitk --all to view the complete development tree.
  • Older versions may require some tweaking to build with current gcc.
  • If you build one version then git checkout another you may want to make distclean to remove unwanted object files before rebuilding.

Development versions (3.7.xx)

The Go Text Protocol

Current versions of GNU Go implement a text based protocol (GTP) which could potentially replace the GMP. We recommend everyone who intends to write an interface to GNU Go to use GTP. Part of the code in GNU Go implementing the GTP interface is available under a less restrictive license so that it can be reused by other engine authors planning to implement GTP. For further information, we refer to the official GTP web page.

Send inquiries and bug reports to gnugo@gnu.org.