Thursday, September 23, 2010

Installation of Diaspora - Open Source Social Network Implementation

There is a long list of pro and cons re social networks. Basically the whole thing is about sharing private information with other users and the owner of the social network to gain some insights and social relation to user users. Most of us don't go public with each single detail of their personal life and therefore want to control what they share with whom. This part - just follow the Facebook Privacy Discussions - is already a challenge in its own. Not all existing Social Networks are doing that fine in supporting the user to easy and reliable control what they share with other users. No matter how good the Privacy control is implemented in any Social Network, the owner or operator has access to all the data we share - unless we come up with some really fancy and impracticable security implementations. That's a point were the user's trust in the operator plays an important role.

The diaspora project tackles both dimensions of the problem by trying to provide a  superior Privacy Concept for the user to use aspect and being open and distributed to build the trust into the solution and "provider".

So let's give it a go and have a hands-on experience on this project.

The installation on a Ubuntu 10.04 system is pretty much straight forward. After cloning the git repository you find the installation script ubuntu-setup.bash which you can run on your machine. It makes sure that all dependencies like required build tools, gems, db, ... are properly installed on the system. I did run into some slight issues:

  • The sudo permission detection within the script did not work for me. So I just commented out this line form the script..
  • At the end of the script it tries to start  the server which failed with the following message: " (at master) is not checked out. Please run `bundle install` ". That one can be fixed by issuing a "sudo bundle install devise.git" like e.g. explained in . Once this is done the server can be started with "bundle exec thin start" and is listening on port 3000. 
 I'm always surprised which kind of dependencies some of the Ruby based projects come - Would be fun to roll it out in our Cooperate production environment :-)

I will keep playing with it for a while and come back to you guys with my view on the current status of the project ...