GiraffeFTP is a Java based FTP client and server. It includes GUI and commandline tools. Good code to see to understand the FTP Protocol and sockets. Also includes a non-standard implementation of SSL sockets.
XYLFTP is an FTP suit that contains both an FTP client and an FTP server. It is intended for us to practise software engineering in an open-source way. Hopefully it will be useful for Linux users.