Don't plan anything

Don't plan anything

The birth of Linux dates from the message that Linus posted to the Usenet system discussion group, comp.os.minix, on August 25, 1991. Of course there weren't any Linux discussion groups at the time.

From: Linus Benedict Torvalds (torvalds [at] klaava.Helsinki.FI)
Subject: What would you like to see most in minix?
Newsgroups: comp.os.minix
Date: 1991-08-25 23:12:08 PST

Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).

I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)

Linus (torvalds [at]

PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(.1

There is a certain grandness in that quote, and you can practically hear the making of history. Looking back at this thirteen-year-old post, it is also rather endearing in its naivety. Today, Linux is big, and the work to develop it is done professionally. On top of which, it is probably the most portable operating system in history. At the time of writing, Linux supports the architecture of at least 16 different processors, from the IBM s390 mainframes to tiny processors used in consumer electronics. In fact, the Linux code is said to be exemplarily modular and therefore easy to port.

A further irony is that the GNU project mentioned by Linus still hasn't managed to finish its own "big and professional' Hurd kernel. All credit to them for not having given up, though. I've been following the development of Linux closely for half a decade, and all that time Hurd has been almost complete. Somehow, it is amusing to see that their situation was much the same thirteen years ago, when Linux was born.

We often use the so-called great men of history as examples when trying to make some sense of our own lives. There is even a colourful set of professionals - psychologists, philosophers, dancers, hockey coaches, and who knows what else2 - who make their living by talking about success at various business functions, and they too draw inspiration from many sources including history. Such people often talk about great visions, determination, and hard work.

Linus - undeniably a great man in the field of computer programming - is someone who doesn't fit the mould of these spirit-lifting talks. It seems that the guiding principles at work in the development of Linux have been the lack of vision and determination, or something we might prefer to call openness. Openness to other people's ideas. Openness to changes in plans.

I find it amusing to imagine what would have happened if Linus had been, say, "determined'. When someone, in accordance with the principles of Open Source, first sent him the code to make Linux compatible with SCSI type hard disks, he might have answered, "Thanks, but no thanks. After all, this is just my little unprofessional hobby and, as I wrote, I don't have SCSI disks, so I won't be needing this code. And, anyway, I'm a bit busy right now, because I'm working really hard at the moment.'

Even if that is a ridiculous scenario, I'm sure there are stories just like it out there - stories of people who say "thanks, but no thanks' to the chance of a lifetime. And possibly do so because someone giving a talk once advised them to be focused, determined and to work hard. But we don't often get to hear those stories, because those people rarely become the great men or women of history.

So, what is the secret of Linus Torvald's greatness? I think we can find in his story at least the following key principles:

  • Linus does something he finds exciting.
  • In addition to Linus being interested in operating system (OS) programming in its own right, Linux was from the beginning also a response to a tangible need: in 1991, the OSs for PCs were either lousy (dos) or expensive (unix) and that is why Linus decided to make an OS that corresponded better to his own needs.
  • It could also be said that Linus was in the right place at the right time. He has said it himself: if he hadn't created Linux, somebody else would have.
  • However, at the time Linus was the person who was open to the possibility when he encountered it, even though it wasn't what he had planned.
  • Also, Linus didn't stay in his cubbyhole hiding his work, but shared it openly with his friends.
  • One final important factor was that Linus didn't work alone. He was open to the ideas put forward by others, and open to collaboration. Furthermore, he based his work on that previously done by others (minix) and took advantage of tools created by others (bash, and gcc).

Of course, more bullet points could be added to the list, the kind of qualities inspiration consultants love. It is obvious that Linus Torvalds is among the most talented in his field. He has also worked hard with Linux, but it would be wrong to describe his input as "hard work'. What he did was excited work, which is altogether different. So, it is not good to advise people to work hard, they need to do what excites them.

The lesson to be learned from this one of history's greats is: Don't plan anything, because you can't know what life will bring.

It would be unfair to end this section without a small tribute to the GNU project. Richard Stallman began the GNU project in 1984, and he is the person who first devoted his life to developing software in an open process. Even though the Hurd kernel was trumped by Linux, nearly all the basic tools used in the Linux OS came from the GNU project, including bash and gcc, which Linus mentioned in the post that marks the birth of Linux. So, even if we laugh a bit at the Hurd kernel (which Linus mentions only indirectly), it is only fair to say that a lot of the work behind what we now know as the Open Source movement was done by the GNU movement. Perhaps it is appropriate to end this section with the words of Richard Stallman. Here is his response to the argument that most of the Open Source software was born [only] to scratch a developer's personal itch: "Maybe that happens sometimes, but many essential pieces of GNU software were developed in order to have a complete free operating system. They come from a vision and a plan, not from impulse.'3

hingo Mon, 2006-08-28 19:24