Sparkleshare is a tool to synchronize your files in the cloud - like Dropbox or SpiderOak - but unlike these, Sparkleshare is open source and allows you to use your own server. Sparkleshare uses GIT so if you delete/modify some files by accident, you can easily revert the changes. You can use it with your own server, GitHub or Gitorious. In this post I'll only cover setting up Sparkleshare with GitHub.
Sparkleshare is still in development and until now you had to compile it yourself but I've recently came across a PPA that provides Sparkleshare (Client) GIT snapshots so you can easily install it in Ubuntu 10.10 Maverick Meerkat.