The History of Linux

So you may be asking yourself what is Linux and/or how did it get started? Let start of with explaining what Linux is. Chances are you have probably heard of it by now, but I’ll pretend like you haven’t. Ever heard of Unix? Again, I’ll pretend like you haven’t.

I’ll start off with something I’m sure you are familiar with and then work into the unknown. Microsoft Windows is an example of an operating system. It’s the one people are most familiar with as it currently holds about 95% of the desktop PC market. They have many different version like Windows 95, 98, NT, 2000, and XP. Unix is also an operating system. It was developed around 1970 by a group of programmers working at Bell Labs. Mind you this was well before Microsoft Windows ever started. “After three decades of use, the UNIX computer operating system is still regarded as one of the most powerful, versatile, and flexible operating systems (OS) in the computer world. Its popularity is due to many factors, including its ability to run a wide variety of machines, portability to other systems, and its multi-user / multi-processing capabilities. ” (Quote taken from here)

Linux and Unix sound a lot alike don’t they? Well I assure you there’s a good reason for that. “It was 1991, and the ruthless agonies of the cold war was gradually coming to an end. There was an air of peace and tranquility that prevailed in the horizon. In the field of computing, a great future seemed to be in the offing, as powerful hardware pushed the limits of the computers beyond what anyone expected. But still, something was missing. And it was none other than the Operating Systems, where a great void seemed to have appeared. For one thing, DOS was still reigning supreme in its vast empire of personal computers. Bought by Bill Gates from a Seattle hacker for $50,000, the bare bones operating system had sneaked into every corner of the world by virtue of a clever marketing strategy. PC users had no other choice. Apple Macs were better, but with astronomical prices that nobody could afford, they remained a horizon away from the eager millions. The other dedicated camp of computing was the Unix world. But Unix itself was far more expensive. In quest of big money, the Unix vendors priced it high enough to ensure small PC users stayed away from it. The source code of Unix, once taught in universities courtesy of Bell Labs, was now cautiously guarded and not published publicly. To add to the frustration of PC users worldwide, the big players in the software market failed to provide an efficient solution to this problem. A solution seemed to appear in form of MINIX. It was written from scratch by Andrew S. Tanenbaum, a Dutch professor who wanted to teach his students the inner workings of a real operating system. As an operating system, MINIX was not a superb one. But it had the advantage that the source code was available. Anyone who happened to get the book ‘Operating System’ by Tanenbaum could get hold of the 12,000 lines of code, written in C and assembly language. For the first time, an aspiring programmer or hacker could read the source codes of the operating system, which to that time the software vendors had guarded vigorously. A superb author, Tanenbaum captivated the brightest minds of computer science with the elaborate and immaculately lively discussion of the art of creating a working operating system. Students of Computer Science all over the world poured over the book, reading through the codes to understand the very system that runs their computer. One of them was Linus Torvalds.” (Quote taken from here)

“In 1991, Linus Benedict Torvalds was a second year student of Computer Science at the University of Helsinki and a self-taught hacker. The 21 year old sandy haired soft-spoken Finn loved to tinker with the power of the computers and the limits to which the system can be pushed. But all that was lacking was an operating system that could meet the demands of the professionals. MINIX was good, but still it was simply an operating system for the students, designed as a teaching tool rather than an industry strength one.

At that time, programmers worldwide were greatly inspired by the GNU project by Richard Stallman, a software movement to provide free and quality software. Revered as a cult hero in the realm of computing, Stallman started his awesome career in the famous Artificial Intelligence Laboratory at MIT, and during the mid and late seventies, created the emacs editor. In the early eighties, commercial software companies lured away much of the brilliant programmers of the AI lab, and negotiated stringent nondisclosure agreements to protect their secrets. But Stallman had a different vision. His idea was that unlike other products, software should be free from restrictions against copying or modification in order to make better and efficient computer programs. With his famous 1983 manifesto that declared the beginnings of the GNU project, he started a movement to create and distribute software that covered his philosophy (Incidentally, the name GNU is a recursive acronym which actually stands for ‘GNU is Not Unix’). But to achieve this dream of ultimately creating a free operating system, he needed to create the tools first. So, beginning in 1984, Stallman started writing the GNU C Compiler (GCC), an amazing feat for an individual programmer. With his legendary technical wizardry, he alone outclassed entire groups of programmers from commercial software vendors in creating GCC, considered as one of the most efficient and robust compilers ever created.

By 1991, the GNU project had created quite a few open source applications. The much awaited Gnu C compiler was available by then, but there was still no operating system. Even MINIX had to be licensed. Work was going into the GNU Kernel HURD, but that was not supposed to come out for a few years. (Sidenote: HURD is still being developed to this day. Designers have changed paths several times continuing to delay it’s release.)

That was too much of a delay for Linus.” (Quote taken from here)

So to help understand this, think of the programs you use most often like Internet Explorer, chat programs, email programs, and Microsoft Office (i.e.) Word, Excel, Outlook, etc. Those are stand alone applications, all built to run on top of the Micro$oft Windows operating system. The Gnu project was helping to lay the groundwork that would eventually help to form the application side of their operating system. Their hope was that someday their applications would site on top of the GNU Kernel HURD. The major component behind any operating system is the Kernel. So what is a Kernel? Basically, it’s the mediator between the computers application software and its physical hardware. It helps to manage things like the PC’s memory and the CPU.

Linus was searching for the power of a UNIX machine in the comfort of his own home. The average user could never afford to purchase UNIX or the hardware needed to run it. Linus was determined to built such a system. He buckled down and coded away and by mid September 1991 Linux version 0.01 was released. He released the source code for his Kernel on to the Internet for others to grab and use. He though of it as a personal hobby and never thought it would amount to much. He asked for suggestions and comments on the Kernel. People latched on. Many people began hacking away at the Kernel and offering suggestions and patches Linus became the gatekeeper of the Linux Kernel source code. From that point on all the way up through to present day, Linus has decided what makes it into the official Kernel source code. Each version has become increasing faster, more stable, and offered increased support for newer types of hardware. In fact, Linux tends to require a less powerful PC that Windows to run.

It didn’t take long for people to put the two projects together. Linus had created the very thing that the GNU project was lacking. People began running the Linux Kernel with the GNU applications on top of it. Over time more and more application were being developed and support for hardware was growing. “Soon, commercial vendors moved in. Linux itself was, and is free. What the vendors did was to gather up various software applications and put them in a distributable format, more like the other operating systems with which people were more familiar. Red Hat , Debian, Mandrake, and some other companies gained substantial amount of response from the users worldwide. With the new Graphical User Interfaces (like X-windows, KDE, GNOME) the Linux distributions became very popular.” (Quote taken from here) This commercial vendors took the Linux Kernel, bundled it with GNU projects and other open source applications, added a few of there own tweaks, and released it as a complete operating system. Each distribution has it’s own claim to fame. Some claim to have rock solid security, others claim to look and run just like Windows, and some focus on user-friendliness, etc.

As a closing note it’s important that you realize that Linux is not the whole operating system. It’s simply the Kernel which helps power the operating system. Many people believe that the entire OS is Linux. Richard Stallman would prefer that everyone call Linux distributions, which bundle Gnu apps with Linux, Gnu/Linux. I would say that’s not a lot to ask from the man who gave a the Gnu Project and the Gnu General Public License (GPL) license that so many open source applications utilize.