Why free web services aren't really free

We're just trading one closed-source app for another

A lot of people are unnerved by the fact that even if you had the source code and servers powerful enough to run it all, you still wouldn't be able to recreate the sites to which people queue up to donate their data. And a small group of geeks are already taking action.

Identi.ca is a service that's built on the GNU Affero GPL, which is a modified version of the GPL that closes a loophole enabling people to make alterations to GPL software without releasing those changes. (The GPL says you must release your changes only when you distribute them and technically web servers aren't distributing code, as they're run at the server.) Identi.ca is also special because all the content on it is licensed under the Creative Commons Attribution 3.0 licence, so you're able to get all your data off whenever you want to.

Identi ca

IDENTI.CA: Identi.ca is a drop-in free software replacement for Twitter. You can send your messages to other places, too

What's most significant about Identi.ca is what it does: it's a clone of Twitter, the 140-character microblogging sensation, except it supports OpenID and OpenMicroBlogging as standard. As the Identi.ca developers put it, "the goal here is autonomy – you deserve the right to manage your own online presence. If you don't like how Identi.ca works, you can take your data and the source code and set up your own server (or move your account to another one)."

JavaScript is the common denominator behind these services. It's as widespread as HTML, and in fact its use goes far beyond HTML, thanks to other technologies such as XML, SVG and Canvas going hand-in-hand with JavaScript.

In pre-Ajax days, the main problem with using JavaScript was that it could only operate on the information that had already been downloaded. Now that Ajax is used on countless thousands of sites around the world, the next big blocker to truly massive JavaScript web apps is performance.

JavaScript was never really designed for the kinds of heavy lifting it's now being used for, which meant that for a long time few people cared about how fast it ran. This changed with Chrome, Google's web browser, which introduced a new JavaScript engine, V8, that performed faster than any other competing browser, open source or otherwise. Since then, Firefox, Safari and even Internet Explorer have been playing catch-up to Google in the performance stakes.

If you thought companies such as Google were doing incredible things with web apps now, just wait until high-speed JavaScript execution becomes standard. When you combine it with offline access, the end result is that full-fat web apps can't be far away.

To many people, the idea of a high-speed, offline-capable Google Docs doesn't sound bad at all. Google seems to have been gunning for Microsoft almost since the company was founded, so going after the old cash cow of Microsoft Office makes sense. And for a lot of folks, it's easy not to care: Google will undoubtedly continue to offer its Docs service at no cost for the forseeable future and people are happy to use it while that continues.

But from a free software perspective, we're fighting a dangerous battle. Trading one closed-source app for another gets us nowhere, even if the new app happens to come from Google. Yes, the company does appear to have a bottomless source of storage and bandwidth, but would you feel happy recommending Google Docs to your friends if it were run by Microsoft? It'd be just as free and just as featureful – but somehow people have been fooled into thinking that Google can be as proprietary as it wants and we ought not to care.

Tim O'Reilly's classic speech, "The Open Source Paradigm Shift", makes it clear that the commoditisation of operating systems is imminent, with the next war being fought in the web app space. In 10 years' time your desktop computer will almost certainly run nearly all your programs over the internet, with your OS being a relatively thin shell that fires up a web browser and points you towards the net. If, in that time, all we've done is trade offline closed-source apps for online closed-source apps, then everything we're fighting for will be worthless. I don't think anyone wants to see that happen.