FileZilla is one great open source FTP client that -- up until now -- was available only for Windows. Version 3 is a ground-up rewrite that makes the application available for the first time on Linux, too.
You can download the latest FileZilla release either from filezilla-project.org or through the project's SourceForge.net page. In both places, you will find the older FileZilla 2.x series for Windows only, and the 3.0 series for Linux, Mac OS X, FreeBSD, and Windows.
Despite the similarity in names, FileZilla is not built on top of Mozilla code, nor does it use Mozilla-derived technologies like XUL. It does use wxWidgets for its cross-platform user interface elements, and is built on top of the standard GNU toolchain.
The current Linux download is a tarball containing the filezilla binary, a command-line SSH FTP (SFTP) utility called fzsftp, and various editable configuration files. Since the Linux download does not include an installer, make sure that you have wxWidgets installed before you get started.
Dust off those files
By default FileZilla's interface takes the two-pane approach common to many FTP applications -- one column for the local machine, one for the remote machine. Above sits a message window that tracks status messages from the FTP server. You can rearrange the basic layout of the local and remote window panes through the Preferences dialog; you do not have absolute power to rearrange the panes, but can hot-swap between four horizontal and vertical arrangements.
You can also switch icon themes, although there is little variety among the supplied alternatives. I did not find any information in the FileZilla documentation or wiki relating to how to create a new icon theme.
Getting FileZilla to work is simple; you can enter FTP, SFTP, or FTP-over-SSL sites into the Quick-connect fields at the top of the window and connect fast. You can save settings for regularly visited sites (including details like starting directory) in the site manager. In other words, so far, FileZilla is exactly like any other FTP client.
FileZilla does do one thing differently from other FTP clients: it queues file transfer operations until you hit the "process button" on the toolbar. At the bottom of the window, FileZilla lists the current queue -- as they are processed, successes move into the "successful transfers" tab, and failures into the "failed transfers" tab. With failed transfers so grouped together, you can get a quicker overview of any connection problems, and retry them without having to dig back through the message log. Whether the queue approach is desirable or not is largely a matter of individual taste, but I find it superior to the instant-transfer-only approach.
Compare and contrast
I use an FTP client only when I have more than a handful of things to do -- otherwise, I can just use my hosting provider's secure Web upload facility. File transfer is such a monotonous task that the less noticeable it is, the better. In the past I have generally used gFTP on my Linux systems, but I always found its interface getting in the way: overloaded and unorganized menus, mis-sized username and password fields, unclear options, and graphical elements that appear unchanged since the 1990s.
KDE's Kasablanca isn't much better. My suspicion is that both major desktop environments want you to use their desktop file managers to do FTP. That, too, is acceptable only for minimal tasks. File managers always seem to want to open multiple windows, create thumbnails, hide extensions and ".dot files," and in general optimize the experience for visual inspection of the directory contents.
FTP work is more often than not a matter of getting updates transferred as quickly and simply as possible. At this, FileZilla is better than the alternatives. Both the local and remote views separate directories and files into different panes, which aids navigation. You can toggle the display of ".dot files" on and off on the fly. The site manager is simple and well laid out. Even the firewall/router configuration wizard is designed right, explaining the various options (e.g., active versus passive FTP mode) succinctly but in plain English.
More to come
There are a few features lacking in this release of FileZilla that some users will miss. One is a simple sync command, to compare and synchronize the remote and local directories. Another is so-called local editing of remote files. In most cases, this is actually performed with sleight of hand by copying the remote file to a temporary local directory and then re-uploading it on save. Still, it is a function a lot of people take for granted, and you will have to work around its absence in FileZilla for the time being.
I tested FileZilla on FTP and SFTP sites and have yet to encounter any bugs or crashes. I did notice some focus weirdness in the interface, though, which may be the fault of wxWidgets. I could not triple- or quadruple-click to select entire lines or paragraphs, which was an annoyance when adding sites to the site manager. Every new site you add starts off named New Site, so you must rename it -- but you can't select the words "New Site" by clicking on them. Instead you have move the cursor to the end of the text with the arrow keys and backspace it out. Trust me, the third time in a row that you do that, you will appreciate the mouse selection behavior you take for granted in every other app.
Slightly more important was the fact that it often required multiple mouse clicks to get the cursor to move from one field to another. That is not a showstopper either, but it is irritating to click into the password field, start typing, and only then realize that the cursor is still up in the username field.
The FileZilla development team plans to add both sync and local editing features in future releases. Although the project lacks a firm road map, you can follow the app's progress in the development journal thread at the project's discussion forum.
FTP is one of the oldest Internet protocols still in use. A lot of Linux users expect FTP and SFTP support to be integrated into other tools these days -- if you are developing Web apps, for example, you probably want it in your IDE. But there will always be individual files out there that need to be transferred. Having used FileZilla with great success on Windows, I am glad that Linux users now have it as an option for their desktops as well.