Articles Home

Oak Park Computer Club: Articles

Mostly written by me, mostly for the OPCC.
 
Comments welcome!
An Introduction to Linux
What it is, how we got here, why it matters

Author's note: this article is based on a presentation to the Oak Park Computer Club.  Most members are over retirement age and all members are users of Microsoft Windows, hence the tone and perspective of this article.  Also see my article Alternative_OS.

This article is not intended to "convert" anyone from being a user of Microsoft Windows to being a Linux user overnight. I strongly doubt that most of the readers of this article will be Linux users within the next two to three years, although after that all bets are off. In fact, I am still a Windows user about 10% of the time -- and I am still working hard to learn Linux as quickly as possible.

Since Microsoft has said (both in public and in private) that they view Linux as a competitive threat, it's useful to know about it from that standpoint as well. With local, state, and national governments around the world looking at Linux and open source software as an alternative to proprietary software and file formats (including, but not limited to, Microsoft), this struggle may come to affect us all, directly or indirectly.

Nor is this article intended to teach you Linux. Instead, this article is intended as an introduction to a wider world of computing. An analogy: if you have driven a Chevy all your life but have never driven a Ford, how do you know that driving a Ford might not suit you better--or at least make you aware of what you are missing?

A comparison to a car is a useful analogy, because we can take it further (no pun intended). If the kernel, the heart of the operating system, is the engine and the computer hardware is the chassis, then the BIOS is the transmission, and the programs built around the k ernel to form the operating system as a whole comprise suspension, steering, brake, shifter, and accelerator.

GNU/Linux is an operating system (OS). Windows 98 and Windows XP are also OSs. The term Linux by itself is, technically, in reference to just the kernel--and just as the nature of an automobile is determined by more than just the engine, so there is more to GNU/Linux than just the kernel--but to make things simpler, we will use the term "Linux" to mean the whole operating system package, sometimes referred to as a distribution or distro for short.

Just as Fords, Chevys, Chryslers, and Toyotas can share the same roads, so a diversity of operating systems should be able to share the so-called "Information Superhighway".  This is not entirely true at the present time, as many web sites are not only "optimized" for Internet Explorer--they will only properly function when accessed with IE as the browser.   If we liken Microsoft to GM, say, Apple to Ford, and Linux to Chrysler it's possible to say that the "driving experience" differs one from another, though the variation between the computer operating environments is greater than for cars.  It's actually more like one brand of car has a steering wheel and another steers with a joystick; they are both practical means to the end of steering the car, but the experience will be noticeably different from the driver's seat.

This is certainly not an insurmountable problem.  To continue with our car analogy (hey, I was raised in Detroit--I can't help it), you can think of the graphical user interface (GUI) on a computer to be like a set of wheels; different cars have differently styled-and-sized wheels, but they are all made from the same materials and all serve the same purpose.

To change the analogy, we can also refer to "genetic diversity".  The fact that Windows dominates the desktop is, in some ways, dangerous.  The recent experiences with the SQL Slammer and MSBlaster worms and the SoBig, MyDoom, NetSky, and Bagle viruses show how reliance on one operating system can lead to trouble--if not for the fact that Windows server software installations actually represent a minority of the web servers on the Internet, the damage might have been much greater in these cases (Unix and its descendants--Linux, Solaris, and BSD--are actually the majority).  Think of all the attacks that Windows is subject to--admittedly, a small part of this is due to the fact that Windows is the dominant operating system on the desktop, a bigger target--it is clear that there are serious structural shortcomings in Windows that make it more vulnerable to attack.  Much of that vunerabilty lies in its history.

A (Very) Brief History of Modern Computing

MS-DOS (and, by extension, Windows through the Me version) had its roots in CP/M, was single-user (at a time), and had no network support at the most basic level.  Windows NT (which includes Windows 2000 and Windows XP) is better, but still has some inherited vulnerabilities, as well as some new ones.  Programmers and managers involved in the development of what became Windows version 4 (Windows 95/98/Me) have admitted in print that no consideration of any kind was given to security.   One piece of evidence to this was that the original 1995 edition of Bill Gates' book The Road Ahead did not once mention the Internet--he added a chapter in the next edition and bought back every first-edition copy he could find.  On the other hand, Linux was modeled on UNIX--which, even by that time, had over 15 years of multi-user network experience behind it--so it had networking and security built right into the kernel.

A little history might illuminate the reasons for these differences.  I'm not going to go into too much detail--I'm saving that for a later series of articles--but it will help in the understanding of why this matters.

Multics (Multiplexed Information and Computing Service) was a multi-user operating system jointly developed by the Massachusetts Institute of Technology (MIT), General Electric, and Bell Telephone Labs starting in 1965.  Funded by the U.S.  government, the project did not go well.  Bell Labs dropped out in 1969 and GE sold their computer operation to Honeywell a year later.  At most there were about 150 Multics installations, all on multi-million-dollar mainframe computers.  The last Multics system went dark in 2000.

The Bell Labs developers applied what they had learned to a simpler system, which became known as Unix; in fact, the original application was as a word-processing system within the lab itself.  Unix ran on early Digital Equipment Corporation (DEC) PDP-series computers (what we would now call minicomputers) such as the PDP-11While still expensive, they were at least two orders of magnitude less costly than the Multics machines.  ARPANet, the predecessor to the Internet, was first implemented on Unix machines, so networking was important early on.

Then came the dawn of personal computers.  In 1976, the Altair 8800 microcomputer system was introduced.  A couple of programmers by the name of Bill Gates and Paul Allen developed what later became Microsoft BASIC on a DEC PDP-10 running an emulator (and, allegedly, by dumpster-diving DEC's BASIC code).  At about the same time, Gary Kildall of Digital Research developed the CP/M operating system using the same emulator software.  Three years later, QDOS (Quick and Dirty Operating System) was developed as a clone of CP/M for the 16-bit i8086 processor family later used in the IBM Personal Computer and its clones (the 8086 and its successors right through the Pentium 4 are now usually referred to generically as x86).  Microsoft bought the rights and QDOS became MS-DOS 1.0.  MS-DOS 2.0 and later borrowed heavily from Unix -- but at the core it was still QDOS.

The mid-1980s saw the rise of graphical user interfaces including the Apple LISA and Macintosh, GEM (Graphical Environment Manager), and Visi-On.  This spurred Bill Gates to press his team into the development of Microsoft Windows.  At about the same time, a network-oriented GUI interface layer called the X window system was developed for Unix.  It's important to note that the X window system is not the actual user interface, but the set of "hooks" that enable a GUI to properly access system resources either locally or across a network.

By the late 1980s, the IBM PC and its clones were firmly entrenched--but none of them were powerful enough to run Unix (at the time, the one personal computer to run a "real" Unix was the non-PC-clone Amiga 3000UX).  Student time on university time-share systems was available, but in order to teach operating system design at the kernel level, one-on-one human-machine interaction was required.  A Dutch professor developed MINIX (MINi unIX) so students could work on a "live" PC system at the kernel level.

At about the same time, the Free Software Foundation was founded.  Its main project was GNU (GNU's Not Unix), a suite of tools and utilities that were Unix-compatible, but no PC could run them at the time.  Another part of this project was the GNU General Public License (GPL) which set the terms under which GNU (and other programs since) could be distributed.  Thus, the stage was set.

In 1991, Linus Torvalds, a young Finnish computer-science student, started playing with MINIX.  He had seen Unix and the multi-tasking Amiga OS and wanted to do something similar for the x86 systems.  He posted a note on a Usenet newsgroup and soon had a team of volunteers working to enhance his new kernel.  The MINIX code was soon replaced, and the project had a name: Linux (Linus' Unix).  Soon, most GNU software was compiled for the Linux kernel and a true operating system was born. 

At about the same time X windows, too, was cloned.  A GPL'ed version, eventually called xFree86, was soon ported to (adapted to run on) Linux.  By 1994, the project had reached critical mass.  Soon, commercial versions of Linux appeared, the best-known of which these days is Red Hat

Linux was not (and is not) the only Unix descendant on the market.  BSD (the Berkeley Standard Distribution) was also making headway in 1995 when it hit a major bump in the road; AT&T sued the developers for program code infringement, since they held the intellectual property rights from Bell Labs.  AT&T lost the suit big-time, but momentum was lost to Linux.  BSD is still widely used on servers because it is considered to be somewhat more secure than Linux, but the gap is narrowing.  The current Apple Macintosh OSX operating system is based on Darwin, a version of BSD.

One drawback to the "free" nature of Linux is that, unlike Windows, there is no one group or organization that controls anything beyond the kernel itself.  Thus, the Linux OS has multiple versions available--each distribution slightly different from the others. 

One major point of variation is in the desktop environment; I mentioned earlier that the X window system is an interface layer, not a desktop GUI itself.  There are actually several desktop managers available--the two best known are KDE (the K Desktop Environment, currently version 3.3) and GNOME (the GNU Network Object Model Environment, currently version 2.6).  Of the two, KDE is slightly more popular--but this fragmentation is one of the hurdles that Linux must overcome to gain greater acceptance by individual desktop users. 

Another hurdle is the variety of distributions available--the aforementioned Red Hat being one,  SUSE (now owned by Novell) being another, and  Mandrake yet a third.  These are commercial distros, with packages available for prices ranging from $30 to over $100.  This pays for media, documentation, and support--but they also have freely-available versions of essentially the same thing, with little or no direct support (this is where mailing lists, forums, and newsgroups come in handy).  There are also several truly free distributions, the best-known of which are Debian and Slackware.   There are also a number of distributions based on Debian, including the commercial distributions Xandros and Lindows (now referred to as Linspire), as well as Knoppix, a free CD-bootable version of Linux--and then there are the distributions that require the user to compile the code themselves, Linux from Scratch and Gentoo being two examples. 

The upside to this is amazing flexibility.  There is a Linux distribution put together by the Chinese government (Red Flag Linux).  There's a distribution for an Arabic audience (Haydar Linux).  There are multiple versions based on Knoppix, including the education-oriented Freeduc and Tux4Kids, as well as one devoted to medical research software.  This is all made easier by the fact that there is substantial user-level public information available on how to create such discs.

Of course, Microsoft is not standing still while all this is going on, though their traditional strategies for dealing with competition do not work very well in this case, partly because there is no one competitor to deal with.  FUD (fear, uncertainty, doubt) and embrace and extend (adopting industry standards, then modifying them to make them proprietary) just don't work as well these days as they used to, partly because these tactics were outed in late 1998; a series of leaked Microsoft internal memos now referred to as the Halloween Documents outlined the threat to MS posed by Linux and open source software and possible responses.  More recently, MS executives have been fighting the rising tide of open source adoption in schools and government; in the spring of 2003, Microsoft President and CEO Steve Ballmer took a trip to Munich, Germany in an attempt to prevent the city government there from adopting open source for their municipal computer network; in spite of quoting a lower price than the competition, he failed.  Legislators in Texas, Oregon, and elsewhere have discussed this issue, with well-paid lobbyists from Microsoft arguing against it.  With the present state of the economy, some schools feel that it makes more sense to use money that would otherwise be paid for proprietary-software licenses to instead keep teachers from being laid off. 

No matter how these issues play out, they will definitely affect all computer users, no matter what kind of software you use.  That's why I feel that it is important to be aware of how we got here and have some idea of where we might be going. 

Last revised: 19-September-2004.   Copyright © 2004 Michael Rudas.  All rights reserved.  The opinions expressed in this article are not necessarily those of the other members of the Oak Park Computer Club.  All trademarks are the property of their respective owners.  This article was created using the EditPad Classic text editor and Mozilla Composer HTML editor, both free.  Permission is hereby granted to publish this article in an unmodified form, except for formatting (contact me for changes or updated versions).  Technical questions and help requests can be directed to my tech-support mailbox, the link to which can be found on my site.