BitTorrent, creators of the highly popular distributed peer-to-peer file sharing protocol, recently released BitTorrent Sync, a solution for syncing folders between machines based on the BitTorrent protocol. BTSync provides a fully distributed and encrypted alternative to services like Dropbox where all your data is synced through a third-party server.
BTSync has been released for Windows, Mac, Linux and other platforms, although the user experience on Linux isn’t quite as polished as it’s counterparts – the only interface provided is via a local webserver accessed through your browser, while Windows and Mac get a nice desktop GUI with a system tray indicator. I found this a pain as I’d sometimes finish making changes to a synced file and want to shut my computer down quickly, but had to open my browser first to check if the file had finished syncing.
While BTSync isn’t Open Source, the developers are very open to feedback from users and developers. I quickly realised that I’d be able to use data from the web interface to create a desktop indicator for Linux, so in the open source tradition of scratching my own itch, I wrote a python script that gave me an indicator to show if a file was syncing. When it was workable, I stuck it on Github with an open source licence and made a post on the BitTorrent Labs forum.
I then noticed another post on the forum by a developer called Leo Moll – he was packaging BitTorrent Sync for Ubuntu and Debian distributions, and as I’d written my script with Ubuntu in mind, asked if he’d like to include it in his packages. He agreed and before long my indicator could be installed alongside a well integrated BitTorrent Sync client.
Here’s when things really took off. With it being so easy to get hold of my indicator, people started using it and reporting bugs on the GitHub page. Almost as quickly, they started submitting patches. I got a new set of better animated icons for the indicator, various bugfixes for cases I’d not come across, new feature requests, and even someone packaging the indicator for Arch Linux.
Alongside this Leo and I were contacted by another developer who was packaging BitTorrent Sync for Debian and Ubuntu. We had a discussion and worked out where best to focus our efforts to avoid duplicating each other’s work and creating conflicting packages. Leo and I are now discussing merging our codebases to streamline our work and allow for better integration.
In the space of a month, what started as a little hack to make my life a little bit easier has become a vibrant project with an engaged community of developers and users. The real key, I think, has been to make it as simple as possible to let users run the software, and to show I’m listening and responsive to feedback.