Open Source File Syncing And Collaboration With Sparkleshare

Whenever software development or any other type of project requires collaboration, the process of exchanging files, saving them, revising, and re-uploading can be tedious. Because of this, developers have created revisioning control systems. These systems have even been used for documentation in collaborative tools like wikis. Sparkleshare is an extension of these collaboration tools that provides a simple and easy-to-use interface: your own file manager.

Once setup, users can connect to the Sparkleshare server and edit/add/create files that are shared with collaborators, who can then do the same. Sparkleshare also has the potential of being used for simple cloud file storage like Dropbox or SpiderOak. The major difference is that Sparkleshare is free and open source, and you can install it on your own server.

Sparkleshare makes use of Git, a free and open source versioning control system. If you have git installed on your server, you can effortlessly keep your files in sync. If you do not have your own server or VPS, you can use Github or Gitorious to at least test the early version of Sparkleshare that is currently available.

Installation

To install Sparkleshare and get started, just follow these steps:

On Ubuntu 10.10 and derivative OSes, add the necessary repository and install.

sudo add-apt-repository ppa:nuovodna/nuovodna-stuff
sudo apt-get update
sudo apt-get install sparkleshare

If you prefer not to add a third-party repository, you can also download the deb file directly in 32-bit or 64-bit.

To install from source on another distribution or OS, see the Sparkleshare README.

Configuration

If you are going to use Sparkleshare on your own server, you should follow the instructions on this tutorial. To try out Sparkleshare using GitHub, do the following:

1. Get a free GitHub account
2. Click “Dashboard” – “New Repository”
3. Give your project a name and (optional) description and click “Create Repository”
4. Start Sparkleshare on your computer
5. Enter your Name and email address and click “Next”

Sparkleshare Setup

6. Open a file manager and go to ~/.config/sparkleshare
7. Edit a file called sparkleshare.username.key.pub  (username should be replaced with your username)
8. Copy the entire contents of this file.
9. Back on the GitHub account, go to “Account Settings -> SSH Public Keys -> Add another public key
10. Give the key a title and paste the contents from your .pub file and click “Add key
11. Go back to Sparkleshare, select GitHub as your remote folder, and for Folder Name, enter your GitHub username and repository folder name: “username/repository-name”

Sparkleshare Folder

12. Click “Sync”, and it should sync successfully.

Note: If it says “something went wrong”, check your ssh key again. If you are sure you pasted it correctly, you may need to manually accept the connection. Open a terminal and type:

ssh github.com

It will ask, “Are you sure you want to continue connecting (yes/no)?”

Type yes and press Enter. When you go back to Sparkleshare, it should now work.

The Sparkleshare folder icon should stay in your system tray when it is running. Clicking on it will show your available repositories. Anything you edit or save in that folder will be edited and saved on the server, and those changes will be visible for any collaborators.

Sparkleshare on GitHub

Currently, there is no actual cloud service (paid or free) for Sparkleshare, and unless you want to pay for a GitHub account, your projects will be publicly visible. If, however, you use your own server, you can setup a private repository and enjoy secure, free, open source file syncing and collaboration.