SparkleShare: self-hosted, git based, DropBox clone
As an aside, I am slightly concerned that I can't actually recall how I came across that article! I think the influx of links (and general information) from RSS, Twitter and Facebook will eventually make me melt!
Anyway. SparkleShare is something that I've been wanting for a while. Online storage, including version control, that I can host myself. I already have large amounts of disk space available in fairly well connected servers, so to have a convenient way of using and sharing some of that space is great.
Yes, I've actually been able to do this for a long time already as I could use git directly (and actually I do for one document store), but it's not that convenient. When you're not at a command prompt and not in an editor that's git aware, having to take that extra step means it's often overlooked.
So what SparkleShare is really providing is a fluffy, friendly UI to make it all nice and manageable with a daemon to sit in the background and automatically push and pull changes.
SparkleShare has already declared an intention to create OS X and Windows clients as well, which is another critical part of making it truly useful for me.
The slight downside to SparkleShare is that it's a long way from complete at the moment. Oh, and it's written in C# to run within Mono. :-(
In fact the very first thing I tried to do (well, second I guess after adding a repository) caused it to go rather wrong. I tried adding a few multi-hundred megabyte files to the directory SparkleShare had created for me. Sadly this rapidly resulted in 100% CPU usage, attempts to "git add" before the copy had finished and things generally going wrong.
Thankfully it's Open Source so I decided I may as well fix it, after all it probably wouldn't hurt to at least know a little C#. So I now have my own gitorious clone complete with some fixed code and a merge request pending for the original author.
I've also made a very basic start at building it into a Debian package (Ubuntu 10.04 i386) (see the debian branch in my repository above). It's missing some runtime dependencies and the build process needs lots of fixing, but it does work and I now have it installed and working on a few machines!