Linus Torvalds: A Very Brief and
Completely Unauthorized Biography
Linus Torvalds is the world's most famous computer programmer and also its most famous Finn. He is the founder and coordinator of Linux, the Unix-like operating system that is beginning to revolutionize the computer industry and possibly much else as well. His is truly one of the great tales in the history of the computers.
Linus Benedict Torvalds was born on December 28, 1969 in Helsinki, the capital and largest city in Finland. He was named after Linus Pauling, the famous physical chemist and Nobel Prize winner.
The Torvalds family belongs to the Swedish-speaking minority in Finland, which numbers about 300,000 in a total population of roughly five million.
Many members of the family were journalists. His parents, Nils and Anna Torvalds, were both radicals at the University of Helsinki during the 1960s. His father was a Communist who spent a year studying in Moscow in the mid-1970s and later became a radio journalist. His mother worked for a Finnish newspaper as a translator and a creator of news graphics. Also, his grandfather was the editor-in-chief of a Finnish newspaper, and his uncle worked for Finnish TV.
Torvalds had a fairly conventional and happy childhood despite the fact that his parents were divorced when he was very young. He lived with his mother and also with his grandparents. Consistent with his family's occupation, emphasis was placed on reading from an early age.
It was his maternal grandfather, Leo Toerngvist, a professor of statistics at the University of Helsinki, who had the greatest influence on the young Linus. In the mid-1970s, Toerngvist bought one of the first personal computers, a Commodore Vic 20. Torvalds soon became bored with the few programs that were available for it, and he thus began to create new ones, first using the BASIC programming language and then using the much more difficult but also more powerful assembly language.
Programming and mathematics became Torvalds' passions. His father's efforts to interest him in sports, girls and other social activities were in vain, and Torvalds does not hesitate to admit that he had little talent for or interest in such pursuits.
The Birth of Linux
In 1988 Torvalds followed in the footsteps of his parents and enrolled in the University of Helsinki, the premier institution of higher education in Finland. By that time he was already an accomplished programmer, and, naturally, he majored in computer science. In 1990 he took his first class in the C programming language, the language that he would soon use to write the Linux kernel (i.e., the core of the operating system).
The following year, at the age of 21, Torvalds made his first computer purchase. It was a Sinclair QL, one of the world's first 32-bit PCs. Its Intel 386 processor (the part of the computer that performs logic operations and also referred to as a central processing unit or CPU) greatly appealed to him because it represented a tremendous improvement over earlier Intel chips. For example, its 32-bit operation meant that its data throughput was twice that of its predecessor, the 286. Also, its 32-bit address bus allowed the chip to support a huge 4GB of RAM (random access memory, the main memory in a computer) and it was the first processor to use instruction pipelining, which allows work to begin on the next instruction before the previous one has been completed. Moreover, it was affordable and was designed to be user-friendly for developers of new operating systems.
As intrigued as he was with the hardware, Torvalds was disappointed with the MS-DOS operating system that came with it. That operating system had not advanced sufficiently to even begin to take advantage of the vastly improved capabilities of the 386 processor, and he thus strongly preferred the much more powerful and stable UNIX operating system that he had become accustomed to using on the university's computers.
Consequently, Torvalds attempted to obtain a version of UNIX for his new computer. Fortunately (for the world), he could not find even a basic system for less than $5,000. He also considered MINIX, a small clone of UNIX that was created by operating systems expert Andrew Tanenbaum in the Netherlands to teach UNIX to university students. However, although much more powerful than MS-DOS and designed to run on Intel x86 processors (such as that used on the Sinclair QL), MINIX still had some serious disadvantages. They included the facts that not all of the source code was made public, it lacked some of the features and performance of UNIX and there was a not-insignificant (although cheaper than for many other operating systems) licensing fee.
Source code is the version of software (e.g., an operating system or an application program) as it is originally written (i.e., typed into a computer) by a human using a programming language (such as assembly, BASIC, C or Java) and before it is compiled (i.e., converted by a compiler) into machine language, which the processor (but not humans) can understand. Having the source code is necessary in order to study or improve software. A highly skilled programmer such as Torvalds can easily become bored and frustrated with software for which the source code is not available.
Torvalds thus decided to create a new operating system from scratch that was based on both MINIX and UNIX. It is unlikely that he was fully aware of the tremendous amount of work that would be necessary, and it is even far less likely that he could have envisioned the effects that his decision would have both on his life and on the rest of the world. Because university education in Finland is free and there was little pressure to graduate within four years, Torvalds decided to take a break and devote his full attention to his project.
On August 25, 1991, he announced his initial creation on the MINIX newsgroup comp.os.minix as follows:
From: email@example.com (Linus Benedict Torvalds)
To: Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
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-sytem due to practical reasons)among other things.
I've currently ported bash (1.08) an 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 want.
Any suggestions are welcome, but I won't promise I'll implement them :-)
Linus Torvalds firstname.lastname@example.org
On September 17 of the same year, after a period of self-imposed isolation and intense concentration, he completed a crude version (0.01) of his new operating system. Shortly thereafter, on October 5, he announced version 0.02, the first official version. It featured the ability to run both the bash shell (a program that provides the traditional, text-only user interface for Unix-like operating systems) and the GCC (the GNU C Compiler), two key system utilities. This now famous announcement launched the biggest collaborative project the world has ever known. It began:
Do you pine for the nice days of minix-1.1, when men were men and wrote their own device drivers? Are you without a nice project and just dying to cut your teeth on a OS you can try to modify for your needs? Are you finding it frustrating when everything works on minix? No more all-nighters to get a nifty program working? Then this post might be just for you :-)
As I mentioned a month(?) ago, I'm working on a free version of a minix-lookalike for AT-386 computers. It has finally reached the stage where it's even usable (though may not be depending on what you want), and I am willing to put out the sources for wider distribution. It is just version 0.02 (+1 (very small) patch already), but I've successfully run bash/gcc/gnu-make/gnu-sed/compress etc under it.
Sources for this pet project of mine can be found at nic.funet.fi (188.8.131.52) in the directory /pub/OS/Linux. The directory also contains some README-file and a couple of binaries to work under linux (bash, update and gcc, what more can you ask for :-). Full kernel source is provided, as no minix code has been used. Library sources are only partially free, so that cannot be distributed currently. The system is able to compile "as-is" and has been known to work. Heh. . . .
Ari Lemmke, Torvald's friend and the administrator for ftp.funet.fi, a provider of FTP (file transfer protocol) services in Finland, encouraged him to upload his source code to a network so it would be readily available for study and refinement by other programmers, a common practice then as it is now.
Torvalds originally gave his new operating system the working name Linux (from Linus' MINIX). However, he thought the name was too egotistical and thus planned to call it Freax (a combination of free, freak and MINIX). However, Lemmke created a directory for it called linux on his FTP server, and thus Linux became the name of the system.
In what Torvalds now admits was one of his best decisions, he decided to release Linux under the GPL (GNU General Public License) rather than under the more restrictive license that he had earlier planned. Developed by Richard Stallman, a notable programmer and a leading advocate of free software, this most popular of the open source licenses allows anyone to use, modify and redistribute the software as long as they make the source code freely available for any modified versions that they create and then redistribute.
In large part a consequence of this very liberal licensing, many programmers from around the world quickly became enthusiastic about helping Torvalds develop his still embryonic operating system. As a result, its performance began improving at a rapid rate.
Torvalds' efforts focused on developing a kernel, which is only part of what is necessary to make a usable operating system. Fortunately, Stallman and his Free Software Foundation (FSF) had been developing a number of open source programs for use in a free version of UNIX, and such programs (e.g., bash, GCC and GNU binutils) thus became major components of virtually all Linux distributions. A distribution is a complete operating system centered around a kernel and also containing numerous utilities, device drivers and application programs.
Other parts of Linux distributions came from the Berkeley UNIX distribution, a version of UNIX that was developed at the University of California at Berkeley (UCB) and which later evolved into the open source BSD operating systems. And the X Window System, which is the standard GUI (graphical user interface) for Unix and Linux systems, came from the Massachusetts Institute of Technology (MIT).
Linux Takes Off
The performance of the Linux kernel and Linux distributions continued to improve as more and more developers, initially individual and later corporate as well, joined the project and contributed their enthusiasm, effort and programming skills. This was paralleled by a swift growth in the number of users.
For example, in 1994 a usable ext2 filesystem (i.e., a system for organizing data on computer disks) was added to the kernel (which featured a large increase in speed over its predecessor, the ext), and its initially weak networking capability was improved substantially. This was also the year in which Torvalds began promoting new platforms for Linux.
One early complaint about Linux was that it could run only on x86 platforms (i.e., computers with Intel processors). The first of the new platforms was the Alpha workstation, which was manufactured by Digital Equipment Corporation (DEC). This porting of Linux to the Alpha was greatly facilitated by DEC's investment of both money and engineering talent. This was soon followed by porting to the SPARC and MIPS processors.
As a result of his skills and accomplishments, Torvalds was appointed to the post of instructor at the University of Helsinki, a position which allowed him to simultaneously continue his development of Linux. The first homework assignment for an introductory computer class that he taught in 1993 was for each student to send him an e-mail. One of the students, Tove Minni, a Finnish karate champion, complied by sending him an e-mail asking him out on a date. He accepted, and three years later the first of their three daughters was born.
Although the arrival of his first daughter coincided with minor disruptions in the development of the Linux kernel, he was able to release version 2.0 by December 1996. This milestone version represented a major improvement in performance through its addition of support for additional processors and for symmetric multiprocessing (SMP), which lets multiple processors access and be equally close to all RAM locations.
The use of Linux continued to grow rapidly as a result of these and numerous other advances as well as due to its spreading fame. By 1997, conservative estimates were placing worldwide Linux installations at more than three million computers. Two years later this had soared to in excess of seven million.
Despite the relentless successes of Linux and the great popularity of Torvalds, his activities were not entirely without controversy, even within the open source community. For example, Professor Tanenbaum, the developer of MINIX on which Linux was originally partially based, was convinced that microkernels (a minimalist type of kernel) were the wave of the future, and he expressed strong opposition to the monolithic approach of the Linux kernel in his now famous 1992 Usenet posting titled "LINUX is obsolete." Also, Richard Stallman has continued to insist that Linux's name is inappropriate and that the operating system should instead be renamed GNU/Linux because Stallman's GNU utilities are used together with the kernel.
Move to California
After spending nearly a decade as a student, researcher and instructor at the University of Helsinki, Torvalds decided that it was time for a change -- a big one that included both a change of scenery and a real job. Needless to say, there was no shortage of opportunities available to him.
Thus, in 1997 he moved to sunny Santa Clara in California's fabled Silicon Valley to accept a position with Transmeta Corporation. His job there was to help develop commercial software to facilitate communication between operating systems and that company's microprocessors. Linux devotees were initially concerned not only about his move to a for-profit business but also about the fact that it was funded in part by Microsoft co-founder Paul Allen.
For Torvalds, however, the decision was not difficult. Not only was it an opportunity for a change and to experience a much improved climate (from the long, cold and dark Finnish winters), but Silicon Valley was the ultimate destination for almost everyone in the computer field, even him. Moreover, he now had a growing family to support. His choice of company was also affected by the fact that Transmeta was not involved with Linux, as he was reluctant to favor one Linux business over another.
Torvalds' arrangement with Transmeta permitted him to devote part of his time to his Linux activities. This was, in fact, a clever publicity move on the part of Transmeta, which benefitted not only by receiving the services of an extremely talented and motivated engineer but also by having someone on their staff who brought them exceptional media attention.
Torvalds arrived in Silicon Valley when Microsoft was decimating Netscape in the browser war and when many people in the U.S. and elsewhere were hoping for a new, and more robust, challenger to the Microsoft monopoly. Frequent comparisons were made between Torvalds and Bill Gates, but the main similarities were that both were fanatical computer programmers, wore glasses and were about the same height.
Gates had become fabulously wealthy, whereas Torvalds was making close to nothing from his free product. He was subsisting only on an average programmer's salary, and he and his family were living in a modest duplex in an ordinary neighborhood. Actually, Torvalds was never really interested in accumulating wealth or power, and he has contended all along that what counts most for the best programmers is the joy of programming and being creative. In his own words, he did it all "just for fun." Nevertheless, he was subsequently rewarded with both wealth and power, and he has not been reluctant to admit that money has its advantages.
Torvalds' financial situation changed dramatically in 1999. Red Hat and VA Linux (now VA Software), both leading developers of Linux-based software packages for large enterprises, had presented him with stock options in gratitude for his creation. Torvalds suddenly became a millionaire when Red Hat went public, and his net worth temporarily soared to roughly $20 million when VA Linux went public later that year.
Corporate Acceptance of Linux
Linux got another big break in the late 1990s when competitors of Microsoft began taking it seriously. Oracle, Intel, Netscape, Corel and others announced plans to support Linux as an inexpensive alternative to Microsoft Windows. Major corporations soon realized the potential of Linux, and they quickly adopted it for their Internet servers and networks. Contributing to this surge in popularity was the fact that Apache, the extremely successful open source web server (which now hosts more than 64 percent of websites worldwide) was first written for Linux.
Perhaps the biggest boost for Linux's adoption in the corporate world has been IBM's official blessing and massive support. This included a 2001 announcement of a commitment of a billion dollars for Linux research, development and promotion.
IBM's support was not merely an act of charity. The company was faced with the growing burden of having to support its own collection of proprietary (i.e., owned by an individual or a company) operating systems, including AIX, OS/2 and z/OS, as well as Microsoft Windows and others. It realized that despite Linux's obvious shortcomings at that time, such as a very limited ability to run heavy-duty server applications and a lack of quality GUI applications, Linux had strong technical underpinnings and great potential for improvement. The massive investment has been paying off very handsomely for IBM (and others), and its Linux-related business now exceeds two billion dollars annually, making IBM by far the world's largest vendor of Linux-related products and services.
Linux use has grown rapidly not only in terms of the total number of installations but also in terms of the diversity of the systems on which it is operated. Particularly impressive has been its growing share in the market for servers, the centralized computers that power corporate networks and the Internet. Many industry experts are convinced that it is only a matter of just a few years before Linux replaces Unix as the dominant operating system running the world's largest corporate data centers.
Equally impressive has been the growth at the opposite end of the applications spectrum, i.e., for use in embedded systems. These are single chips (or circuit boards) which contain simplified versions of Linux and which are incorporated into everything from mobile phones to industrial robots. Among the advantages of Linux for use in embedded systems are portability (i.e., ability to run on almost any type of processor), flexibility (i.e., ease of configuring), low cost (i.e., no licensing fees) and the availability of efficient and low cost development tools.
Moreover, Linux is finally beginning to reach the point where it will be suitable for use as a low cost alternative on the desktop and notebook computers of ordinary people who have little understanding of (or interest in) computers but who need them for their work and/or leisure activities.
This phenomenal success is undoubtedly due in very large part to Torvalds' brilliance and dedication. Also important is the fact that he made a series of wise strategic decisions, not only about the technical aspects of the operating system but also about how it would be developed and licensed, including that very early decision to make Linux open source. Moreover, his personality has been ideally suited for his role as spiritual leader of the Linux movement, including his combination of self-deprecating humor and his far-from-unique philosophy that "life is simply about having a good time" rather than merely about accumulating vast wealth.
But as has so often been the case with highly creative and influential people throughout history, Torvald's success was also due to the fact that he was the right person at the right time. The conditions in the early 1990s were ripe for the emergence of a free, high performance operating system such as Linux, namely (1) the increasing affordability and power of personal computers, (2) the lack of a truly stable and powerful operating system for such computers (and the considerable dissatisfaction with the then dominant MS-DOS) and (3) the arrival of the Internet for instantaneous and free communication among programmers scattered around the planet. In fact, it is highly unlikely that Linux would have come into being, much less threaten to revolutionize the entire computer industry, without the existence of all three of these conditions.
Torvalds is now working on the Linux kernel full-time for Open Source Development Lab (OSDL), which is based in Beaverton, Oregon. Founded in 2000 and supported by a global consortium of computer companies, including IBM, OSDL describes its mission as "becoming the recognized center of gravity for Linux and the central body dedicated to accelerating the use of Linux for enterprise computing."
Only about two percent of the current Linux kernel has actually been written by Torvalds himself, which is quite understandable given its great size and complexity (e.g., the full source code for the 2.6 kernel is as much as 80 MB). However, he makes the final decisions regarding which of the many proposed modifications and additions will be incorporated into it. His criteria for adding code is that it be (1) of high quality and clean, (2) easy to maintain and (3) beneficial to a wide range of users rather than to just a single corporate user or to any other narrow agenda.
Torvalds also owns the Linux trademark and monitors its use (and occasional abuse). The hundreds of other programs that are generally included in distributions together with the kernel (e.g., GCC, bash, the vi text editor, the X Window System and the KDE desktop environment) are developed and maintained by other groups, but there is considerable coordination with Torvalds and other developers of the kernel.
In contrast to many leading advocates of open source software, Torvalds maintains a low profile and attempts to avoid debates that are not closely related to the Linux kernel, and he generally avoids commenting on competing software products. In fact, his public stance is so neutral that it has even been criticized by other open source advocates. Yet, Torvalds has occasionally reacted with strong responses to anti-Linux (and anti-open source) tactics employed by some proprietary software companies.
Although Torvalds grew up in a highly political environment, he claims to have absolutely no interest in politics. His views appear to be quite mainstream for Europe, although they might be considered leftist in the U.S. Despite his parents' background, Torvalds is not opposed to capitalism. In fact, Linux is licensed so that anyone is automatically permitted to sell it for a profit and even become wealthy from doing so.
Torvalds originally began his work with the OSDL by commuting from his home in sunny Silicon Valley. However, in June 2004 he revealed that he would finally be moving with his family to Portland (of which Beaverton is a suburb) to oversee the OSDL. He told an Oregon newspaper: "We want to be somewhere calmer and saner. Silicon Valley is a bit crazy." Perhaps he should have also mentioned that Portland would be a bit more like his native Helsinki: i.e., a very pleasant and livable city that has less sunshine and somewhat longer, colder and darker winters than Silicon Valley.
Regardless of how long Torvalds stays in Portland, he will likely continue in his roles as the head of Linux kernel development and the spiritual leader of the Linux movement for years to come, as he has shown no signs of tiring of them and wanting to take his life in a new direction. Linux is still young and poised for its greatest growth, and it still needs him.
Tuesday, January 10, 2006
Linus Torvalds: A Very Brief and