From: cracraft@gnu.org (Stuart Cracraft)
Newsgroups:gnu.chess,rec.games.chess.computer,alt.chess.ics,alt.answers,rec.answers,news.answers
Subject: gnu.chess FAQ: GNU Chess Frequently Asked Questions
Followup-To: gnu.chess
Reply-To: bug-gnu-chess@gnu.org
Approved: news-answers-request@MIT.EDU
Summary: Answers to frequently asked questions in the gnu.chess
  newsgroup, covering the chess-playing program GNU Chess.

Archive-name: games/chess/gnu-faq
Version: $Id: chess_faq.html,v 1.1 2001/02/13 00:48:04 webcvs Exp $
Posting-frequency: as-needed

GNU Chess:
Frequently Asked Questions

Here is the list of frequently asked questions and answers for the gnu.chess newsgroup, covering the chess-playing program GNU Chess and a few other chess topics. In addition to the plain text version that is posted to the newsgroups, a hyperlinked version of this FAQ is available at www.gnu.org in the GNU Chess Software/chess area. http://www.gnu.org.

NOTE: This FAQ is fully updated to cover the GNU Chess 5.02 release announced on 1 April 2001.


Outline


Detailed contents


[A] Introduction and hot topics


[A.1] What are the gnu.chess newsgroup and info-gnu-chess mailing list for?

The newsgroup gnu.chess and the mailing list info-gnu-chess@gnu.org if for the discussion of GNU Chess. It was created by Stuart Cracraft, in the early 1980's prior to the renaming of Usenet's bulletin boards.

gnu.chess and info-gnu-chess are not for general chess or computer chess discussion. You won't be flamed if you post such messages here, but you will find more information in other places. See topic [A.3] below.

PLEASE DO NOT try to start or play chess games by posting messages to gnu.chess. Instead, read the rec.games.chess FAQ (see topic [A.3]) to learn about the IECG, the IECC, and other groups that you can join to find opponents, and send one or more of them email to join.

The newsgroup and mailing list are gatewayed bidirectionally; that is, any article posted on the newsgroup is automatically forwarded to the mailing list, and any mail sent to the list is automatically forwarded to the newsgroup.


[A.2] How do I subscribe or unsubscribe?

The simplest way is to either choose to read gnu.chess in your newsreader, or choose not to.

If you want to be added to or deleted from the mailing list, mail to info-gnu-chess-request@gnu.org (not to the list or newsgroup itself).


[A.3] Where can I get chess information and chess software?

As a shortcut to most things mentioned in this FAQ, try my Chess Web page, http://www.research.digital.com/SRC/personal/Tim_Mann/chess.html. My Web page is the best place to get the latest versions of XBoard and WinBoard and the most up-to-date version of this FAQ.

For general news and information about chess, try the newsgroup hierarchy rec.games.chess.*, especially the groups rec.games.chess.misc and rec.games.chess.computer. Both of the latter groups have very informative FAQs maintained by Steve Pribut; look for them on the newsgroups or at http://www.clark.net/pub/pribut/chess.html.

Like other GNU software, you can get GNU Chess, XBoard, and WinBoard by anonymous FTP from ftp://ftp.gnu.org/pub/gnu/ and its many mirror sites. Look in the subdirectories chess xboard, and winboard. The .tar.gz suffix on the files there indicates they were packed with tar and compressed with gzip. The .exe or .zip suffixes indicate files that were packed and compressed with zip.

For other chess software, try the Internet Chess Library. Use anonymous FTP to connect to ftp.freechess.org, or go to the Web page http://www.freechess.org/. You can get chess software, game collections, the FAQ file for rec.games.chess, and other chess-related material there, in the directory pub/chess. The FTP server can automatically decompress files for you as you download them, useful if you don't have gzip.

Here is a sample anonymous ftp session. Some of the ftp server's responses are abbreviated, but all the commands you must type are included.

% ftp ftp.gnu.org
Connected to ftp.gnu.org
Name: anonymous
Password: your-email-address@your-site
ftp> binary
200 Type set to I.
ftp> cd /pub/gnu/chess
250 CWD command successful.
ftp> dir
-rw-r--r-- 1 14910 wheel 1512181 May 20 00:52 chess-5.02.tar.gz
ftp> get chess-5.02.tar.gz
150 BINARY connection for chess-5.02.tar.gz (500200 bytes).
226 Transfer complete.
ftp> cd /pub/gnu/xboard
ftp> dir
-rw-r--r-- 1 14910 wheel  393119 May 20 00:25 xboard-4.0.3.tar.gz
ftp> get xboard-4.0.3.tar.gz
150 BINARY connection for xboard-4.0.3.tar.gz (393119 bytes).
226 Transfer complete.
ftp> quit

[A.4] What are the current version numbers for GNU Chess, XBoard, etc.?

At this writing, the current version numbers are:

[A.5] Who is working on this project?

Stuart Cracraft founded the GNU Chess project the year GNU was started. Having collaborated with Richard Stallman before GNU when they introduced the self-learning EMACS editor tutorial. When GNU started, Stuart felt the GNU project needed a good mascot, akin to the team's dog at a football game. He worked with Richard to introduce the GNU Mascot mutt (GNU Chess) to the world. Since then, GNU has snarled its way up the rating latter and now sports a senior master rating at the Free Internet Chess server when run on modern computer hardware (as of the time of this writing the development machine is a 1.5GHz Pentium 4.) Chua Kong-Sian of the Singapore Supercomputing Center is the primary author of GNU Chess version 5. He based GNU Chess 5's move generator on an article by Stuart in the ICCA Journal 1984. We are indirecty indebted to Dr. Robert Hyatt of the University of Alabama at Birmingham for feedback over the years. All development on the 4.x series, including the native-PC standalone version, was stopped as of 10/10/99 (but note that it runs anyway on a PC under WinBoard.) Bug-fixes or email regarding 4.x series will be politely returned to sender with a request to use 5.x instead. 4.x is not supported officially or unofficially by the Free Software Foundation now or in the future. Stuart Cracraft maintains the GNU Chess FAQ.

[A.6] How do I report bugs, offer help, etc.?

Any time you want to report a possible bug in GNU Chess, I need to know exactly what commands you ran and what output you error messages you. I will not do your debugging or work for you but will fix authentic bugs.

If you are using Unix, run the "script" program, run XBoard with the -debug flag (if you get as far as running it), do whatever is necessary to reproduce the problem, type "exit" to the shell, and mail us the resulting typescript file. We also need to know what hardware/operating system combination you are using. The command "uname -a" will usually tell you this; include its output in your typescript.

If you are using MS Windows, run WinBoard with the -debug flag, and send us a copy of the WinBoard.debug file. If you aren't sure how to add command-line flags to WinBoard, you can hit Ctrl+Alt+F12 to create a WinBoard.debug file after WinBoard starts, but that is not as good, because a few messages that would have been printed at the start are lost.

Either way, please send me the exact text of the commands you typed and the output you got, not just your recollection of approximately what they were. The messages may seem meaningless to you, but they are very meaningful to us and essential for diagnosing problems.

You should be able to contact all the members of the project by sending mail to bug-gnu-chess@gnu.org. If you don't trust this list, you can send mail about this FAQ to Stuart Cracraft (cracraft@gnu.org); but send mail about XBoard or WinBoard to Tim Mann (mann@pa.dec.com); and finally please send mail about cmail to Evan Welsh (R.E.Welsh@quadstone.co.uk). Comments that are of interest to all users of the software should be posted to the gnu.chess newsgroup.


[B] GNU Chess


[B.1] What is GNU Chess?

GNU Chess is a free chess-playing program developed as part of the GNU project of the Free Software Foundation (FSF).

GNU Chess is a communal chess program. Contributors donate their time and effort in order to make it a stronger, better, sleeker program. Contributions take many forms: interfaces to high-resolution displays, opening book treatises, speedups of the underlying algorithms, additions of extra heuristics. These contributions are then distributed to the large user-base so that all may enjoy the fruits of our labor.

GNU Chess is intended to run under Unix or Unix-compatible systems. It is written in C and should be portable to other systems.

For a test drive of the previous version, try WebChess, a World Wide Web interface provided by DJ Delorie. The URL is http://www.delorie.com/game-room/chess/.


[B.2] What is GNU Chess's rating?

It would be irresponsible to answer this question with a number, without first explaining a few things about ratings.

The ratings that are commonly given for computer chess players are less meaningful than they may seem. Most computer chess players (including GNU Chess) do not play in tournaments against humans, or do so only rarely, so they do not have official ratings from FIDE, USCF, or other chess organizations.

Some people have methods for rating chess programs approximately by giving them a set of problems to work on and seeing how they do, or by having them play tournaments against each other. Any rating number produced by such means should be taken with a grain of salt; it may be only a rough approximation to the rating the program would achieve in over-the-board tournament competition against humans. The chess skills required for solving problems or playing against other computers are not necessarily the same as those required for play against humans. Also, of course, tournaments among computers can rate the computers only relative to one another, not relative to humans. Some of the computers need to be rated by other means to give the ratings a basis to start from.

Compared with human players, computer players are strong tactically but weak strategically, and are much better at blitz chess than at slow chess. These differences make it more difficult to assign a meaningful rating too.

Several computers do play regularly on the Internet chess servers and have achieved ratings there. These ratings have the advantage of being based on many games. On the other hand, ICS ratings are only roughly comparable to USCF or FIDE ratings. Many players have ICS ratings that are hundreds of points higher or lower than their USCF or FIDE ratings.

Finally, unlike dedicated chess machines, or PC chess programs that run on only a few different models of Intel processors, GNU Chess runs on many different kinds of CPU at many different speeds. Thus its strength depends on how fast a machine you run it on and how much optimization your C compiler does. Some people have formulas for estimating how a computer player's rating varies on faster or slower machines---see the rec.games.chess FAQ for more information---but these need to be taken with a grain of salt too.

All that said, here are some numbers.

- On Internet Chess Club (www.chessclub.com/finger/gnuchess), GNU Chess, running on a dual-cpu 800mhz Pentium 3 with only one processor fully dedicated to GNU sports a lightning rating of 2601, a blitz rating of 2587 and a standard rting of 2349. On the Free Internet Chess Server (freechess.org), GNU Chess running on a 1.0 Ghz Pentium 4 sports a rating a couple hundred points lower due to the rating inflation at ICC and the relative deflation at FICS.\


GNU Chess 5 provides full capability on a PC. In fact, it was jointly developed on a PC running Windows 95 and on a GNU/Linux system with full graphical capabilities (mouse to move pieces, etc.) Obtain full code, with copyleft, at http://www.gnu.org. And remember, you must share your improvements. You are not permitted, legally, to hoard them. You must share.

Porting GNU software to PCs is not a focus of the GNU project, and these ports are not supported by the FSF. However, you should know that the development machine for GNU Chess is (currently) a 1.5Mhz Pentium 4 running Windows Millenium so I am not personally adverse to Microsoft.


[B.3] How do I build GNU Chess? Do I need gcc?

The first step to building GNU Chess is to get the distribution file and unpack it. See above.

To unpack the GNU Chess distribution, chess-*.tar.gz, put it into a new, empty directory, cd there, and give this Unix command:

    gzip -cd chess-*.tar.gz | tar -xvf -
If this command fails because you don't have gzip, see topic [A.3], and ask a local Unix expert if you need more help.

The above command will unpack all the files into a new directory. Next, cd into this new directory.

Decide what directory tree you are going to install GNU Chess in. The default is /usr/local. If you have write access to this directory tree, make sure that it contains subdirectories bin, lib, and man. (If you must "su" to get write access to /usr/local, you don't need to do so until just before the "make install" below.) Type the following:

    autoconf
    configure
    make
    make install
If you do not have autoconf, get it from www.gnu.org (/pub/gnu/autoconf). autoconf builds configure which then builds make. Please don't "wing" it by bypassing autoconf nor configure. Get the proper tools. If you are going to install GNU Chess under your home directory for personal use, do this instead:
    mkdir $HOME/bin $HOME/lib $HOME/man
    configure --prefix=$HOME
    make
    make install
If you have problems or special requirements, see the files README, INSTALL, Makefile.in, and configure.in for more information.

You must have GNU CC (gcc) to build GNU Chess or at least a compiler that has the equivalent of GNU CC's "long long", a 64-bit datatype (see common.h in the distribution for the datatype.) ** End of GNU Chess FAQ **