Maybe a year later, when Linus was in the Netherlands for his first public speech, he made his way to the university where Tanenbaum taught, hoping to get him to autograph Linus's copy of Operating Systems: Design and Implementation, the book that changed his life. He waited outside his door but Tanenbaum never emerged. The professor was out of town at the time, so they never met.
The hotel room was only slightly above freezing as I lay in bed, shivering, the night before my first speech. In the Netherlands they don't heat places like they do in Finland, and this drafty room even had huge single-pane windows, as if it were meant to be occupied only in the summer. But the coldness wasn't the only thing keeping me awake on the night of November 4, 1993. I was nervous beyond belief.
Public speaking had always been a rough spot for me. In school they made us give presentations about something we had heavily researched -- rats or whatever -- and I always found it impossible to do. I would stand up there, unable to talk, and just start giggling. And trust me, I'm not a giggler. It was even uncomfortable when I had to go up to the blackboard to show the class how I figured out a problem.
But there I was in Ede, Netherlands, an hour's train ride from Amsterdam, because I had been invited to be speaker at the tenth anniversary of the Netherlands Unix Users Group. I wanted to prove to myself that I could do this. A year earlier I had been asked to speak before a similar organization in Spain, but declined because my fear of public speaking was greater than my desire to travel. And back then, I really loved to travel. (I still like traveling, but it's not nearly the novelty it was for a kid who had barely been out of Finland. The only places I had ever been were Sweden, where we took a few camping vacations, and Moscow, where we visited my dad when I was about six years old.)
It sort of bothered me that I had blown the chance to visit Spain, so I convinced myself that I would accept the next speaking invitation that came along. But I was having second thoughts as I lay in bed, wondering if I would ever overcome my fear of getting up in front of large groups of people, worrying that I would be unable to open my mouth, or, worse, that I would lapse into giggles before the 400 members of the audience.
That's right, I was a mess.
I told myself the usual stuff. That the audience wants you to succeed, that they wouldn't be there in the first place if they didn't like you, and that I certainly knew the topic: the reasons behind the various technical decisions in the writing of the Linux kernel, the reasons for making it open source. Still, I was unconvinced that the speech would be a success, and my mind chugged along like an unstoppable freight-train engine. I literally was shaking in bed -- and the frigid air was the least of it.
The speech? Well, the audience was sympathetic to the obviously frightened soul standing before them, clinging to his PowerPoint slides (thank God for Microsoft) like a life preserver, and then haltingly answering their questions. Actually, the question-and-answer session was the best part. After my speech -- such as it was -- Marshall Kirk McKusik, who was instrumental in BSD Unix, came up to me and told me he found my speech interesting. I was so grateful for the gesture, I felt like getting down on my knees and kissing his feet. There are few people I look up to in computers, and Kirk is one of them. It's because he was so nice to me after that first speech.
My first speech was like shock treatment. So were the ones that followed. But they started making me more self-confident.
David keeps asking me how my stature at the university changed as Linux grew bigger. But I wasn't aware of any professors even mentioning it, or any other students pointing me out to their friends. Nothing like that. People around me at the university knew about Linux, but actually most of the hackers involved in it were from outside of Finland.
In the fall of 1992 I had been made a teaching assistant for Swedish-language classes in the Computer Sciences department. (Here's how that happened: They needed Swedish speaking TA's for the basic computer courses. There were only two Swedish-speaking computer science majors who had started at the university a few years earlier: Lars and Linus. There wasn't much of a choice.) At first I was afraid to even go up to the blackboard and work on problems, but it didn't take long for me to just concentrate on the material and not worry about embarrassing myself. By the way, three years later I was promoted to research assistant, which meant that instead of getting paid for teaching I was paid to work in the computer lab, which mostly meant doing development work on Linux. It was the start of a trend: having someone else pay me to do Linux. That's basically what happens at Transmeta.
David: "So when did it start becoming a big deal?"
Me: "It's still not a big deal."
Okay, I'll amend that. It started becoming more of a deal when it became clear how many people depend on Linux as something other than a toy operating system. When they started using it for more than just tinkering around, I realized that if something goes wrong, I'm responsible. Or at least I started feeling responsible. (I still do.) During 1992 the operating system graduated from being mostly a game to something that had become integral to people's lives, their livelihoods, commerce.
The shift occurred in the spring of 1992, about a year after I had started terminal emulation, when the first version of the X windowing system ran under Linux. That meant the operating system was capable of supporting a graphical user interface and that users could work in multiple windows simultaneously, thanks to the X windowing project, which had its origins at MIT. It was a big change. I remember that I had joked with Lars about it, around a year before it actually happened, telling him that someday we would run X and be able to do it all. I never thought it would happen that quickly. A hacker named Orest Zborowski was able to port X to Linux.
The way the X window system works is by way of the X server, which does all the graphics. The server talks to the clients, which are the things that say "I want a window and I want it this big." The communication goes through a layer called sockets, or, more formally, Unix Domain Sockets. It's how you communicate internally in Unix, but you also use sockets to communicate over the Internet. So Orest wrote the first socket layer for Linux just to port X to it. Orest's socket interface was kind of tacked on and not integrated with the other code. It was a situation in which I agreed to the patch because we needed it, even though it was fairly raw.
It took me awhile to get used to the notion that we had a graphical user interface. I don't think I even used it on a daily basis for the first year or so. And these days I can't live without it. There are always a ton of windows up when I work.
Orest's contribution not only enabled us to have windows, but it also opened a big door for the future. The domain sockets were used for the local networking that enables the X windowing system to operate. We could build on those same sockets to enable Linux to make the major leap to external networking -- to have the ability to link computers. Without networking, Linux was usable only for people who sat at home and used a modem to dial up somewhere, or who did everything locally. With great optimism, we started developing Linux networking on top of those original sockets, even though they hadn't been meant for networking at all.
I was so confident that we could easily do it that I made a leap in the version-numbering scheme. In March 1992 I had planned to release version 0.13. Instead, with the graphical user interface in place, I felt confident that we were maybe 95 percent of the way to our goal of releasing a full-fledged, reliable operating system, and one with networking. So I named the new release version 0.95.
Читать дальше