Leaving the "cloud"

For the last week I’ve been attending Linux.conf.au (LCA) and have the pleasure of meeting, listening and seeing some cool people (Geoff Huston, Vint Cerf, Linus Torvalds). Two main topics were presented during the conference, IPv4 address space shortage, and freeing the cloud.

I hope to address IPv4/IPv6 in a latter post, but for now I would like to focus on freeing the cloud. Francois Marier gave a lovely talk on how we can free the cloud from the closed source baddies. Francois created the site and project Libravatar which is an AGPL implantation or clone of the Gravatar system.

Mark Pesce presented a keynote on the Friday of LCA, about the ways companies can exploit users data, and how storing everything in the “cloud” isn’t such a good idea in terms of privacy (potential to steal your social graph). He also explained mimesis, and how we will replicate what others are doing.

This has given me a few reasons to attempt to leave the “cloud”. The first reason was from Francois - Why should I be forced to use non free (as in freedom) software on the internet? - Why can’t I add, expand and change the software that I use everyday. What is my upgrade path to avoid bit rot.* *

The second reason also came from Francois - *Why aren’t these services decentralised? - *Francois worked to make avatar services customisable by using DNS SRV records. Status.net allows you add remote users.

The third reason was from Mark - *It’s more likely that your friends will also… *- Well if I start doing this, one of you guys might also give it ago…

and finally the forth reason, which was also contributed to by Mark - *Where is my data, and what the fuck have you done with it? *- Is it possible to keep data to your self these days? What is my aim, while leaving the cloud?

  • Move to a fully opensource environment online
  • Find out if it’s possible to live with out the big companies (Facebook, Twitter, Flickr, GMail)
  • Keep care of my own data
  • Start pushing for open communication standards between platforms (why can’t Twitter users talk to status.net users?). Bring down monopolies.
  • See how hard configuring alternative services are.
Should you (the reader) do this?

  • Maybe?
I’m not pushing for anyone else to make these decisions. This software typically isn’t user friendly enough for everyone to switch or lacks key requirements of use. I still look at this project as an experiment. I may have to revert back to some services. What I do suggest however, is to think about it. It’s not that hard to switch. Experiment, learn, play and explore the FOSS world. Where am I now?

All of the following has been achieved in less than 48 hours, and on a 3G connection. Email

The world would be a far different world without email, and it’s something that you can’t live without in the real and internet world. Previous to this change, I used Google Apps (GMail for your own domain). Having your own domain name is an advantage, as it allows you to move between email servers without changing email addresses.

I’ve always been a lover of Postfix and even Eric Allman agree’s > If I had to choose a new MTA today, I’d use Postfix

Eric Allman

So Postfix was put straight on. Postfix by it’s self is ok, but I really need a way to get email on my phone, computer and laptop, and it’d be great if all synced up together. From previous experience I knew that Dovecot was the way to go. Dovecot provides IMAP and POP access. IMAP was what I was interested in, and with fairly little configuration I had that all working.

Now this setup works ok, but to really give it the flexibility of GMail I need a pretty web interface. Jack Scott had previously shown me RoundCube IMAP webmail. RoundCube is a php/mysql app which is fast to setup, beautiful to use and just plain easy.

All that was left is to get my GMail data out and into Dovecot. To facilitate this I used a utility called imapsync. Enable IMAP on GMail, run imapsync, and you’re done. What’s left to do?

While email works, there are a few missing features I haven’t implemented yet. I’m yet to configure Spam filtering, so I’m getting about 3 or 4 spam emails an hour. I haven’t worked out a nice way to implement mail rules, and RoundCube doesn’t implement any form or labels or tags, only folders. I haven’t worked out a nice place for my Google Address book, and a way to sync it with my phone. Facebook / Twitter

If you are wondering why I have disappeared off your friends list on Facebook or Twitter, it’s because I a chose to delete my account, not because I have decided that I no longer like you.

I looked at how I actually used Facebook and Twitter. I didn’t post pictures, I had another service for that. I didn’t post videos, I had another service for that. All I really used Facebook and Twitter was to post fairly short messages. Longer messages in Facebook, shorter ones in Twitter. Heck, most of the time I didn’t even read or browse other peoples updates, as the signal to noise ratio was too low for me to care.

Even though I understand that barely anyone reads my Facebook statuses, I still wanted to a place to put short snippets that were too small to be a blog post, but required to let off steam, or share a funny link or two. I done some research and came across some software called status.net.

Status.net is basically a decentralised, opensource twitter. I installed it in single user mode, and within minutes I had a nice Twitter like microblogging page up. What’s left to do?

Well I didn’t feel that I need to keep, backup or import data from Facebook or Twitter so I have let that data rot away. Unfortunately Facebook has a two week timer before account deletion, so I am still waiting for that to occur. Flickr

Flickr is a great photo sharing site. It supports Creative Commons which is great, but for the purpose of this experiment, it’s still the cloud. Quite a bit of Googling latter, I found a nice opensource alternative called Plogger.

Plogger is a great little php app for organising photos and albums. Unfortunately to move all that data requires more than my little 3G connection so I haven’t had a chance to play with it to much, but it appears to perform the functions I need it to.

Most people won’t find Plogger a Flickr replacement, but it looks to work for me. It’s fast and simple. Gravatar

Gravatar is a service that maps avatars to email addresses for the purpose of making blog comments look pretty. LCA introduced me to the Libravatar project which hopes to make the avatar service more open.

Well, I’m not going to lie to you, I haven’t setup my Libravatar server up. BUT, I have setup a Libravatar account up, and changed my blog to use Libravatar to grab avatars for comments. I don’t believe that Gravatar or Libravatar pose a risk to my privacy or social graph, however I do prefer the idea of using opensource web apps. Blogger

I loved to Wordpress quite some time ago from Blogger, when my needs expanding from the simple blogging service of Blogger. Wordpress is free (as in freedom) and is really great software. If you aren’t using it for blogging, you probably should be, or at least Habari. XMPP / Jabber

Along with my email, I also used Google Apps to host my XMPP. It was just another connivence. Google’s XMPP service isn’t anything flash, and can be replaced with any old XMPP server. In my case I just replaced it with jabberd, because it was in the Debian repo’s and just required apt-getting and registering an account. At no point did I do any configuration. Google Reader

In short, Google Reader is my online life. With Google Reader I wouldn’t be informed with what’s hot or not in the IT world today. Google Reader took a bit of researching to replace. The first alternative was to jump to a desktop app, but that means I would lose some flexibility.

After doing some searching, I found some fairly out of date code and projects, but eventually stumbled upon Tiny Tiny RSS. It has the same look and feel and Google Reader and done a fairly decent job. What do I have left?

  • Not a lot
I have two “cloud” services that I am yet to find a home for.

I didn’t have any decent videos, so I destroyed my YouTube and Google Video accounts, but I still want to find a video web app for when I do have content I want to share. At this stage I am thinking about using a simple HTTP drop box, and linking to it from my status.net page.

The other service I haven’t found a home for is LinkedIn. I want to remain visible to “that” crowd, so I will not be removing my LinkedIn profile. The advantage with LinkedIn, is that information stored there is fairly public regardless, and without knowing a great deal about social graphs, I can’t see it as being a huge issue. Keeping it all running

All of these web apps and services are running on a Debian Linux server (single core CPU and some RAM). It’s nothing flash or fancy, but it works. I use lighttpd, and everything so far has only required PHP and MySql (the de facto standard).

Since everything is running on a single server that I maintain, I need to ensure that I have a recovery plan. For this I use a tool called rsync to backup every night my data. The last thing I want is to lose years of hard work.