In this edition, we conducted an email-based interview with Bernd Kreuss, the developer of TorChat, a peer-to-peer instant messenger with a completely decentralized design.

What inspired you to create TorChat?

When I first learned about how Tor hidden services work and what they can do, I was immediately fascinated by the concept. I thought to myself, "There must be cool and useful applications that can benefit from the ability to establish these kind of peer-to-peer connections over the Tor network, even if users are behind a NAT." I began experimenting, and what was initially only a little experimental python script to play with these Tor hidden connections, quickly evolved into a messaging application. I told a few people about it and soon I had a dozen contacts on my buddy list, which inspired me to add more and more features. Since the people that helped me test it were other Tor users and all had a strong interest on privacy and anonymity, I concentrated on making the default as secure as possible, while still being easy to use for the average person.

How are people using it?

There seem to be different groups of users. One group are people like me, who are fascinated by the technology and want to experiment with cool stuff. Another group of users are interested in privacy enhancing technologies, like GPG, and everything else that makes wiretapping by all the various "three letter agencies" less efficient. And of course, you can also occasionally see it used by people who are doing illegal things. That was never its intended purpose, but there is no way to prevent any specific usage of such tools without sacrificing all its advantages (censorship resistance, privacy, anonymity, and decentralization). Because of the anonymous nature of TorChat, it is difficult to answer this question exactly. This information is unknown and unavailable by design.

What features do you think really sets TorChat apart from similar software?

There is no similar software. The closest thing would have been something that was called "i2p-messenger," but I believe that it has been discontinued. All other instant messengers use a central server, which can be controlled/seized by law enforcement or other authorities, and aren't designed for anonymity. Some messengers also use encryption or can be used in conjunction with Tor, but none of them have all three features in one application.

Why did you choose the GNU GPL version 3 as TorChat's license?

I believe the way the GPL ensures that the code and everything derived from it remains free is a good thing. As for the exact version number, I am not sure; I believe I just choose the latest version. The most important decision was between using the GPL or something else, and I chose GPL.

How can users (technical or otherwise) help contribute to TorChat?

They can report bugs or ask me questions, so I can notice if something is not yet as intuitive as I want it to be or if there are problems. I also take patches if I agree with the way it is implemented, but currently I don't have much time to work on them. Fortunately TorChat seems to be almost bug free, so there is not much work to do at the moment.

What's the next big thing for TorChat?

An Android version has been planned for a long time now and hopefully I will eventually get it done. There is also an 80% complete rewrite. I wanted to rewrite it in FreePascal, but that's another story. Should I ever implement additional features in the protocol, then the first feature on the list would be group chat or conferences, but I can not promise that yet.

Please see the TorChat entry in the Free Software Directory for more information.

Enjoyed this interview? Check out our previous entry in this series featuring Shiv Shankar Dayal of Kunjika.