jfreecell is a basic version of FreeCell written in Java.
Simple compile and run:
$ cd src
$ javac freecell/*.java
$ java freecell.FreeCell
This game works very much like the original Windows version: click a card to select it, then click a column or a cell to move it there. Click in the green area to cancel a move. You can also double-click to auto-move.