[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gnugo-devel] Probable GPL violation

From: Stéphane Nicolet
Subject: Re: [gnugo-devel] Probable GPL violation
Date: Mon, 18 Oct 2004 22:55:02 +0200

They seem to have a Mac GUI. Does anyone recognize it?

The links on that page is actually an archive in Mac format, with both precompiled binaries for MacOS Classic (compiled in 2001) and the complete code for GNU Go 2.6 (with the GNU COPYING file).


Here is the readme at the top level the archive :


MacGnuGo version 0.5 and GnuGo_anymac README

Included here are two Go playing programs, GnuGo_anymac and MacGnuGo.

GnuGo_anymac is pretty much a direct compilation of GnuGo, version 2.6, created by the Free Software Foundation ( To use it, double-click on the icon and this dialog appears:


This box is a substitute for a command line. You can just hit return here and play a game, or if you know about command-line options, you can try some of those. After hitting return here, type “help” after the board display to get a list of commands, and you’re off.

These are the command-line options for GnuGo_anymac:

Usage : gnugo [-opts] (don’t type “gnugo,” just the options)

Main Options:
--mode <mode> Force the playing mode ('ascii', 'test' or 'gmp').
                         Default is ASCII.
If no terminal is detected GMP (Go Modem Protocol)
                         will be assumed.
       --quiet           Don't print copyright and other messages
   -l, --infile <file>   Load name sgf file
   -L, --until <move>    Stop loading just before move is played. <move>
                         can be the move number or location (eg L10).
   -o, --outfile file    Write sgf output to file
-p, --playstyle <style> style of play, use --help playstyle for usage

Options that affect strength (higher=stronger, slower):
   -D, --depth [depth]          deep reading cutoff (default 14)
   -B, --backfill_depth [depth] deep reading cutoff (default 9)
   -F, --fourlib_depth [depth]  deep reading cutoff (default 5)
   -K, --ko_depth [depth]       deep reading cutoff (default 8)

Option that affects speed (higher=faster, more memory usage):
   -M, --memory [megabytes]     hash memory (default 8)

Game Options: (--mode ascii)
       --boardsize num   Set the board size to use (3--21)
       --color <color>   Choose your color ('black' or 'white')
       --handicap <num>  Set the number of handicap stones (0--9)
       --komi <num>      Set the komi

Informative Output:
   -v, --version         Display the version of GNU Go
   -h, --help            Display this help message
       --help analyze    Display help about analyzer options
       --help debug      Display help about debugging options
       --help playstyle  Display help about playstyle options
       --copyright       Display copyright notice

You don’t need to type “gnugo” as that is implied when you double-click on the program.

Do not e-mail me with any questions regarding GnuGo_anymac, unless it just won’t run. If you have questions about GnuGo in general, go to


MacGnuGo 0.5 gives a Mac interface to the GnuGo engine v 2.6 created by the Free Software Foundation. MacGnuGo is freeware, and its code is free code.

You can play against the GnuGo engine, get hints, watch the changing moyo each move, watch GnuGo play against itself.

This version supports 10 different levels, patterned boards, fancy stones, and atari, capture, & stone click sounds. If you’re decent with ResEdit, you can create your own stones & board patterns as well.

However, it is NOT GnuGo. GnuGo (described above) has many features, such as analyzing sgf files, a trace option so you can watch it think, debugging features, and more. But GnuGo, when compiled for the mac, is an all-text version, and unusable with a GUI interface. That is why I decided to create MacGnuGo.

As indicated by the version number, this program is half done. But I wanted to get it out there, to let people know that there’s someone working on a front end to GnuGo for the Mac. It’s missing Apple Event support, undo, navigation, and has a few bugs. But it is a decent start, I think, and you can play a quick game on it.

Loading and saving smart go format files is supported. However, you cannot load just any sgf file, as the GnuGo engine doesn’t understand all sgf files. Also, when you load a file, MacGnuGo for the time being assumes you’ll be restarting a game, and will take you to the last move in that game. You cannot undo moves, so you’ll only be able to go forward. In other words, until I work out a good way to navigate through SGF files, you’ll only be loading files in order to resume playing. You can, however, save a game and then open it with an SGF viewer if you like, such as Gomo, Ponnuki Go, or SmartGo Board.

Pressing command-period while GnuGo is thinking works, but only half-heartedly. If you are running GnuGo against itself, pressing command-period will make GnuGo inactive after its next move, allowing you to change some settings. If you press command-period during GnuGo thought, you will still have to wait for GnuGo to make a move before it’s deactivated. I haven’t found a way yet to force a move, but I’ll look into it.

If GnuGo just sits there, without the watch cursor coming up, Choose “wake up” from the “Play” menu, which will make GnuGo think of the next move.

The rest of the program I think is self-explanitory. Double-click it and check it out.

MacGnuGo Bugs
There are a coupla bigger bugs that I haven’t delved into yet: GnuGo may perform illegal ko moves, and sometimes will place itself in a suicide! I’m assuming it’s something I’m doing, because version 2.6 of the GnuGo engine is supposed to be pretty stable. Also, in the later parts of a game, GnuGo may fail an assertion in “fillib.c,” which basically ends the program. If this happens, you have to press command-Q to quit, and hit “Don’t Save,” then start up again. If you keep the strength level high, this is less likely to happen, it seems. I can’t figure it right now.

Anyway, here it is. If you have any feature suggestions or bug reports, you can send them to


which is where I get that kind of mail. I can’t promise an immediate response, but I’ll try.

Programmers: read the README_code file for more information on the code.

Other things I’d like to see in this program, or will be in shortly:
Undo support
SGF navigation + display (including adding comments, variations, markings, etc.) Cheat Mode. An option-click will let you place any color stone (including “empty”) anywhere on board. A Get Info function that can display moyo, influence, liberties (first order- fourth order), probable score, based on any point on the board or the whole board itself. contextual menu support (get dragon status, move values, influence value, etc. for a particular point on the board)
A plethera of analyzation features, including variations and more.
Run-time annotation to your SGF file.
Apple event suite that supports playing (like the exaChess protocol).
Basic Apple event support (open, print, save, etc.)
a GnuGo engine thinking display
Speeding up the moyo & dragon status display, adding more display options (like always showing move values, eye spaces, etc.)
Scripting support
Prettier patterns & stones
Support for a clock & overtime
General airbrushing on dialogs, score display, handling of game over...
Balloon Help, and Help in general.
World-Script support, translation to other languages.
Better sounds

Full support for any command that GnuGo lets you give it in the ascii version.

Actually, I’d like to see it develop into a full-fledged Go-analyzing helper. Since Explorer and SmartGo abandoned the mac, somebody’s got to pick up the slack.


Jeremy Harris.

... /// ... \\\ ...

reply via email to

[Prev in Thread] Current Thread [Next in Thread]