DropBox, SparkleShare, … thin-git

Recently I had a little discussion about DropBox, which was highly praised by my colleague for its simplicity, efficacy, security, etc. Of course I like the idea very much and believe that it works good, because otherwise it wouldn’t have so many users. However there’s one thing fundamentally wrong with it, and it’s the same thing that is wrong with Gmail – your data (this time it’s not just your emails, it’s your real data for God’s sake!!) is stored on a 3rdparty server!!! Unencrypted! And even though DropBox announces the following on its website:

Dropbox employees are prohibited from viewing the content of files you store in your Dropbox account, and are only permitted to view file metadata (e.g., file names and locations).

you know what? I just don’t believe them! Also, just take a look at the DropShip story and imagine how much data could’ve leaked this way. So sure… I don’t mind you using DropBox – I wouldn’t even mind using DropBox myself for storing some multimedia files – but I definitely think you’re crazy if you keep your business or research data there and I would for sure never go with such solution myself.

However, criticism without any suggestion of alternative solution is worth close to nothing, so I started looking for a free and open-source DropBox-like applications. Almost instantly I found SparkleShare which mimics precisely functionality of DropBox – it is multi-platform, has user-friendly GUI, supports file sharing and version control . What’s more – it let’s you set up your very own server! To that end you only need a machine running Git VCS and SSH!!! SparkleShare’s architecture is trivial and powerful at the same time. Basically it’s just having a remote Git repository and its many clones and SparkleShare running git commit/fetch/rebase/push periodically on all of them with automatic conflict resolution based on timestamped copies creation (i.e. whenever there’s a mid-air collision, one version is given a new filename with timestamp appended, the other one is left as it was). Standard Git parameters are tweaked to accommodate your files which will typically be a lot larger than text files Git normally works with. All in all, SparkleShare claims to be an efficient and robust solution.

Now – I admit I haven’t really tested either DropBox or SparkleShare ; ) I know, I know… how can I have an opinion, right? ; ) Just to be on the safe side – I will give them both a try on Monday. In the meantime however, I have prepared my own SparkleShare-inspired piece of code 😀

It’s called thin-git and at the moment is just a console-based tool (no GUI). However it could already replace SparkleShare in terms of functionality. Why a new application instead of contributing to SparkleShare? Well… I wanted to create a Java-based solution relying on JGit only so that you could use it without having to download the original Git tools. Actually both DropBox and SparkleShare fall short of my liking because of the libraries they use. DropBox is based on wxWidgets and SparkleShare/Linux on GTK# (and probably System.Windows.Forms for Windows). In other words – as usual, I wanted to offer something lean and mean as alternative to existing bloatware-ish solutions : )

Stay tuned – I will soon describe my new piece of software and the impressions after using DropBox/SparkleShare in new blog posts. I will also release the application and source code as usual : )

Cheers!

1 Comment


Leave a Reply

Your email address will not be published. Required fields are marked *