Tim Kosse on Filezilla

dcp's picture

Filezilla is probably the most popular cross-platform FTP client around. Blue GNU caught up with Tim Kosse in the wake of the recent 3.0 release to take stock of this handy utility.

First, would you mind telling me a little about yourself, where you live and your interests?
I'm the project leader and one of the founders of the FileZilla project. I'm from Germany and 25 years old. I've been a self-taught C++ developer for over a decade and writing software is one of my hobbies.

When and why was Filezilla started?
The project has started in early 2001 during my final year at school for the computer science course. We had complete freedom on the choice of the project. So together with two other students, we decided to write an FTP client just to do something interesting. (For comparison, the rest of the course did a 3-dimensional connect four game.) We didn't expect FileZilla to be any success at all. Since then I've continued development and FileZilla slowly became what it is today.

Where does the project stand at this point?
Recently I've released version 3.0.0 of the client which is a complete rewrite. This was necessary since the old code became more and more unmaintainable. It had far outgrown it's original design, so I decided to start over from scratch.
Apart from the internal changes, being cross platform is the main new feature of FileZilla 3.

How many active developers currently work on Filezilla?
Despite some irregular patch contributors, I'm unfortunately the only developer. However I got some active project members helping with bug and feature request trackers. Last but not least a vast number of translators are submitting updated language files.

What is your primary development toolset?
On Windows: Visual Studio. On Linux I'm using KDevelop.

Many projects depend on libraries, tools, etc. developed by others. What are some of the key external elements you rely on?
FileZilla uses the powerful wxWidgets library for its user interface and also things like string, socket and thread classes, event handling and so on. Due to my work on wxWidgets I've become an active contributor to the wxWidgets project. In order to support the SFTP protocol, FileZilla uses code from PuTTY. SSL/TLS support is provided by GnuTLS.

How does Filezilla compare (in your view) to other projects?
On Windows, there aren't many open source programs for FTP and SFTP. The only major one I can think off right now is WinSCP, which only recently added support for plain FTP by using code from FileZilla. It's a Windows-only project though. One reason for this lack of OSS FTP software on windows is the total market saturation for FTP clients, there are hundreds of different FTP clients available, ranging from freeware to fully featured commercial FTP suites. Though personally I find that most of them either have a terrible user interface or suffer from Featuritis. Then there's also FireFTP which is a Firefox addon, I haven't used it though.

On Linux there's a lot of competition. Every file manager supports FTP to some extent and lots of stand-alone clients exist. In the past, when I was looking for an FTP client on Linux, often gFTP got recommended. Another popular, more recent client is KFTPgrabber, which also uses some code from FileZilla.

So compared with other projects, one could say FileZilla is the most popular stand-alone cross-platform FTP client.

Can you give me any idea of how big and/or active the Filezilla user community is?
As of the userbase itself, I have no idea. I can give you some stats though: FileZilla 3.0.0 got released on 2007-09-08. Three and a half days later it got downloaded over 110k times from the official mirrors only. Not counting third party mirrors and installations through packages provided by Linux distributions. The update check URL however that FZ3 contacts to check for new versions got accessed over 200k times already since the release. Not everyone has
enabled though.

The community mostly consists of the registered forum users. Some of which are very active and reply to the many questions.

What needs to be accomplished before the next release of Filezilla?
For the next few releases I want to re-implement some features that existed in FZ2 but did not made it into FZ3 yet. One example would be the ability to download, edit and upload remote files all with a single command.
Totally new features on my todo list not found in either 2.x or 3.x yet, are for example directory comparison and synchronization. For the far future I'm planning to add things like WebDAV support or writing a commandline version of FileZilla.

What are the biggest obstacles the Filezilla team faces in development?
1) Lack of time. So much things I would like to implement still.
2) Support. Bug reports without useful information, unrealistic feature requests and stupid/unrelated questions. Over and over and over again. Fortunately I got some helping users keeping the bug and RFE trackers manageable and replying in the forums.

Is there anything else about Filezilla you think our audience should know?
I'm always looking for help. If there are any skilled programmers out there interested in participating in the further development of FileZilla, let me know.