Free Go Programs

This pages tries to be a comprehensive directory of free programs for the game of go. Let us know if something is missing, or if links are outdated.

GNU Go and other Go programs on small computers:

  • A GNU Go 1.2 port for the Gameboy, with source. (The 1.2 engine is much weaker than 2.x and 3.x.)
  • Pocket GNU Go, from Ivan Davtchev, now maintained by Sid Liu, is a version of GNU Go 2.6 that runs on the Pocket PC. Now runs on the Smartphone, too. A GNU Go 3.2 port is in the works!
  • Here's a A Windows CE port of GNU Go 2.0 from Alexander Seewald. This builds on the user interface from Ivan Davtchev's program and may work a pocket PC, but it is tailored for a Win CE 2.11 device.
  • Benjamin Collar's GNU Go 2.6 port to the Agenda VR3, a Linux PDA.
  • Go81 is a GPL'd Go program for PalmOS.

Other programs that play go, and Go programming toolkits. Many of these are no longer maintained.

  • Mark Boon has released some Go modules in Java with a free (X11) license in the hope that this will help people to start their Go programs. Now hosted by Sente Software. Also at Sourceforge.
  • Vegos by Piotr Kaminski brute force AI that uses simulated annealing to play primitive Go. Includes a generic GTP client framework for Java. License is the same as zlib.
  • wallyplus is a C++ port by Andrew Balsa of Bill Newman's original Wally. It comes with a GTP script that allows it to play against GNU Go.
  • Andrew Balsa has also made GTP versions of some other free engines, Amigo, Baduki and Randy (a Go engine that plays random legal moves).
  • Baduki is a Go program by ``Artist'' (Lim Jaebum) licensed under the GNU GPL. We've lost track of the author's site but in the meantime the program is mirrored at Dan Stromberg's site. You can play matches between Baduki and GNU Go quite easily using CGoban 1.
  • OpenGo is a free (X11 style license) workbench for the Go programmer supporting different engines (such as GNU Go) and which runs under both Windows and GNU/Linux.
  • PubGo+ is a set of C++ classes for Go Programming by P. J. Leonard. It is published under the GPL.
  • Gtkgo is another GPL'd Go program. Sources may be found here.

Clients, capable of running GNU Go, and other graphical front ends to GNU Go

  • qGo is a full featured Client for playing on the servers, SGF viewing/editing, and GNU Go client written in C++ for GNU/Linux, Windows and Mac OS X. Can play One Color Go. Licensed GPL and QPL.
  • ccGo is a GPL'd client written in C++ capable of playing with GNU Go, or on IGS.
  • RubyGo is a GPL'd client by J.-F. Menon for IGS written in the scripting language Ruby. RubyGo is capable of playing with GNU Go using the GTP.
  • Dingoui is a free GMP client written in GTK which can run GNU Go.
  • CGoban 1 is a GPL'd client which is a great way to run GNU Go on GNU/Linux or Unix. (Note: CGoban2 is a different program and cannot be used for this.) The last CGoban release by Bill Shubert was CGoban 9.12. Currently CGoban 1 is being maintained again and the latest release is available here.
  • Jago is a GPL'd Java client which works for both Microsoft Windows and X-Window System.
  • Sente Software's FreeGoban is a well-liked user interface for GNU Go (and potentially other programs) distributed under the GPL.
  • Mac GNU Go is a front end for GNU Go 3.2 with both English and Japanese versions. License is GPL.
  • Quickiego is a Mac interface to GNU Go 2.6.
  • Gogui from Markus Enzenberger is a Java workbench that allows you to play with a gtp engine such as GNU Go. Source code is in the CVS. Licence is GPL. Gogui does not yet support gmp or play on servers but is potentially very useful for programmers working on GNU Go or other engines.
  • gGo is a Java program which was originally known as qGo for Java. Although the public source of the program is no longer maintained, it is still useful may be found at sourceforge here or here . GGo can function as a client or sgf editor and supports the GTP, so you can play on the servers or with GNU Go. Licence is GPL.
  • Quarry is a GPL'd client that supports GTP. Works under GNU/Linux and requires GTK+ 2.x and librsvg 2.5. Supports GNU Go as well as other engines. Can play not only Go, but also a few other board games.
  • Goben, a GTP capable front end for GNU Go using GTK libraries from Wayne Myers. Licensed GPL.

Clients for server play

  • TanGo is a client for Windows with innovative features. Now distributed under he GPL. It is written in Visual Basic.
  • qigc is a GPL'd client by Lambert Klasen using the qt library.
  • SDL Go by Andreas Röver is a different kind of a client that communicates with GNU Go through it's ascii interface. Andreas has changed his objectives slightly, intending to use a standard widget set and the GTP protocol.
  • Xgospel is a GPL'd X-Window client program, more specialized than CGoban 1.9 but also excellent, for playing on the servers. (This client will not help you play with GNU Go on your local machine.)
  • Ergo is a GPL'd Java Go Client for use with the servers.
  • Gcperl is a GPL'd perl module client by Reid Augustin. It supersedes Tkgc. Get it here!
  • Vizigo is another client issued under the GPL. It runs under either Windows or GNU/Linux.
  • KGO is a GPL'd client by Pieter Eendebak.

Programs for printing Go boards

  • Sgf2tex, a GPL'd system for typesetting Go games in TeX by Daniel Bump and Reid Augustin, including metafont sources and a perl script for translating Smart Game Format (SGF) files.
  • sgf2mpost. Another approach to typesetting Go Games, this program produces a metapost file which can be turned into an encapsulated postscript file, and included in a TeX document. Metapost is included with TeTeX, Web2C and other TeX distributions, and you probably already have it on your GNU/Linux system.
  • Xgod is a tool for building Go diagrams for LATeX documents. It is distributed under the GPL. Mirrored in the Ibiblio Linux archives.
  • GPL'd Perl scripts to make Ascii diagrams into gifs by Toni Cornelissen and Nick Wedd.

Problem study

  • Uligo is a program licenced under the GPL for practicing Go problems.
  • Dan Stromberg's web page includes two GPL'd programs for studying Go: Kentou, a program for self study of professional games, and newstosgf, a program for converting ASCII diagrams from rec.games.go into SGF files.
  • GoD is short for 'Go-Driller' and it is meant to be a program for drilling Go-problems. Requires TCL. Also available from this page is an NT port of CGoban 1.9 (requires an X-server).

Go recorders, SGF parsers, editors, database programs and other tools

  • Pocket Go by Brian Dewey is a free SGF editor/viewer for the Pocket PC platform.
  • GoVRec is a GPL'd sgf game recorder for the Agenda PDA.
  • Kombilo, a Go database program by Ulrich Goertz.
  • JiGo is a collection of Go related Java applets and an API for developing such applets, with an sgf replayer already released as a sample application. The Java source is licensed under the GPL and is currently available in the Sourceforge CVS.
  • Steffen Glueckselig has two GPL'd tools written in JAVA including Jacoto, a tool for analyzing a library of SGF files.
  • Go tools is a collection of software tools, many in Python, for the game of Go. Includes an SGF parser in Python.
  • SGFC is a syntax checker for Smart Game Format (SGF) files. It is licenced under the GPL.
  • PilotGOne is a free SGF game recorder for Palm Pilot and compatible machines using PalmOS2.

Servers, Go Modem Protocol and Gnugoclient

  • The NNGS server source is published under the GPL. Here's the current development page.
  • The Dragon Go Server source is also published under the GPL.
  • ML Rating by Per-Erik Martin is a rating program for Go. It is used as an alternative rating on NNGS. It is licenced under the GPL.
  • Gnugoclient 2.0. Not a part of GNU Go per se, this is the program used to connect GNU Go to NNGS and play games without supervision. It is licensed under the GPL. Version 2.0 released July 5, 2001 is a major enhancement. Requires GNU Go 2.7.245 or later and a recent version of Pike.
  • twogmp by J.-L. Martineau is a GPL'd program which allows you to play two Go Modem Protocol programs against each other.

A Go variant

  • XiStrat is a board game environment which includes support for Go on general polyhedra. Licensed LGPL.

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