What is Syncthing?
Syncthing is an open source computer application that allows you to synchronize files between multiple computers. So, if you update your research paper on your laptop it will automagically sync to your desktop.
If you are comfortable poking a hole through your firewall, you can also sync to remote machines. This is extremely handy if you’re sharing files with a family member who lives far away.
One more nice feature is versioning. If you enable versioning, Syncthing will save a different version of your file every time you hit the “Save” button. This useful if you cut a chapter out of your novel only to decide a month later to resurrect it.
It is important to note that synchronization is not the same thing as backup.
Sure, if your laptop’s hard drive crashes, you will be really glad that your desktop has a recently synchronized version of your files. But if your house catches on fire or floods with both your laptop and desktop inside you will be out of luck.
I will write a post about backup philosophies in the future.
Why would I want to use Syncthing instead of Dropbox?
…or Google Drive, Box.net, or any other paid service?
When you use a paid service, your files live on the sync service company’s servers. Some of these services have experienced very embarrassing security breaches. In one case, all files on the service were accessible to anyone for a period of time – WOW! Imagine if you had tax records or blueprints for your secret volcano lair on that service, anyone would be able to know your private details.
In the case of Syncthing, your files live only on your computers or computers that you specifically allow to sync with your computers. This puts the onus on you not to do anything dumb with your computer.
The most important property of Synchthing is that its source code is freely available. You can actually look at the code to see what it is doing. If you want you can tweak it to better serve your needs or use it as the basis of an entirely new piece of software. This is very nice.
Do I need IT certifications to install and use Syncthing?
No, but it’s definitely not as simple as setting up Dropbox or Box.net. You need to know a bit about your computer and how the Internet works. Alternatively, you can probably hire a consultant or bribe a nerdy friend with beer to get everything set up.
I have set up Syncthing in Mac OS X, Linux, and on FreeBSD. All relatively painless, but there were many gotcha moments along the way that could have easily derailed the process.
So, is Syncthing for me?
Here are some pros and cons:
- you are free to look at and change the source code
- files live only on your computer (or computers you trust)
- available free of charge
- mobile application available for Android
- unlimited storage (…well, limited only the size of your hard drive)
- more difficult to set up than leading proprietary solutions
- no iPhone app
- no central server (this is also a “pro”)
- no web interface through which to download or view files