A look at the history of Linux, as seen by a long time Linux user. The talk is a series of anecdotes, shy of technical details, and sprinkled with personal memories.
27 April 1998
This talk was given at the 1998 Linux Expo.
Who I am and why I am here
I seem to have acquired a little bit of reputation in the Linux community, despite my efforts in to stay quiet and invisible, so that I don’t get so many questions from people having trouble with Linux.
Part of my reputation is that I know Linux pretty well. That part is based on the time when I and Linus Torvalds – – I assume you know Linus – – shared an office at the University of Helsinki. In reality, I don’t know Linux all that well. For example, my one stab at kernel programming resulted in a bug that took three years to track down and fix, and even then it was done by someone hacking OS/2. I’m referring to the sprintf function inside the kernel.
I wrote sprintf in the summer of 1991. Linus needed some easy way to print messages from the kernel, and did not then know how to use the stdarg mechanism to implement variable argument lists to functions. I see some people in the audience shaking their heads. Yes, it’s true. There was a time when Linus didn’t know everything. Really. Trust me. I was there.
Anyway, I wrote a simple sprintf for Linus, to show him how it was done, and he used in the Linux kernel, after some modification. The bug was in the handling of an asterisk as the width for an output field. I forgot to increment a pointer past the asterisk, so the code had no chance of working for this case. No chance at all. This was clear to anyone who tried it. Obviously, I didn’t, which means that I probably shouldn’t be employed to write software. In 1994, three years later, one Friedemann Baitinger noticed the bug, and sent me a patch. He was using the sprintf while debugging a device driver he was
writing for OS/2.
Anyway, back to who I am. I’ve been a friend of Linus since before Linux even existed. We met as first-year students in 1988. When he started to write Linux, I naturally followed things with interest and some jealosy. Except for sprintf, I didn’t really participate, since I’m not a hacker, just a wannabe. When Linux and its community grew, I took part in various non-technical things that needed doing. For example, I helped created the Linux Documentation Project, and co-moderated comp. os. linux. announce, also known as cola.
My moderating cola is the reason I’m here. When I had been doing it for five years, that is, in last December, I decided to retire from it and found a successor. In my farewell note to the group, I jokingly said that I wouldn’t mind getting a trip around the world, if anyone wanted to send me one. It happens that some people don’t understand jokes, and it seems that Marc Ewing is one of them. He told me I would come here to give a talk and he wouldn’t take no for an answer. If you feel bored now, you know whom to blame.
Linus the god
You all know Linus, at least by reputation. The wonder-child. The coding wizard. The hacker god. Well, it wasn’t always like that. What I’m about to say next may shock the most devout Linuxers in the audience, but that’s all right. This is a free country, and anyway, I’ve been promised police protection.
I’ve already told you that Linus didn’t always know everything. I’m not saying he isn’t omniscient now. After all, he might now be a god and I’m not lightning-proof. So I’m only going to talk about old times. I’m sure he’ll forgive me that.