I count myself incredibly fortunate to have been exposed to the internet in 1995. In 16 years, I’ve been witness to, and played a part in, the phenomenal transformation of life online. I’ve seen, made and learned from a lot of mistakes in that time.

Back then, companies like AOL and CompuServe were stuffing CDs in computing magazines that promised to “get you online” for something like £19.99 a month plus the price of the phone calls. The trouble was that what I was seeing on their TV adverts wasn’t the internet I recognised. It turned out that what they were offering was a “walled garden” experience – users could only get to a restricted subset of the available content. More importantly, communication was limited to people on the same service as you. There was no “internet mail” – if you were on CompuServe and your friend was on AOL, you were out of luck, better write them a letter instead. Fortunately, other providers like Demon Internet were offering the real thing and people realised this and shunned the walled gardens, forcing them to open up and interoperate. The web became a better, more open place as a result – if you doubt that, you need only take a look at some of the superhuman efforts the internet has enabled.

Later came IM networks like AIM, ICQ, Yahoo! Instant Messenger and MSN Messenger. These were again walled gardens, allowing users of a given network to interact only with users of the same network. Then along came Jabber, now formalised as the open standard XMPP, and suddenly anyone could set up their own IM server that would interoperate with thousands of others on the web. Now users of, for example, Google Talk have an XMPP account that interoperates in the same way.

And now we have the Social Networks. Facebook. Google Plus. Twitter. And again, we see the same problem – the networks are closed. Oh sure, you can install your Selective Tweets app for Facebook and have tweets designated with a specific hashtag duplicated on your Facebook wall. Or add GPlus Agent to your Google Plus circles. But replies posted on Facebook aren’t visible to users on Twitter or Google Plus, or linked to the original tweet or post in any way. I’ve said before, the experience is fundamentally broken. These so-called “social” networks could hardly be less social! And that’s before we even get into the questions of usage policies and privacy controls.

But fear not! As history has demonstrated, no matter how hard these companies try to control how you use the internet, people are working on projects to make it free again. In this case, they’re called Federated or Distributed Social Networks and they work similarly to e-mail and XMPP – you create an account on your preferred server and post your status updates there, and people on other servers can subscribe to them. In fact, alongside projects such as Identica (based on the OStatus protocol) and Diaspora (which has its own federation protocol), there are projects that are using XMPP to solve this problem – a great choice of technology in my opinion.

My personal favourite, following the effective demise of OneSocialWeb (requiring server-specific plug-ins was a big mistake, in my opinion) is buddycloud. It’s still under development, but a beta channel server is available – you can view my public buddycloud channel without an account, or you can set up your own server (projects such as FreedomBox aim to make this trivial) and create an account there, or create an account on an existing server. My instance is currently running the NodeJS channel server implementation, but there is a Java server implementation that also supports OStatus, and I am also working on a Python channel server which will drive my experimental channel (and eventually also support OStatus, and maybe provide gateways to the closed networks, and… and….)

As internet pioneer and EFF founding member John Gilmore said, “The Net interprets censorship as damage, and routes around it.” If we “think like the internet“, we can all help to give the internet the directions it needs.

Edit The Python channel server project is here.