We talk in this chapter about some of the major driving forces behind Ubuntu Linux. Although it is a young operating system (OS), it has a history and a family to be proud of, because it is the heir of a tradition dating back to the late 1960s, and even before.
If, after reading Chapter 1, you started wondering, how could it all be free of charge? Where's Linux Corp. and how does it make a profit? Who are the members of the Linux community that answer my questions without expecting anything in return? If you are asking yourself those questions, then you should read this chapter.
We start our history at a rather arbitrary point in time: the birth of UNIX in the late 1960s. Our rationale for doing so is quite straightforward: Linux is a UNIX-like OS, designed and written specifically with the aim of reproducing UNIX's core functionality.
UNIX is an extremely successful OS, originally developed in 1969 at Bell Labs, New Jersey, by a group of AT&T employees. Its creators, who included Ken Thompson, Dennis Ritchie, and Brian Kernighan, are ranked today as some of the most prominent personalities in computer history and are even idolized by some UNIX gurus. UNIX was, and still is, a very modern, portable, multi-tasking OS.
MS-UX?
In the late 1970s and early 1980s, UNIX had a tremendous preeminence in academic circles. It was highly respected by computer scientists of the day and became the basis for many subsequent variants made by different companies. Operating systems such as HP-UX, Solaris, and IBM AIX were a result of those efforts.
In 1981 IBM introduced the IBM PC in an attempt to gain share in the microcomputer market. It was such a huge success that in the end it turned against its creator and undermined IBM's market dominance. What IBM did at the time was sharply at odds with its previous corporate culture. To shorten the development cycle, it chose to integrate components from different vendors instead of using proprietary components from IBM itself. It also published detailed documentation of the PC's internal architecture, so other companies were able to create their own expansion modules. There's nothing wrong with those practices, except when they clash with (or even undermine) your own business model.
One of those components was the CPU: IBM used the Intel 8088 microprocessor. This allowed other computer manufacturers to create compatible computers, collectively known as PC clones.
And there was also the operating system: MS-DOS, from Microsoft. Bill Gates and his company had a brilliant idea: instead of selling their OS to IBM, they only licensed it. They thus reserved their right to license the OS to other hardware makers—namely the ones that were already cloning the IBM PC.
So the only identifiable components that remained the same across all these computers were the processor and the OS. Eventually the “Wintel” duo (short for Windows and Intel) began replacing “IBM PC” as the brand of the new revolution. The dream of “a PC on every desktop” running Microsoft software spun off in a thousand directions from that point onwards.
Independence from any particular hardware provider and the freedom to license its OS to different manufacturers has been the foundation of Microsoft's success with Windows. The hardware and the OS evolved, from XT to Pentium, and from MS-DOS to Windows, but the underlying business model remained the same (with an ever-stronger arm to force deals as Windows became more popular). Microsoft became one of the most salient examples of a closed and proprietary software business model.
Speaking out against the practice of proprietary and closed software was an MIT Lab programmer called Richard Matthew Stallman, or RMS as he prefers to be called.
Working at MIT labs, several episodes warned him about how proprietary and closed software was imposing severe limits to their users' freedoms. He believed that users should be free: free to create, to study, to use, to reproduce, to share, to modify, and to do with software what they wanted. The principles of free software were born.
Sometimes people get confused about what “free” means in this context. RMS has often explained that what he means by “free” is “free as in free speech,” not “free as in free beer.” That is, free software should not necessarily be given away for free, but it definitely should not limit in any way what the user can do with it.
He set himself the task of creating an OS and enough applications to make proprietary software unnecessary, in a collaborative project he called GNU. This is a recursive acronym (and programmer's in-joke) that means “GNU's Not Unix!” Although the goal was to make it UNIX-like, it was meant to be entirely free and rigorously excludes any UNIX code. The project was first announced on September, 1984, and started development a few months later.
They had to write the core of the OS, or kernel (which was given the name HURD), and a set of applications that reproduced the operation of UNIX. The latter part advanced swiftly, but development of the kernel stalled. It soon reached a point in which the only part missing from the free UNIX-like utopia was the kernel.
As part of his efforts, Stallman also created the Free Software Foundation, which, as its name implies, advocates for the use of free software.
Two questions Richard Stallman had to answer when laying the foundation for free software development were whether it should be licensed and, if so, how.
There was a problem with the original idea of free software, a hole through which a malicious company could profit from the efforts of altruistic programmers. If a person, organization, or community writes an application and gives it away for free, making it part of the public domain and granting all rights in an unrestricted fashion, then what prevents a greedy user from registering the application under his name and trying to profit from the copyright? That type of practice had to be somehow avoided without limiting user freedom.
Something like that happened to RMS. He was asked to write an application; he agreed to do it and to make it public domain, and was later denied access to the modified version as updated by the same people who had requested it in the first place.
But he disliked the idea of copyright, because he thought it was inherently limiting. It gave an author excessive power over his work, letting him or her define what the user could or could not do with it. Copyright was not the solution for RMS. But somehow he had to play by the rules in order to avoid being deprived of the results of his work once again.
So he conceived the idea of “copyleft” as a special kind of copyright which imposes limits on one thing only: the right to prevent sharing. Works registered under copyleft licenses can be used, studied, shared, modified, and redistributed as anyone likes; but every modification or addition must be licensed under similar copyleft terms. That way everyone benefits from the work of others, even the original author. It's also called a “viral” license, because it is transmitted from person to person. No one has the right to prevent others from sharing the software.
Because copyleft granted users the right to modify the work, an important side effect was that the source code had to be released together with the application.
Stallman decided that a copyleft type of license was ideal for the GNU project and so created the GNU Public License, or GPL. Today, much of the work from the open source community is licensed under the GPL or other licenses inspired by the same concepts.
Richard Stallman was not the only one with the idea of making a UNIX-like operating system. In fact, in the 1980s the technical superiority of UNIX was widely recognized, so everyone expected it to become the dominant force in the PC market recently created by IBM and its clones.
But that wasn't happening. Disputes over copyright issues spread among UNIX companies in what became known as the “UNIX wars.” The HURD (the kernel of the GNU project, remember?) was nowhere near finished (even today there is still no stable release). And MS-DOS continued to gain popularity, a Microsoft trend that later intensified with the graphical interface of Windows.
As an exception, from the BSD version on, UNIX spawned a little derivative that today, after years of evolution, is giving Microsoft people more than one headache: the Mac OS. That's right: the sleek operating system from Apple (now in the version Mac OS X) shares a foundation with Linux as a UNIX-like operating system.1
Meanwhile, in the Netherlands, a computer science professor named Andrew Tanenbaum was writing a classic book called Operating Systems: Design and Implementation. He decided that for it to be more didactic, the book should be accompanied by a complete operating system, including its source code. The result of this work was MINIX, short for “minimal UNIX.” It was developed for compatibility with the IBM PC models available at the time and included a kernel (the core of the OS, remember), a memory manager, and a file system—pretty much the most important components of any OS. The book became very popular, and MINIX became the learning tool of many students worldwide. Linus Torvalds was one of them.
In 1991 Linus Torvalds was a student at the University of Helsinki, Finland, when he purchased an Intel 80386-based IBM PC, which he intended to use as a terminal emulator for remotely connecting to the University's lab.
The main choices at that time for a PC operating system were MS-DOS and MINIX. He was rapidly disappointed with MS-DOS, and given his respect for UNIX and his willingness to learn, his choice was the latter. But his dissatisfaction with some technical aspects of MINIX encouraged him to create his terminal emulator from scratch, although based on MINIX. He also wanted his version to be noncommercial, which MINIX, although inexpensive, was not. The terminal emulator soon evolved into a full OS kernel he first called “Freax” (a combination of “free,” “freak,” and the “X” that identified it as a UNIX-like system), but in the end “Linux” (yes, standing for “Linus”) became popular because that's how a friend named the folder in which the files were stored and shared.
_____________________
1 As we are writing this, Apple's market cap just surpassed Microsoft's: http://gizmodo.com/5548460/apple-is-now-bigger-than-microsoft-the-most-valuable-tech-companyin-the-world
Torvalds then decided he wanted his OS to do more things, but he needed outside collaboration so he didn't have to do all the hard work. It was due to a bit of laziness that he posted a message to the MINIX user group which started with the less-than-visionary statement: “I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.”
LINUX 0.01
What followed was his “accidental revolution.” Soon more and more developers were following his lead in the development of the Linux kernel, starting what is now considered the most important collaborative effort in computing history. He even had a fierce debate with Andrew Tanenbaum, who declared in the same user group that “Linux is obsolete” as early as 1992. In the end, of course, Linus prevailed.
Today, Linus Torvalds lives with his wife Tove and their three daughters in California, supervising the Linux kernel development and directing The Linux Foundation, a not-for-profit organization sponsored by individuals and companies that advocate the use of free software and Linux in particular. He is seen by the community as their leader, and is often called the “benevolent dictator of planet Linux,” even though he likes to describe his own position as the “hood ornament” of Linux.
But Linux wasn't a complete OS. It was just a kernel, unable to do anything useful without programs running in top of it.
So Linux was in search of programs already available for free that emulated the working environment of a UNIX-like computer… which was exactly what the GNU project was producing. Meanwhile the GNU project was struggling to develop a free, open source, UNIX-like kernel… which was exactly what Linus Torvalds and his crew were doing. So a perfect match was found.
It is not that both teams merged into one. The GNU project continued with its development of the HURD. It's just that for practical purposes, if one person wanted to have a complete OS, he needed both parts: the Linux kernel and the GNU applications.
That was the origin of a very fruitful relationship between Linux and GNU. Today many free software advocates call the OS by the full name GNU/Linux (pronounced “GNU slash Linux”). Richard Stallman even proposed the name “Lignux” one time. It you ever come across a discussion as to whether the OS should be called “Linux” or “GNU/Linux,” you should know that the latter name is defended by the followers of Richard Stallman who think his applications are as important as the kernel itself.
_________________
2 www.kernel.org/pub/linux/kernel/Historic/old-versions/RELNOTES-0.01
For a Linux newbie, one of the most disorienting aspects is: why are there so many versions? You just want to use Linux, but which one? Linux itself seems to be nowhere—all there are to be found are distributions.
That is quite true, but the real question you should be asking yourself is: what do I want to do with Linux? Answer that question, and the perfect distribution (or at least a short list of them) should emerge naturally.
Distributions appeared at first as a way to make Linux installation easy by integrating all the required software plus additional applications that made that distribution unique. There were some original distributions, and then many that spawned from there in order to achieve a particular goal, and this makes Linux history resemble a tree-like structure. There are commercial distributions, sponsored by companies that sell services associated with their products, and there are completely free distributions. There are even free distributions that are almost 100% copies of commercial distributions! Thus Linux is a never-ending story, like human history, because there will always be new objectives and goals. This dispersion is not a liability for Linux, but one of its major strengths: you'll always have a distribution that matches your exact needs… and if not, you can create your own!
WHAT ABOUT THE PENGUIN?
Table 2-1 lists some (but by no means all) of the most popular Linux distributions in use today.
Open source is a concept often associated with Linux and free software.
Linux is an open source project, which means that its source code is available for anyone to see. That's different from, say, Microsoft's development model, which is closed source. Microsoft's source code is not widely available, and if you're granted access to it (if you are, for example, a partner), you have to sign a nondisclosure agreement. Linux is also free and licensed under the GPL.
Open source as a development practice has a lot of advantages over closed source. One of them is what is known as Linus' Law: “Given enough eyeballs, all bugs are shallow.” If source code is open, everybody can see it, and thus errors have more chances of being detected and corrected in a timely fashion.
There are currently many open source projects that, although they run on top of other operating systems besides Linux, are mostly associated with it. Some examples can be found in Table 2-2.
Some years ago, the open source concept became more institutional and often collides with that of free software, at least in the heads of their leaders. In 1998, the Open Source Initiative (OSI) was founded with the aim of making this family of software more appealing to commercial organizations, which may be scared by the concept of software being free. The open source model of development, the founders thought, had its own merits, whether the software produced was free or not. OSI tries to sell the business case for open source as a pragmatic solution, without the moral philosophy entanglement of free software.
But the two concepts are often linked, giving rise to the acronyms FOSS (“Free and Open Source Software”) and FLOSS (the “L” from libre, Spanish for “free”).
After earning half a billion dollars in the late 1990s and traveling to space, Mark Shuttleworth, a young South African entrepreneur, found himself with a lot of money in his pockets and in search of a cause.
He found it in Linux and the free software promise. Mark had been a Debian programmer in the 1990s, but this time his mission was somewhat different and more ambitious: he envisioned a world in which the PC market was upside down. Instead of users having to pay for the OS, as people do with Windows, he wanted it to be possible and sustainable to give the OS away for free and profit from services such as consulting, customization, and support. He thought that Linux was an already mature platform and a perfect fit for this business model. And he aimed at the heart of Microsoft: the desktop computer. But, unlike many others, he understood that for users to massively embrace his product, it would not only have to be free, but also exciting, easy to use, and complete. There had to be a “wow” factor in place for his plan to succeed.
The name Ubuntu was a perfect choice to reflect both free software principles and South Africa's cultural heritage. Ubuntu (pronounced “oo-BOON-too”) is a Bantu word with synonyms in many other African languages. Although it has been described as too beautiful to be translated into English, the word reflects the idea that you only became truly human through other human beings. There is a Zulu saying that goes: umuntu ngumuntu ngabantu (“a person is a person through (other) persons”). It has also been defined as “humanity through others.” By emphasizing fraternal bonds between human beings, the name Ubuntu takes free software principles one step further, connecting it to a broader humanistic view of the world. It is not just that open source software is better programmed, or that an individual has the right to use the software as he likes: it sees humanity as a collective endeavor that will only attain its goal if we treat our fellow humans as companions on a trip instead of just customers or providers. Ubuntu the OS attempts to be a means by which ubuntu the philosophy can thrive. Mark Shuttleworth believes that if Ubuntu succeeds, he really will be changing the world. It's not a small goal he set for himself!
Mark then founded Canonical Ltd., the UK-based company behind Ubuntu, in 2004, with initial funding of $10 million. He believes Ubuntu will grow to be a sustainable business over the years, and not just the whim of a billionaire. Its revenue, Shuttleworth disclosed in an interview a couple of years ago, was $30 million a year. Still far from the billions Microsoft earns by selling Windows, but pretty good for a company that gives away its main product!
There is an old, so-far-unfulfilled prophecy about “the Year of the Linux Desktop.” Many have predicted that Linux would eventually replace Windows as the de-facto desktop OS, but so far it hasn't happened.
Might things be changing? Could the long-awaited “Year” finally be here?
Linux is not about market share, but just plain sharing. To share, say, an apple with you means giving it to you. You can eat it, give it away, or store it for later use. That's what sharing means; otherwise something is expected in return. Proprietary software makers want you to take the apple, pay for it in advance, feel that you need to eat the apple right away, and then sell you a knife to peel it (and it's even better if only their knife works with that particular apple). They polish the apple and put a sticker over the worm hole so you don't see it until it's too late. Their revenues derive from this method.
The aim of this book is to tell you that you can make the personal choice of opting for Ubuntu Desktop and its application stack without fear, and even with some hope.
We mention in Chapter 1 that trends in the desktop computing market can lead one to think that the very foundation on which the Microsoft Windows success story is based might be shaking right now, among them the emergence of web-based applications and the “good enough” revolution in hardware.
Microsoft's mission of battling piracy can also be a force driving Ubuntu Linux adoption. Believe it or not, on desktops, the second most installed OS behind legitimate copies of Microsoft Windows is… illegal copies of Microsoft Windows. But if Microsoft increases its pressure on pirates (as it's already doing), people might turn to free alternatives rather than keep paying for Windows. And if more users turn to Linux, anything could happen. With a small amount of the market share for desktop computers, the Linux community produced something as good as Ubuntu; it's difficult to imagine where the limit will be if the number of users increases.
Ubuntu is now a mature desktop OS in its 14th release, and it is reportedly the most popular Linux distribution for desktops; in fact, it has been chosen as distribution of the year many times. Red Hat and Novell, with Red Hat Enterprise Linux Desktop and SUSE Linux respectively, are aiming at the corporate market and have made some advances there that push forward the overall Linux community.
There might never be a “Year of the Linux Desktop.” Today, computing is less about desktop computers and more about such devices as smartphones, tablets, and even TVs with processing power and intelligent software. Linux, in its various flavors, is a step ahead of its competition in this arena. Desktop computers will most certainly maintain a place in this new world of computing, and Ubuntu and Linux have already been successful in raising the bar when it comes to what we expect to receive for each dollar we spend on software.
This chapter closes the introductory part of the book. We've discussed the history of Ubuntu, starting from the creation of UNIX in the 1970s, to the rise of IBM PC and Microsoft's DOS in the 1980s, and gone from the initial call for collaboration from Linus Torvalds to the reality of free and open source software that is Ubuntu.
Along the way we met characters such as Richard Stallman and Linus Torvalds, the founding fathers of the GNU/Linux OS. We also reviewed the concepts of copyleft, free software, and open source, which are part of understanding the world of Linux and Ubuntu.
3.12.34.253