Open source chess playing or pgn viewing libraries Is anyone familiar with any open source chess libraries in any language that can do any of the following:


parse PGNs and/or FENs
calculate valid chess moves based on position
process an entire chess game


EDIT:

Sorry, I should be more clear. I'm not looking for open source software, I'm looking for open source programming libraries.
Crafty

Crafty is a strong chess programm and can be used with Winboard, Xboard and Scid. So it is available for all major operating systems.

Scid

Scid can maintain databases of chess games, you can analyse (end) games.The software is available for all major operating systems.

Xboard

Xboard is a user interface to the Internet Chess Server. It uses the X Windows System, so I assume this runs only under GNU/Linux. Xboard can be used as a viewer and supports all forms of chess.