Oh, the web, the most incredible machine known to man that she is. A massive step forwards in the evolution of the human race by all accounts. And yet the internet has been co-opted by fuckwits who want to enhance our productivity experience in a solutions-based diversity paradigm. Yes, business speak. Once the scorn of cubicle prisoners, now the hated object of billions of people around the world. If you haven’t noticed it by now, it’s because they haven’t got to you yet. But they will, if “cloud-computing” has anything to do with it. I hate the term cloud-computing. I hate it with a passion. It’s one of those disgusting Web2.0 phrases that makes me want to stick my head in a microwave every time I hear it. It’s more of that business wanker language that everybody knows and hates.
Even so, despite how cringe-inducing I find the term, cloud-computing is genuinely an interesting subject. The potential benefits and pitfalls of the very idea are worth investigating in full. So I’m going to ruin this blog post by ignoring all of that and instead concentrate on the most boring aspect of it you can think of. I’m even going to alienate all the readers I might have gained from a kind mention over on this blog. Yes, folks, it’s licensing. See how the number of readers drops off after that last sentence:
That chart doesn’t even have any numbers on it, which aside from making it completely useless, also hides the sinister truth. You, yes you, were the only reader to begin with. You’ve now been cut down to a tenth of your original self. Just the act of thinking about licensing is enough to do that. You’re now a vague mess of incomplete body parts that somehow remain sentient. A triumph for human biology, but we must be press on. As with most things in life, if you want to get ahead, you have to understand what the hell you’re dealing with. So I’ll explain how licensing and cloud-computing work.
Here in the free software world, we have two main licences that we can use. There are others, but I’ll stick to explaining the fundamental principles if you don’t mind. The first licence we use is called the GPL (General Public Licence), and it’s a pretty sneaky licence indeed. Software written in this licence is free to use, distribute and tinker with to your heart’s content, with one simple caveat. If you distribute the software, or an edited version thereof, the software must have the same licence tacked along with it. It is this special clause of the GPL that makes a lot of free software possible, and the reason Microsoft once called it cancer. By its very nature, the GPL spreads very easily. We now have an enormous library of code that’s not only free, but will always remain free. This is a scary thought for many people, for reasons that should be obvious. The GPL is the ninja of all software licences. And despite the pejorative use of the word, “viral” is a very apt description of how it multiplies.
The other type of licence we have are BSD licences. These differ in one fundamental way. Distributed code does not have to have the same licence, nor does it have to be open. It’s essentially the “do whatever the hell you want” licence, which should appeal to the Libertarians among you. It makes it possible for a random guy to grab the source code to a project, change it a little, and re-license it with a restrictive EULA and sell it for big bucks. Although that doesn’t happen as often as you might expect, and when it does, the free original remains available.
The difference between these licences is mostly philosophical. For practical use, either licence allows you to write your code freely, or modify someone else’s with similar freedom. It’s still the subject of the occasional flame war, mind you.
So far so good, but how do these licences work when computing is taken to the mysterious magical cloud? In the new age of software, applications are supposedly going to be beamed to our computers from the internet. Google Docs is a great example of this. All you need to run such software is a web browser. Your computer isn’t running any other application; it’s all being done on Google’s own servers. The upshot of all this is that the applications are never properly distributed, only served. You can’t download and install Google Docs to use offline. Well actually, no, that’s a bad example because you can run Google Docs offline with their Gears package, but you get the point.
So if a company never actually distributes anything, they need not worry about the clauses of the GPL that insist the code must remain free and open. They can quite happily take GPL-licensed code and do all sorts of nasty things to it, and keep it closed and all to themselves, depriving everyone else of the benefits. Well, this is a shame. And according to research conducted by Black Duck, the GPL is apparently being used less these days as a direct consequence of things moving into the cloud. Black Duck is a proprietary software company whose best interests would be served by a complete abolition of the GPL, so it’s worth taking their research into the matter with a supermassive blackhole-sized grain of salt. Whilst they’re saying it because they want to encourage people to drop free licences, the possibility that people will is quite frightening.
But wait, all is not lost. There is another licence that closes the loophole. It is known as the AGPL (Affero GPL). This licence makes it so that the source code to web applications that use it remain as open as regular, offline GPL applications are. It is going to become increasingly relevant to web application developers as time goes on, and thankfully, many people are already using this licence, despite it being excluded from Black Duck’s dodgy report. I hope it becomes the de facto licence of choice for all future web applications made by the free software community. I hope you all do, too.
All in all, I’m a little bit suspicious of cloud-computing. The idea of entrusting my computer to applications hosted on some far away server isn’t very appealing to me. Even so, marketing buzz-word spewers are apparently hell-bent on ensuring that anything meaningful on desktop computers will one day take place in the cloud. Whether or not you like the idea of it, it’s good to know that free software will be as much a part of it as it is on your regular desktop machine. So roll on the future, with all of its crappy slogans and soul-destroying marketing bullshit. At least it’ll still be free.