So-called cloud storage services such as DropBox, SpiderOak, SkyDrive and Google Drive provide a convenient means of moving files between different computers and have largely eliminated the need to use USB thumb drives or other physical means to move data. Most online services however, suffer from one or more of the following shortcomings:
- The amount of storage one can use tends to be very small. Especially when considered against the size of an average computer hard drive.
- The user’s data is completely exposed to the cloud provider.
- The end-user software provided by the cloud provider may not support all platforms the user has, and may provide limited features.
From the above reasons, I was very excited to hear about BitTorrent Sync. BitTorrent Sync eliminates the first problem by having the amount of storage a user can use limited only by the size of the hard drive that he has. It solves the second problem by being completely peer-to-peer, which means that data is synced only between computes that the user chooses and controls. The 3rd problem is so far been approached in a satisfactory manner as clients are available for all major platforms.
I have used BitTorrent Sync almost since its first release, and generally have been very happy with it. So happy, in fact, that I donated some code to open source projects that integrates it better with the Linux desktop.
However, my use of BitTorrent Sync had been accompanied with a feeling of guilt and some anxiety. You see, BitTorrent Sync is a proprietary product with a closed-source client. There is no community that can guard against the vendor ending up doing funny things with the user’s data. Right now I believe in the good will of the BitTorrent company which stems from them being a small niche player that has much to prove. But this may change some day.
All of the above is why I have been following the Syncthing project with some interest. Syncthing is a free an open source software that largely similar to BitTorrent sync. It is written using the Go language and licensed under the GPLv3. The only downside I see, is that no one wrote a good Linux desktop client for it yet (The project itself provides only a web-based GUI on all platforms). I will definitely try using it in the future and maybe even end up porting the BitTorrent Sync desktop GUI to using it on the back-end.