GNOME contributor Hylke Bons has released version 1.0 of SparkleShare, an open source synchronisation and collaboration platform. SparkleShare uses the Git version control system under the hood to implement functionality akin to the proprietary Dropbox service. In contrast to Dropbox, SparkleShare is typically self-hosted, but can also be used with Git-based services such as GitHub, Gitorious and Bitbucket.

SparkleShare has been under development for the better part of three years. The idea for an open source version of Dropbox based on Git was originally conceived during the GNOME Usability Hackfest in London in 2010, when a group of designers working for several open source projects expressed the desire to have an easy way to share sketches and work in progress. The geographic distribution of the design team members working on open source projects means it is very important that there is a simple way to share files that are being worked on. This problem has largely been solved for developers working on code for the same projects and since many of these projects already use Git, many of its features can be used by SparkleShare as well.



SparkleShare's setup screen makes it easy to self-host or plug in to services

Source: Design Monkey SparkleShare 1.0 provides users with a folder in their home directory that gets synchronised between all instances of SparkleShare registered by the same user. A status icon provides quick access to all synchronised folders and alerts the users when changes take place. SparkleShare tracks revisions for all files stored within its folder and users can invoke a Recent Changes screen for each folder from the status icon; this screen lists all files that have been changed in chronological order. A corresponding History dialog lets users revert back to previous versions of files and restore deleted files. To resolve conflicts with files that have been changed by two people, SparkleShare creates copies of the file with an attached time stamp.

The application includes optional client-side encryption with an AES-256 cypher and a locally stored password. File transfers themselves are always encrypted between client and server. To make self-hosted installation easier, Bons has published a setup script called Dazzle which installs Git, adds a user account for SparkleShare and configures all permissions correctly to act as a backend for the server. The script currently works on distributions based on Red Hat and Debian. Currently, SparkleShare does not handle large binary files well – this stems from an underlying limitation of Git, which stores a version of the whole file for every revision. Improving this situation will be a goal for the next major version of SparkleShare.

SparkleShare 1.0 is available for Windows, Mac OS X and Linux from the SparkleShare web site. The source code is available from GitHub, licensed under the GPLv3.

(fab)