With all of the recent news about the NSA’s widespread spying, I have decided to ween myself off of proprietary, centralized web services. Facebook, Google, and other such corporations hold onto massive amounts of our data that we’ve willingly given to them via status messages, “like” buttons, searches, and emails. Using and contributing to free (as in freedom), decentralized (like email) web services is a really great way to re-establish control of our data. These services rely on many small, interconnected nodes to operate, rather than a monolithic website that is under the control of one entity. If the distinction between centralized and decentralized isn’t clear, consider how email functions. There are many email providers to choose from. Users can communicate with others that choose to use a different email provider. This is how web services should work, but unfortunately very few work this way now.
The centralized web application that I spend too much time using is Facebook. I have knowingly given Facebook a “frontdoor” into my life for years now and I’m ready to move on. I think that the concept of a “social network” is fun, so I wanted a Facebook replacement. Fortunately, there is one: Diaspora.
Diaspora is a free, distributed, social networking web application written in Ruby using the Rails framework. Diaspora is a community-run project. Its success depends upon users, developers, technical writers, user interface designers, etc. investing their time and/or money into making it better. The Diaspora network is broken up into many servers, known as pods. Users have the choice of which pod to store their data on. Pods assert no ownership over their user’s data, unlike Facebook, and do not use that data for targeted advertisements. Diaspora is still a rather young project, but it does everything that I need it to do. Goodbye, Facebook!
Since I’m a programmer, I naturally wanted to hack on some code and contribute. The main developers are very friendly and give great guidance to newcomers that want to help out. Every Monday is a “Bug Mash Monday”, where a list of open issues is presented to entice contributors to resolve them. In the past few weeks, I have made two contributions to the Diaspora project: a bug fix and a small feature. Diaspora is very hackable and I encourage other developers with Ruby/Rails and Javascript knowledge to join in.
TL;DR: Diaspora is great. Create an account. Check out my profile. Start sharing. Happy hacking. :)