Free For All - How Linux and the Free Software Movement Undercut the High Tech Titans, Peter Wayner

9. Growth

Through the 1990s, the little toy operating system grew slowly and quietly as more and more programmers were drawn into the vortex. At the beginning, the OS wasn't rich with features. You could run several different programs at once, but you couldn't do much with the programs. The system's interface was just text. Still, this was often good enough for a few folks in labs around the world. Some just enjoyed playing with computers. Getting Linux running on their PC was a challenge, not unlike bolting an aftermarket supercharger onto a Honda Civic. But others took the project more seriously because they had serious jobs that couldn't be solved with a proprietary operating system that came from Microsoft or others.

In time, more people started using the system and started contributing their additions to the pot. Someone figured out how to make MIT's free X Window System run on Linux so everyone could have a graphical interface. Someone else discovered how to roll in technology for interfacing with the Internet. That made a big difference because everyone could hack, tweak, and fiddle with the code and then just upload the new versions to the Net.

It goes without saying that all the cool software coming out of Stallman's Free Software Foundation found its way to Linux. Some were simple toys like GNU Chess, but others were serious tools that were essential to the growth of the project. By 1991, the FSF was offering what might be argued were the best text editor and compiler in the world. Others might have been close, but Stallman's were free. These were crucial tools that made it possible for Linux to grow quickly from a tiny experimental kernel into a full-featured OS for doing everything a programmer might want to do.

James Lewis-Moss, one of the many programmers who devote some time to Linux, says that GCC made it possible for programmers to create, revise, and extend the kernel. “GCC is integral to the success of Linux,” he says, and points out that this may be one of the most important reasons why “it's polite to refer to it as GNU/Linux.”

Lewis-Moss points out one of the smoldering controversies in the world of free software: all of the tools and games that came from the GNU project started becoming part of what people simply thought of as plain “Linux.” The name for the small kernel of the operating system soon grew to apply to almost all the free software that ran with it. This angered Stallman, who first argued that a better name would be“Lignux.”When that failed to take hold, he moved to “GNU/Linux.” Some ignored his pleas and simply used “Linux,” which is still a bit unfair. Some feel that“GNU/Linux”is too much of a mouthful and, for better or worse, just plain Linux is an appropriate shortcut. Some, like Lewis-Moss, hold firm to GNU/Linux.

Soon some people were bundling together CD-ROMs with all this software in one batch. The group would try to work out as many glitches as possible so that the purchaser's life would be easier. All boasted strange names like Yggdrasil, Slackware, SuSE, Debian, or Red Hat. Many were just garage projects that never made much money, but that was okay. Making money wasn't really the point. People just wanted to play with the source. Plus, few thought that much money could be made. The GPL, for instance, made it difficult to differentiate the product because it required everyone to share their source code with the world. If Slackware came up with a neat fix that made their version of Linux better, then Debian and SuSE could grab it. The GPL prevented anyone from constraining the growth of Linux.

But only greedy businessmen see sharing and competition as negatives. In practice, the free flow of information enhanced the market for Linux by ensuring that it was stable and freely available. If one key CDROM developer gets a new girlfriend and stops spending enough time programming, another distribution will pick up the slack. If a hurricane flattened Raleigh, North Carolina, the home of Red Hat, then another supplier would still be around. A proprietary OS like Windows is like a set of manacles. An earthquake in Redmond, Washington, could cause a serious disruption for everyone.

The competition and the GPL meant that the users would never feel bound to one OS. If problems arose, anyone could always just start a splinter group and take Linux in that direction. And they did. All the major systems began as splinter groups, and some picked up enough steam and energy to dominate. In time, the best splinter groups spun off their own splinter groups and the process grew terribly complicated.

9.1. The Establishment Begins to Notice

By the mid-1990s, the operating system had already developed quite a following. In 1994, Jon Hall was a programmer for Digital, a company that was later bought by Compaq. Hall also wears a full beard and uses the name “maddog” as a nickname. At that time, Digital made workstations that ran a version of UNIX. In the early 1990s, Digital made a big leap forward by creating a 64-bit processor version of its workstation CPU chip, the Alpha, and the company wanted to make sure that the chip found widespread acceptance.

Hall remembers well the moment he discovered Linux. He told Linux Today,

I didn't even know I was involved with Linux at first. I got a copy of Dr. Dobb's Journal, and in there was an advertisement for “get a UNIX operating system, all the source code, and run it on your PC.” And I think it was $99. And I go, “Oh, wow, that's pretty cool. For $99, I can do that.” So I sent away for it, got the CD. The only trouble was that I didn't have a PC to run it on. So I put it on my Ultrix system, took a look at the main pages, directory structure and stuff, and said, “Hey, that looks pretty cool.” Then I put it away in the filing cabinet. That was probably around January of 1994.

In May 1994, Hall met Torvalds at a DECUS (Digital Equipment Corporation User Society) meeting and became a big fan. Hall is a programmer's programmer who has written code for many different machines over the years, like the IBM 1130 and the DEC PDP-8. He started out as an electrical engineer in college, but took up writing software “after seeing a friend of mine fried by 13,600 volts and 400 amps, which was not a pretty sight.” Hall started playing with UNIX when he worked at Bell Labs and fell in love with the OS.

At the meeting, Torvalds helped Hall and his boss set up a PC with Linux. This was the first time that Hall actually saw Linux run, and he was pleasantly surprised. He said, “By that time I had been using UNIX for probably about fifteen years. I had used System V, I had used Berkeley, and all sorts of stuff, and this really felt like UNIX. You know . . . I mean, it's kind of like playing the piano. You can play the piano, even if it's a crappy piano. But when it's a really good piano, your fingers just fly over the keys. That's the way this felt. It felt good, and I was really impressed.”

This experience turned Hall into a true convert and he went back to Digital convinced that the Linux project was more than just some kids playing with a toy OS. These so-called amateurs with no centralized system or corporate backing had produced a very, very impressive system that was almost as good as the big commercial systems. Hall was an instant devotee. Many involved in the project recall their day of conversion with the same strength. A bolt of lightning peeled the haze away from their eyes, and they saw.

Hall set out trying to get Torvalds to rewrite Linux so it would work well on the Alpha. This was not a simple task, but it was one that helped the operating system grow a bit more. The original version included some software that assumed the computer was designed like the Intel 386. This was fine when Linux only ran on Intel machines, but removing these assumptions made it possible for the software to run well on all types of machines.

Hall went sailing with Torvalds to talk about the guts of the Linux OS. Hall told me, "I took him out on the Mississippi River, went up and down the Mississippi in the river boat, drinking Hurricanes, and I said to him, 'Linus, did you ever think about porting Linux to a 64-bit processor, like the Alpha?' He said, 'Well, I thought about doing that, but the Helsinki office has been having problems getting me a system, so I guess I'll have to do the PowerPC instead.'

“I knew that was the wrong answer, so I came back to Digital (at the time), and got a friend of mine, named Bill Jackson, to send out a system to Linus, and he received it about a couple weeks after that. Then I found some people inside Digital who were also thinking about porting Linux to an Alpha. I got the two groups together, and after that, we started on the Alpha Linux project.”

This was one of the first times that a major corporation started taking note of what was happening in the garages and basements of hardcore computer programmers. It was also one of the first times that a corporation looked at an open source operating system and did not react with fear or shock. Sun was always a big contributor of open source software, but they kept their OS proprietary. Hall worked tirelessly at Digital to ensure that the corporation understood the implications of the GPL and saw that it was a good way to get more interested in the Alpha chip. He says he taught upper management at Digital how to “say the L-word.”

Hall also helped start a group called Linux International, which works to make the corporate world safe for Linux. “We help vendors understand the Linux marketplace,” Hall told me. “There's a lot of confusion about what the GPL means. Less now, but still there's a lot of confusion. We helped them find the markets.”

Today, Linux International helps control the trademark on the name Linux and ensures that it is used in an open way. “When someone wanted to call themselves something like 'Linux University,' we said that's bad because there's going to be more than one. 'Linux University of North Carolina' is okay. It opens up the space.”

In the beginning, Torvalds depended heavily on the kindness of strangers like Hall. He didn't have much money, and the Linux project wasn't generating a huge salary for him. Of course, poverty also made it easier for people like Hall to justify giving him a machine. Torvalds wasn't rich monetarily, but he became rich in machines.

By 1994, when Hall met Torvalds, Linux was already far from just a one-man science project. The floppy disks and CD-ROMs holding a version of the OS were already on the market, and this distribution mechanism was one of the crucial unifying forces. Someone could just plunk down a few dollars and get a version that was more or less ready to run. Many simply downloaded their versions for free from the Internet.

9.2. Making it Easy to Use

In 1994, getting Linux to run was never really as simple as putting the CD-ROM in the drive and pressing a button. Many of the programs didn't work with certain video cards. Some modems didn't talk to Linux. Not all of the printers communicated correctly. Yet most of the software worked together on many standard machines. It often took a bit of tweaking, but most people could get the OS up and running on their computers.

This was a major advance for the Linux OS because most people could quickly install a new version without spending too much time downloading the new code or debugging it. Even programmers who understood exactly what was happening felt that installing a new version was a long, often painful slog through technical details. These CDROMs not only helped programmers, they also encouraged casual users to experiment with the system.

The CD-ROM marketplace also created a new kind of volunteer for the project. Someone had to download the latest code from the author. Someone had to watch the kernel mailing list to see when Torvalds, Cox, and the rest had minted a new version that was stable enough to release. Someone needed to check all the other packages like GNU Emacs or GNU CC to make sure they still worked correctly. This didn't require the obsessive programming talent that created the kernel, but it did take some dedication and devotion.

Today, there are many different kinds of volunteers putting together these packages. The Debian group, for instance, is one of the best known and most devoted to true open source principles. It was started by Ian Murdock, who named it after himself and his girlfriend, Debra. The Debian group, which now includes hundreds of official members, checks to make sure that the software is both technically sound and politically correct. That is, they check the licenses to make sure that the software can be freely distributed by all users. Their guidelines later morphed into the official definition of open source software.

Other CD-ROM groups became more commercial. Debian sold its disks to pay for Internet connection fees and other expenses, but they were largely a garage operation. So were groups with names like Slackware, FreeBSD, and OpenBSD. Other groups like Red Hat actually set out to create a burgeoning business, and to a large extent, they succeeded. They took the money and used it to pay programmers who wrote more software to make Linux easier to use.

In the beginning, there wasn't much difference between the commercially minded groups like Red Hat and the more idealistic collectives like Debian. The marketplace was small, fragmented, and tribal. But by 1998, Red Hat had attracted major funding from companies like Intel, and it plowed more and more money into making the package as presentable and easy to use as possible. This investment paid off because more users turned instinctively to Red Hat, whose CD-ROM sales then exploded.

Most of this development lived in its own Shangri-La. Red Hat, for instance, charged money for its disks, but released all of its software under the GPL. Others could copy their disks for free, and many did. Red Hat may be a company, but the management realized that they depended on thousands if not millions of unpaid volunteers to create their product.

Slowly but surely, more and more people became aware of Linux, the GNU project, and its cousins like FreeBSD. No one was making much money off the stuff, but the word of mouth was spreading very quickly. The disks were priced reasonably, and people were curious. The GPL encouraged people to share. People began borrowing disks from their friends. Some companies even manufactured cheap rip-off copies of the CD-ROMs, an act that the GPL encouraged.

At the top of the pyramid was Linus Torvalds. Many Linux developers treated him like the king of all he surveyed, but he was like the monarchs who were denuded by a popular constitutional democracy. He had always focused on building a fast, stable kernel, and that was what he continued to do. The rest of the excitement, the packaging, the features, and the toys, were the dominion of the volunteers and contributors.

Torvalds never said much about the world outside his kernel, and it developed without him.

Torvalds moved to Silicon Valley and took a job with the very secret company Transmeta in order to help design the next generation of computer chips. He worked out a special deal with the company that allowed him to work on Linux in his spare time. He felt that working for one of the companies like Red Hat would give that one version of Linux a special imprimatur, and he wanted to avoid that. Plus, Transmeta was doing cool things.

In January 1999, the world caught up with the pioneers. Schmalensee mentioned Linux on the witness stand during the trial and served official notice to the world that Microsoft was worried about the growth of Linux. The system had been on the company's radar screen for some time. In October 1998, an internal memo from Microsoft describing the threat made its way to the press. Some thought it was just Microsoft's way of currying favor during the antitrust investigation. Others thought it was a serious treatment of a topic that was difficult for the company to understand.

The media followed Schmalensee's lead. Everyone wanted to know about Linux, GNU, open source software, and the magical effects of widespread, unconditional sharing. The questions came in tidal waves, and Torvalds tried to answer them again and again. Was he sorry he gave it all away? No. If he charged anything, no one would have bought his toy and no one would have contributed anything. Was he a communist? No, he was rather apolitical. Don't programmers have to eat? Yes, but they will make their money selling a service instead of getting rich off bad proprietary code. Was Linux going to overtake Microsoft? Yes, if he had his way. World Domination Soon became the motto.

But there were also difficult questions. How would the Linux world resist the embrace of big companies like IBM, Apple, Hewlett-Packard, and maybe even Microsoft? These were massive companies with paid programmers and schedules to meet. All the open source software was just as free to them as anyone else. Would these companies use their strength to monopolize Linux?

Some were worried that the money would tear apart the open source community. It's easy to get everyone to donate their time to a project when no one is getting paid. Money changes the equation. Would a gulf develop between the rich companies like Red Hat and the poor programmers who just gave away their hard work?

Many wanted to know when Linux would become easier to use for nonprogrammers. Programmers built the OS to be easy to take apart and put back together again. That's a great feature if you like hacking the inside of a kernel, but that doesn't excite the average computer user. How was the open source community going to get the programmers to donate their time to fix the mundane, everyday glitches that confused and infuriated the nonprogrammers? Was the Linux community going to be able to produce something that a nonprogrammer could even understand?

Others wondered if the Linux world could ever agree enough to create a software package with some coherence. Today, Microsoft users and programmers pull their hair out trying to keep Windows 95, Windows 98, and Windows NT straight. Little idiosyncrasies cause games to crash and programs to fail. Microsoft has hundreds of quality assurance engineers and thousands of support personnel. Still, the little details drive everyone crazy.

New versions of Linux appear as often as daily. People often create their own versions to solve particular problems. Many of these changes won't affect anyone, but they can add up. Is there enough consistency to make the tools easy enough to use?

Many wondered if Linux was right for world domination. Programmers might love playing with source code, but the rest of the world just wants something that delivers the e-mail on time. More important, the latter are willing to pay for this efficiency.

Such questions have been bothering the open source community for years and still have no easy answers today. Programmers need food, and food requires money. Making easy-to-use software requires discipline, and discipline doesn't always agree with total freedom.

When the first wave of hype about free software swept across the zeitgeist, no one wanted to concentrate on these difficult questions. The high quality of free operating systems and their use at high-profile sites like Yahoo! was good news for the world. The success of unconditional cooperation was intoxicating. If free software could do so much with so little, it could overcome the difficult questions. Besides, it didn't have to be perfect. It just needed to be better than Microsoft.