LinuxUser Column 17

I love cooking – baking bread, making pasta, creating sushi and generally concocting food – it’s a passion. And like many ‘foodies’ I love trying out recipes. It may sound strange, but nearly every time I cook a new recipe, I think of Richard Stallman.

Why? Because sharing recipes is one of the examples Richard often uses to explain why Free Software makes sense. If someone comes over to eat and enjoys the food you served then it’s normal and friendly to share the recipe you used. You share the recipe no matter where it’s from: your grandma, a newspaper or a book. You certainly don’t stop yourself from handing over the recipe because you’d be breaching copyright – grandma’s or a publisher’s; that would be absurd.

You also don’t see chefs issuing press releases lamenting their lost revenues due to recipe sharing. They make their money from performing the recipes with excellence and flair in their restaurants.

Yet when it comes to software we see companies hounding people over sharing, as Richard Stallman so pointedly calls what others have labelled ‘piracy’. Many small software consultancies do charge for ‘cooking’ instead of for the ‘recipes’ (programming instead of software) but most software providers don’t choose this path, as we know.

If you love cooking then one of the great things about eating out is that you can often reverse engineer what the chef did to get your meal ready. Unfortunately even the best programmers find it a difficult task to understand quite how a piece of software was put together unless they can see the source code. This has major implications for learning and growing the practice of software engineering. (The web is an exception: It’s interesting to note that many web programmers learnt their trade because HTML, CSS and JavaScript code on websites is viewable for all to see.)

Apparently in Japan great chefs are notorious for keeping the details of their recipes secret. This has caused great difficulties in passing on treasures of Japanese culinary art. Allegedly apprentices are known to sneak into kitchens at night in attempts to discover their teachers’ secrets. Only sometimes do they succeed.

We are fortunate that, generally, cooks like to share the results of their culinary experimentations. This means that we can learn from each other and build on previous work. The same applies in academia – only by publishing findings can researchers stand on the shoulders of giants. Very little is achieved or discovered in isolation of what others have found.

Yet the software world loves isolation. Every program is a secret, the code is locked up in the digital kitchens of software vendors. Apart from Free Software, that is. Free Software is wonderful in so many ways but surely one of its most vital points is that is alive to the possibilities of the future. People can learn and build upon the work of previous generations thanks to the power of open source licensing. Closed-source software dies and crumbles away once its parent supplier moves on or closes down. But with Open Source it can carry on, be reused, unpacked and understood.

If we each had to discover independently how to make bread or cook an omelette life would be very strange indeed. We have no trouble in sharing these mysteries of the kitchen – whoever discovered them is lost in the mists of time.

How strange it will seem in generations to come if the secrets of our most important software is not shared in the same way.

I hope that the ever growing movement towards eco-technologies which are hyper-efficient can be married to the Free Software movement. Making money from great ideas is no problem. But if we’re going to avoid making global warming any worse then we desperately need to share as much of these eco-technologies with as many people as possible. Free Software’s ethic is all about sharing. Perhaps the newly invigorated Al Gore who seems to be at the forefront of eco-tech should spend a week with Richard Stallman. And make sure somebody films it as I’m sure it would make for extremely interesting viewing. Al could put it on his cable channel.

I think it’s important to remember that while some people have heard of Linux very few people know what it is. So you may think Al Gore wouldn’t need to talk to Richard Stallman, he’d understand the issues (maybe). But while he and others may have a rough idea about Open Source, very very few people have a full grasp of the philosophical importance of Free Software. There’s nothing about using Linux, Apache, Samba or any of the other great projects out there which forces (or gently encourages) one to understand the key motivations behind Free Software. So we can’t assume that users understand what Richard Stallman and co are fighting for. Thus spreading the word is still important work. When immersed in something it can be so difficult to remember that others are completely unaware. But they are and spread the word we must…

To learn more about the philosophy of Free Software visit: http://www.gnu.org/philosophy/

This column first appeared in the excellent LinuxUser magazine, available internationally. For more information visit http://www.linuxuser.co.uk