Nowadays, technologies afford syncing files of all sizes among as many devices as you have, including computers, laptops, tablets, and mobile phones. In most cases, people prefer to use cloud storage services as they are convenient and really come in handy when, for instance, you need to send one or two gigabytes of vacation photos to your parents, or share a big office project to colleagues, or simply keep all important files and documents synced and always at hand.
Not so long ago, I have written a favorable review of the BitTorrent Sync program, which for that moment stayed highly competitive among other syncing applications. But soon after the release of my article (what was strange enough), significant changes have come as a nasty surprise. BitTorrent Inc. has made an absolutely free program commercial. Now, to derive a benefit from all the program's features, users should pay $39.99 per year. The free version of BitTorrent Sync is still available, but now it has functionality limits, and a smaller number of folders for syncing is, I guess, the primary disadvantage of that new version.
Luckily for those who don't want to spend the money but enjoy all the possibilities of today's syncing mechanisms, I have found a free open-source cross-platform alternative: Syncthing.
Syncthing is a program that uses a peer-to-peer (P2P) file sharing network to synchronize files between computers. The function of the remote server in such a system is to produce a connection between devices and not to store your data. That prevents you from losing your files if something happens with an unknown server.
Syncthing also embraces an effective and safe Block Exchange Protocol (BEP), works over local networks and the Internet, and provides an intuitive interface. Its main features may be described in the following unordered list:
- an open-source code and protocol;
- identification of every note by a strong cryptographic certificate;
- support for a block synchronization (if you make a small change in a big file, the changed block is synchronized only);
- unlimited channels;
- an opportunity to choose the notes which gain access to a synchronized directory;
- synchronization by the last-change date;
- the “master-slave” option (the chosen notes will be synchronized with a given directory, but won't be able to change the files inside it);
- an easy-to-understand interface;
- a cross-platform support (Windows, Mac OS X, Linux, FreeBSD, and Solaris);
- a concern about privacy and safety (there is no central server that might be compromised, legally or illegally, also, all communication is secured using TLS);
- a simple working algorithm (every machine is identified by an ID, no IP addresses and complicated configuration left).
So, these key characteristics of Syncthing have already been implemented but the program itself is still in development. Of course, nobody can guarantee that the free and open-source application that is publicly available now won't become a paid one soon. But even if the developers decide to change the Syncthing distribution license from open source to proprietary, I'm sure a number of enthusiastic programmers will continue developing the program and sharing it with others for free. By the way, the Syncthing code mentioned so many times is already available on GitHub.
On the official Syncthing website you can report on bugs, discuss different specialized topics, donate the project, and definitely help the code development if you possess programming skills.