Do you like Kipling?

The correct answer to this question is, of course, “I don’t know – I’ve never kippled.” But hoary old chestnuts aside, there are two Kiplings of note here in the UK. The first – Rudyard Kipling – was an author and poet, perhaps best known for writing The Jungle Book. His work has featured on this blog once before.

The second – the forenameless “Mr Kipling” – is a fictitious baker of “exceedingly good cakes”, used as a brand name for the biggest selling range of cakes in the UK. If you’re not from this part of the world, you might want to look at this Wikipedia page, and the Mr Kipling website.

A few weeks ago I was trying to explain the concept of Free and Open Source Software (FOSS) to a complete layperson. Often cars are used as an analogy in situations like this – with proprietary software being likened to a car with the bonnet welded shut, and FOSS being likened to a kit car that you can tinker with at will. For this conversation, however, I wanted to get away from the whole idea of software being something technical, and bring it down to a more basic level: cakes.

The analogy goes something like this…

Buying proprietary software from the likes of Microsoft, Apple, Adobe and so on is like buying a pack of Mr Kipling’s cakes. It might be exceedingly good, but you don’t get any say in the recipe. Do you want more nuts? Fewer nuts? A diabetic-friendly version? Unless Mr Kipling’s master bakers decide to produce something to your tastes you’re out of luck. Even if they do produce what you want, it might never see the light of day. And even if it does, you might have to wait for years before it makes it to market as a commercial product.

FOSS, on the other hand, is like buying home-made cakes from a stall at the local Scouts’ jumble sale, or like being given a cake by a neighbour or relative. It won’t come in the glitzy packaging of Mr Kipling’s offerings. It might not taste as good. But there’s a good chance you’ll be getting it directly from the baker – just the person to provide feedback to, if you think they should add more nuts.

Getting your cakes like this is how most people get their FOSS games and applications. Someone else has already done the hard work of getting all the ingredients together, measuring, mixing and baking. You just have to buy (or be given) the finished product.

What really separates commercial and home-made cakes, though, is the prospect that you can do it yourself. If you ask that nice baker at the jumble sale, or your friend or relative, they’ll probably be happy to give you the recipe. Then you can add more nuts. Or fewer. Or make that diabetic-friendly version. You can even bake some to sell at the local Girl Guides’ jumble sale – and you’ll happily pass on the recipe when someone else asks for it.

There’s a good chance that in your kitchen – or your mum’s kitchen – there’s a book or folder stuffed with recipes that you’ve acquired over the years. Some came from friends. Some from relatives. Some off the internet. Some clipped out of magazines. You can tweak and modify them to suit your own tastes. You can pass them on to other people (ignoring, for the sake of this analogy, the legalities of copyright on the magazine clippings). You can even sell the things you cook, if you want to. And it’s only polite that if you pass your cakes onto someone else, you should also give them the recipe if they ask, so that they can have the same opportunity to tweak it as you’ve had.

Mr Kipling doesn’t give you his recipes at all.

That’s the difference between FOSS and proprietary software: it’s the same as the difference between Mr Kipling, and your mother’s cake recipe. Because although the phrase “source code” might be gobbledegook to a non-programmer, the word “recipe” is perfectly understandable.

I’ve been thinking about writing this entry for some time now. Today I was inspired to do so by a post I saw on Planet Ubuntu: Melissa Draper has posted her recipe for Open Source Brownies. Take it, tweak it, bake it, eat it – it’s the FOSS way.

Comment (1)

Leave a Reply

Your email address will not be published. Required fields are marked *