I’ve just come back from a week’s snowboarding in the French Alps. I used to mess around in the snow a fair bit (I lived near a resort for a while), but it had been 8 years since I’d last bolted my feet to a 163cm long piece of board.
Needless to say, a lot had changed - from binding angle theory and the board’s shape, to the age of the average boarder on the slopes (I was really glad to see so many people with grey hair!). But many things had also stayed the same. About this time last week, for example, I was massively relieved to find I could still turn a board down a slope without ending up in a terrible heap, and was soon back to my old form within just a few hours. Those old skills that had remained dormant for so long, were soon pulling me confidently down the slope at ever increasing speeds. And the end result was that I had a fantastic time - a brilliant week at high altitude, with beautiful weather, good food and not a computer in sight.
The thing with snowboarding is that you don’t get anywhere without pushing yourself and falling over at some point. Even if you are brilliant on a semi-steep descent, as soon as you take your board onto steeper terrain, your old problems come back to haunt you. Turning becomes difficult and speed starts to feel dangerous. The best way to overcome these problems is to tackle them head-on by being prepared to fall and make a fool of yourself. If you’re not prepared to fail, progress is much, much slower. And at the risk of making all this sound corny, I think the same could be said of Linux. It may not always succeed at what it does (I’m not going to mention Gnome 3.0), but without first experimenting and potentially failing, it would never progress at all.