Short bio: Computer Scientist, FOSS supporter (read more)
Tux Machines (TM)-specific
A chess engine is the actual program against which you play the game. A chess engine can take a move as an input, and after analysis, generate a move of its own as an output. Chess engines for Linux are comparable in strength to commercial chess engines available for other platforms. Here's a look at the features of half a dozen of the most well-known chess engines for Linux.
To play against such an engine, you need a user interface. Most chess engines provide a command-line user interface, but that can be quite awkward. To make things easier, you can use a complete graphical user interface to communicate with the engine. XBoard and UCI (Universal Chess Interface) are two of the most popular and widely used free, open source communication protocols that enable a chess engine to communicate with a graphical user interface. Isolating the chess engine from its GUI gives you the choice of using any interface of your preference. You can easily make two chess engines, each of which supports these protocols, play against each other by making them communicate through an XBoard or UCI interface.
Crafty, developed by Robert Hyatt, is a descendant of the Cray Blitz chess engine that was the World Computer Chess Champion from 1983 to 1989.
GNU Chess is a free chess-playing program developed as part of the GNU project of the Free Software Foundation.