- What Is Linux?
- Why Use Linux?
- Linux Distributions
- Advantages of Using Linux
- Disadvantages of Using Linux
- The Commercial Side of Linux
- A Brief History of Linux
- Who Owns Linux?
- From Here...
To understand Linux, you must first understand the question, "What is UNIX?" The reason is that Linux is a project initiated to create a working version of UNIX on Intel-based machines, more commonly referred to as IBM PC-compatible computers that most people are familiar with.
UNIX is arguably the most versatile and popular operating system found today on scientific and high-end workstations. This chapter explains why you may want to select the UNIX-like Linux instead of one of the other operating systems available for Intel platforms, such as MS-DOS, Windows 95/98, Windows NT, or OS/2.
What Is Linux?
Linux is an operating system for several types of computer platforms, but primarily for Intel-based PCs. The system has been designed and built by hundreds of programmers scattered around the world. The goal has been to create a UNIX clone, free of any commercially copyrighted software, which the entire world can use.
Actually, Linux started out as a hobby of Linus Torvalds while he was a student at the University of Helsinki in Finland. He wanted to create a replacement for the Minix operating system, a UNIX-like operating system available for Intel-based PCs.
NOTE: We'll explain many of the terms used within the chapter later, so don't worry if some of them are unfamiliar to you now.
Linux is basically a UNIX clone, which means that with Linux you get many of the advantages of UNIX. Linux multitasking is fully preemptive, meaning that you can run multiple programs at the same time, and each program seems to process continuously. Other systems, such as Microsoft Windows 3.1, allow you to run multiple programs, but when you switch from one program to another, the first program typically stops running. Microsoft's Windows 95 and Windows NT are more like Linux because they allow preemptive multitasking. Linux allows you to start a file transfer, print a document, copy a floppy, use a CD-ROM, and play a game4all at the same time.
Linux is fully multiuser capable, which means that more than one person can log in to and use the system at the same time. Although the multiuser feature may not be very useful at home, it gives many people in a corporate or university setting access to the same resources at the same time, yet eliminates the need to duplicate expensive machines. Even at home, you'll find the capability to log in to separate accounts on what are called virtual terminals very useful. Also from home, you could provide your own personal online service by using Linux and several modems.
See "Managing Users"
Linux is free4or nearly so. In fact, for only a portion of the price of this book, you've received two fully functioning distributions of Linux (RedHat Linux and Caldera OpenLinux) on the accompanying CD-ROMs. Everything you need to get Linux up and running is provided on the CD-ROMs, including hundreds of applications. And on the third CD-ROM, you'll also find an integrated office productivity pack called StarOffice (also from Caldera).
Linux provides a learning opportunity unparalleled today. Here you have a complete working operating system, including source code, with which to play and learn what makes it tick. Learning what makes Linux tick is something you can't do in a typical UNIX environment, and it's definitely something you can't do with a commercial operating system because no vendor is willing to just give away the source code.
Finally, Linux gives you a chance to relive4or perhaps experience for the first time4the chaos of the early PC revolution. In the mid-1970s, computers were the provinces of large organizations, such as the government, big business, and universities. The ordinary person had no access to these marvels. But with the introduction of the microprocessor and the first personal computers, things changed. At first, PCs were the province of the hackers 4dedicated computer enthusiasts4who hacked the early systems because those systems could do very little in the way of productive work. But as the hackers experimented and became entrepreneurs, and as the capabilities of PCs increased, PCs became commonplace.
NOTE: The term "hacker" has unfortunately taken on a negative connotation in today's society. See the section "Hackers" later in this chapter for more details on hackers and crackers.
The same is true today of system software (that is, operating systems). Linux represents a breakaway from a system controlled by large organizations that stifle creativity and enhancements in the name of market share.
Why Use Linux?
You'll want to use Linux because it's the only operating system today that's freely available to provide multitasking and multiprocessing capabilities for multiple users on IBM PC-compatible hardware platforms. No other operating system gives you these same features with the power that Linux enjoys. Linux also separates you from the marketing whims of the various commercial providers. You aren't locked into upgrading every few years and paying outrageous sums to update all your applications. Many applications for Linux are freely available on the Internet, just as the source code to Linux itself is available on the Internet. Thus, you have access to the source code to modify and expand the operating system to your needs4something you can't do with commercial operating systems such as Windows NT, Windows 95, MS-DOS, and OS/2.
Freedom from commercial vendors is also a potential downside to using Linux. Because no single commercial vendor supports Linux, getting help isn't just a phone call away. Linux can be finicky and may or may not run properly on a wide range of hardware. The potential to damage or delete data files residing on your system also exists because Linux is constantly changing and doesn't go through a rigorous testing process before it's released.
Linux isn't a toy; it's a system designed to give users the feeling of tinkering with a new project, just like in the beginning of the PC revolution. However, Linux is relatively stable on many systems and presents you with an inexpensive opportunity to learn and use one of the most popular operating systems in the world today4UNIX. Many CD-ROM vendors and software companies, such as Red Hat and Caldera, now support the Linux operating system. Linux is an alternative to other UNIX systems and can be used in place of those sometimes-expensive systems. If you program on UNIX systems at work, for example, you might want a UNIX-like system at home. Are you a systems administrator of a UNIX system at work? If so, you can perform some of your duties from home by using Linux. Or do you not have a clue as to what UNIX is? Well, then, Linux provides a low-cost introduction to one of the most popular operating systems in the world4UNIX.
Linux also provides you with easy access to the Internet and the rest of the information superhighway.
Linux is distributed by many different organizations, each of which provides a unique collection of programs along with the core group of files that constitutes a Linux release. The current release of Linux on the accompanying CD-ROMs is kernel version 2.0.34. This distribution may also contain experimental kernels with drivers for unique hardware. Under Red Hat, the kernels are part of the Red Hat Package Management system (RPMs) and are installed as part of the system. Caldera's OpenLinux follows the same scheme because it is based on the Red Hat distribution.
Luckily for you, by having bought this book, you've made the decision of which distribution to use rather easy. The three CDs accompanying this book offer complete versions of both Red Hat's and Caldera's distributions (the companies' Internet versions, not the ones sold commercially). However, other distributions such as the following are available on the net:
MCC Interim Linux
- ebian Linux
- Yggdrasil Plug-and-Play Linux CD-ROM and the Linux Bible
- Trans-Ameritech Linux plus BSD CD-ROM
- The Linux Quarterly CD-ROM
- Caldera (this vendor uses Red Hat's)
- Red Hat (Red Hat's commercial version includes a commercial X server called Metro X)
The Distribution HOWTO also provides an exhaustive list of Linux distributions. You'll learn later in this chapter how to access the various HOWTOs that accompany each Linux release.
Advantages of Using Linux
Using Linux has many advantages. Of the many operating systems available today, Linux is the most popular free system that's widely available. For the IBM PC, Linux provides a complete system with built-in multiuser and multitasking capabilities that take advantage of the entire processing power of your 386 and higher computer systems.
Linux comes with a complete implementation of the TCP/IP networking protocol. With Linux, you can connect to the Internet and the vast wealth of information it contains. Linux also provides a complete e-mail system to send messages back and forth through cyberspace.
Linux also has a complete graphical user interface (GUI), XFree86, that's based on the popular X Windows system. XFree86 is a complete implementation of the X Windows system that can be distributed free of charge with Linux. XFree86 provides the common GUI elements you find on other commercial GUI platforms, such as Windows and OS/2.
Today, all of this is available for Linux and is basically free. All you have to pay is the price for acquiring the programs from the Internet or via mail order (available from several different vendors). Of course, because you've purchased this book, you already have the entire Linux system on the accompanying CD-ROMs.
Open Systems Portability
In the never-ending quest for standardization, many organizations have taken a renewed interest in the direction in which operating systems are developing. UNIX hasn't gone unnoticed. The drive to standardize UNIX stems from the many UNIX variants now available. You'll learn more about how those variants were developed in the following section.
Efforts have been made to combine, collate, and otherwise absorb all versions of UNIX into a single all-encompassing version of the operating system. Initially, the effort met with guarded enthusiasm, and some effort was expended on coming to terms with blending the different versions. As with many noble efforts, this one was doomed to failure because developers weren't willing to sacrifice part of what they had already invested in their particular versions. (Sadly enough, many developers still feel that way.)
However, the continued existence of UNIX varieties isn't necessarily cause for alarm. Despite the different varieties, all are still inherently superior to all other operating systems available today because each contains the same elements described in the preceding pages.
Portability is merely the capability to transport an operating system from one platform to another so that it still performs the way it should. UNIX is indeed a portable operating system. Initially, UNIX could operate on only one specific platform4the DEC PDP-7 minicomputer. Today, the many UNIX variants can operate in any environment and on any platform, from laptops to mainframes.
Portability provides the means for different computer platforms running UNIX to communicate accurately and effectively with any of the other platforms. These systems can do this without the addition of special high-priced after-market communications interfaces. No other operating system in existence can make this claim.
Although using an operating system is sometimes fun in and of itself, it isn't the reason most people use a computer. Most people need to do productive work with their computers. Linux has literally thousands of applications available today, including programs for spreadsheets, databases, word processing, application development in a variety of computer languages, and telecommunications packages to get you online. Linux also comes with a wide range of games, both text- and graphics-based. When you need a break from the drudgery of the daily grind, Linux can provide a few minutes (or hours) of relaxation.
Advantages for Computer Professionals
If you're a computer professional, Linux provides a wealth of tools for program development. It includes compilers for many of the top computer programming languages today, such as C, C++, and Smalltalk. If you don't like those languages, Linux provides you with tools, such as Flex and Bison, that you can use to build your own computer languages. These tools come with the CD-ROMs accompanying this book, but their commercial counterparts can cost several hundred dollars each. If you want to learn one of the aforementioned languages but don't want to spend hundreds of dollars for another compiler, Linux and its development tools are for you.
Linux also allows you to communicate with your company's office systems. And if you're a UNIX systems administrator, Linux can help you perform your duties from home. Although working from home is just in its infancy, perhaps some day you can use Linux to do your job at home and then only occasionally visit the office for personal meetings.
Two of the industry's buzzwords are open systems and interoperability, both of which refer to the capability of many different systems to communicate with one another. Most open systems specifications require POSIX (Portable Operating System Interface) compliance, which means some form of UNIX. Linux meets those standards today. In fact, Linux was designed for source-code portability, so if you have a corporate program running on one version of UNIX, you should be able to port that system relatively quickly to a system running Linux.
Corporations are insisting on these types of open systems so that they aren't locked into using any one vendor. Remember the old adage "Don't put all your eggs in one basket?" Corporations today are becoming leery of systems controlled by single companies because those in control can dictate how the software behaves and what hardware systems the software supports. If that company chooses a direction that's not good for your corporation, tough luck. You're stuck with that company's decision whether you like it or not. With UNIX/Linux and open systems, however, you're in control of your own destiny. If the operating system doesn't have a feature you need, plenty of consultants are available who can make the necessary changes, which is possible because you have the source code to your operating system.
Students, note that Linux provides you with editors to write your assignments and spell checkers to proof those assignments. With Linux, you should be able to log in to your school's computer network. Of course, with access to the Internet, you also have an instant tap into the limitless wealth of information there. You also have access to thousands of experts in a wide variety of subjects who can answer your questions. Linux can be useful, even if your major isn't computer science.
Linux provides such advantages for so little because of the spirit and philosophy of the community that built and continues to build Linux. Linux is a great experiment that took on a life of its own. Literally hundreds of computer hackers from around the world contributed to its development. Linus Torvalds first developed what became Linux for himself and later released his brainchild to the world under the GNU copyleft.
See "The GNU License"
At the basic level, Linux is a system built by and for hackers. The popular definition of hacker has a negative connotation in today's society, but computer hackers aren't criminals by their definition of the word. Their definition deals with how one approaches any activity in life4not just when dealing with computers. Hackers feel a certain depth of commitment and an enhanced level of excitement at hacking a system. Hacking basically means learning all there is to know about a system, becoming immersed in the system to the point of distraction, and being able to fix the system if it breaks.
Hackers basically want to know how a system they find interesting works. Most are not interested in making money or seeking revenge, although certain hackers do cross that line to become what the hacker community calls crackers. Computer hackers become outraged when they're compared with these vandals and criminals the popular media now calls hackers (instead of crackers). Hopefully, Linux gives you a feeling of what it's like to be a hacker, and ideally, you will avoid becoming a cracker.
If you're simply the curious type and want to learn more about UNIX, Linux is for you. Here is a fully functional version of UNIX to which you have free, unrestricted access4something you seldom find in the real world. Most UNIX users are given accounts on UNIX machines that grant them only limited rights and privileges, and in such cases, a normal user can't use or experiment with certain UNIX/Linux commands. But this isn't conducive to learning all about UNIX. With Linux, however, you have complete run of the place and can do what you want whenever you want. Of course, with this great power comes great responsibility: You must learn how to manage a real UNIX system, which can be fun in and of itself.
Disadvantages of Using Linux
Perhaps the biggest disadvantage of using Linux is the fact that no single corporate entity is in charge of its development. If something goes wrong or you have a problem, no toll-free technical support numbers are available that you can call for help. But when you really think about it, do such numbers provide real support for current commercial systems? How often are you referred elsewhere4providing you get through to tech support4to have your question answered? How many times are you asked to post a question on an online service to get help? Well, with Linux, although there's no tech support number, there are literally thousands of users in the online communities to help answer your questions. (See Appendix A, "Sources of Information," for places to go for help.)
Lack of Technical Support
Having no source of technical support can be a problem with Linux, no doubt about it. The same is true of Linux applications. Although a few commercial programs are available for Linux, most programs are developed by small groups and then posted to the world. Many developers, however, do help out with questions.
NOTE: Many commercial companies are now building Linux applications that they sell. For people to use their applications, though, these companies typically provide a free copy of a Linux distribution along with their product and thus supply technical support for that version of Linux.
Another disadvantage is that Linux can be hard to install and doesn't work on all hardware platforms. Unlike a commercial program development operation, where a cohesive group spends months building and testing a program against a variety of conditions and hardware, Linux developers are scattered across the globe. There's no formal quality-assurance program. Developers release their programs when they feel like releasing them. Also, the hardware supported by Linux depends on the hardware each developer owns while writing that portion of the code. Thus, Linux doesn't work with all the hardware available for PCs today.
CAUTION: If your system doesn't have the hardware supported by Linux, you'll have problems installing and running the system. Chapter 3, "Installing Red Hat," Chapter 4, "Installing Caldera OpenLinux," and Appendix C, "Linux Hardware Compatibility HOWTO," provide details on the hardware you need in order to use Linux.
If you have the hardware that's supported, chances are you'll have no problem installing and using Linux. If you don't have the necessary hardware...well, Linux developers expect you to fix it. After all, this is a hacker's system.
Inability to Use Current Software
Another disadvantage is that your current applications for such operating systems as DOS and OS/2 more than likely won't work under Linux. Fortunately, those other systems can coexist with Linux; thus, although you can't use both operating systems at the same time, you can leave Linux and boot the other operating system to use your applications there.
Work is in progress on Linux emulators that run DOS and Windows programs, as well as the Executor project to run Macintosh programs under Linux. Although the DOS project is much further along than the Windows or Mac projects, all are in early phases and are not quite ready for prime time. But some day in the near future, Linux will be able to run your Mac, DOS, and Windows applications.
Also, Caldera, Inc. has ported Sun's WABI (Windows Applications Binary Interface) product to Linux. WABI allows Windows 3.1 applications to run under X on Linux. Unlike many Linux applications, Caldera sells this product along with several other Linux applications. However, Caldera provides the Red Hat distribution of Linux free of charge to run the applications the company sells. Caldera is also at work on porting a version of DOS, called DR DOS, to Linux.
To install Linux, you typically have to repartition your hard drive4although this is not always necessary. Repartitioning means erasing part of your drive, which wipes out your programs and data on that drive. Currently, there's no safe way to install Linux without repartitioning. If you plan to install Linux, you should back up your disk first (two or three backups is safest). Also, you might not have enough hard disk space to install Linux and keep your other software on the same disk, in which case you have to decide what goes and what stays. No matter what, you have to back up your system, repartition the drive, restore your old software, and then install Linux, which can be a time-consuming and error-prone process.
NOTE: There are alternatives to repartitioning your hard drive. You can share space with Linux and DOS, or you can use a program that repartitions your drive without erasing files. These alternatives do work, but you still face the possibility of losing data while installing the system. Also, by repartitioning, you gain improved performance and better control over the amount of disk space used for Linux.
The amount of disk space you need to run Linux depends on the various applications you plan to install. You should have at least 120MB free on the drive that you want to install Linux on, in addition to the programs and data you want to keep from your other operating systems. If you have 200MB free, you should have more than enough space for a full installation of Linux.
Lack of Experience
Finally, unless you're already a UNIX guru, you must learn how to manage a Linux system. Unlike DOS, Windows, and OS/2, Linux and UNIX need to be managed. The manager, usually called the systems administrator or sys admin, is responsible for maintaining the system. The sys admin is responsible for performing such duties as adding and deleting user accounts, backing up the system on a regular basis, installing new software, configuring the system, and fixing things when they go wrong (which happens even on commercial versions of UNIX in use every day). Because UNIX doesn't run perfectly 100 percent of the time, the systems administrator must maintain the system. This presents a great opportunity for you to learn how to be a systems administrator on a UNIX system.
See "Understanding Centralized-Processing Systems"
Overcoming the Disadvantages
At first, you might think that using Linux puts you all alone in the world, making you survive by yourself. This is partially true because Linux started life as a hacker's system, and hackers like to tinker and fix systems themselves. But today, because the popularity of Linux has grown, many sources of help are available.
Thousands of pages of documentation are provided with most distributions of Linux. You can find this information in the /DOCS directory on the accompanying Slackware 96 CD-ROM and in the /DOC directory on the Red Hat CD-ROM.
In addition, several magazines are devoted to Linux, and you'll find plenty of online sources of information and online users willing to help with your questions. If you're a commercial entity and need a professional contractor, these too are available. After you install Linux, you'll also find a wealth of online help providing information on almost every Linux command and program available. Check out Appendix A, "Sources of Information," to see that you're not alone.
Although all the disadvantages discussed in the preceding sections still exist, many are slowly disappearing as new companies come into existence to build on Linux and offer new solutions. Two such companies are Red Hat and Caldera. We chose Red Hat as the primary distribution for this book because of its ease of use and installation. Caldera also uses the Red Hat distribution for its line of Linux applications. Both Red Hat and Caldera provide online, fax, and e-mail-based technical support for their products and their versions of Linux.
The Commercial Side of Linux
Linux is just not a "toy" OS anymore. Many companies use Linux as an inexpensive Web server for their intranets. Linux is also used for various network applications (such as DNS), for routing, and as firewalls. Also, many Internet service providers (ISPs) use Linux as their main operating system.
Many commercial programs are also available for Linux, which you can check out in the Commercial HOWTO. Other organizations, such as NASA and Digital Domain, use Linux to render various images including high-resolution planetary images (NASA) or realistic special effects for movies such as Titanic (Digital Domain).
Commercial Programs from Red Hat
Although Red Hat released one of the most popular distributions of Linux, the company also has produced several commercial programs. Red Hat has also created a Linux package manager, called RPM, which it released under the GPL for other distributions to use.
Along with its GPL versions of Linux and RPM, Red Hat also provides an application framework called Applixware, which contains a word processor, a spreadsheet program, a presentation graphics program, a mail tool, and various development tools. Red Hat also provides a commercial version of Motif for developing and running X under Linux.
Commercial Programs from Caldera
Caldera originally provided a networking-based distribution based on Red Hat and technology from Novell, where many of Caldera's principals previously worked. Their second-generation product, Caldera OpenLinux Base, is a low-cost UNIX-like operating system based on the Linux 2.0 kernel and the OpenLinux distribution from Caldera. It includes a graphical user interface capable of managing system and networked resources, including client and server interaction with the Internet and all major networking systems. The menu-driven installation is provided in multiple languages. Caldera OpenLinux Base is a nondedicated gateway and includes all Internet client, server, and router protocols and services. OpenLinux Base also includes a commercial X server from MetroLink and a fully licensed Linux version of the Netscape Navigator.
Caldera also provides Corel's WordPerfect for Linux, as well as an Internet office suite containing a bundle of complete business applications. These commercial programs, as well as dozens more, are available from Caldera on the company's Solutions CD. You can use Netscape to browse the catalog and then follow the instructions on the Ordering page to place an order.
ON THE WEB: You can see Caldera's catalog online at http://www.caldera.com/solutionscd.
Caldera also licensed and ported Sunsoft's WABI technology to allow end users to run the most popular Windows 3.1 applications on Linux-based system software.
A Brief History of Linux
The history of Linux is tied to the history of UNIX and, to a lesser extent, a program called Minix. Minix was an operating system tutorial written by the well-known and respected computer scientist Andrew Tannebaum. This operating system became popular on several PC platforms, including MS-DOS-based PCs. But more on Minix later. First, a brief history of UNIX.
Although AT&T created the UNIX operating system, many other companies and individuals have tried to improve the basic idea over the years. The following sections examine a few of the leading variants in use today.
Ken Thompson (a computer programmer for AT&T Bell Laboratories) and a group of people working under Ken's direction developed an operating system that was flexible and completely compatible with programmers' varied needs. Legend tells that Ken, who had been using the MULTICS operating system, dubbed this new product UNIX as he joked with others on his development team. He was lampooning the MULTICS multiuser operating system: UNIX was derived from uni, meaning one or single, followed by the homophone X. Perhaps the greater joke in this bit of folklore lies in the fact that MULTICS is remembered by few users today as a viable multiuser operating system, while UNIX has become the de facto industry standard for multiuser multitasking operating systems.
Berkeley Software Distribution (BSD), University of California at Berkeley, released its first version of UNIX, based on AT&T's Version 7, in 1978. BSD UNIX, as it's known throughout the industry, contained enhancements developed by the academic community at Berkeley that were designed to make UNIX more user-friendly. The user-friendly "improvements" in BSD UNIX were an attempt to make UNIX appeal to casual users in addition to the advanced programmers who liked its flexibility in conforming to their changing demands. Despite being less than 100 percent compatible with AT&T's original UNIX, BSD UNIX did accomplish its goals: The added features enticed casual users to use UNIX.
BSD has become the academic UNIX standard. The original creators of BSD have since released a version for the Intel platform called, appropriately enough, BSD. This version too has a limited distribution on the Internet and via CD-ROM vendors. The authors also wrote several articles a few years ago in the computer magazine Dr. Dobb's Journal, detailing the design and implementation of BSD386 or FreeBSD. Today, BSDI, the commercial version of FreeBSD, is another popular operating system similar to Linux.
UNIX System Laboratories (USL) was an AT&T spinoff company that had been developing the UNIX operating system since the early 1980s. Before Novell purchased it in 1993, USL produced the source code for all UNIX System V derivatives in the industry. However, USL itself didn't sell a shrink-wrapped product at that time.
USL's last release of UNIX was UNIX System V Release 4.2 (SVR4.2). SVR4.2 marked USL's first entry into the off-the-shelf UNIX marketplace. In a joint venture with Novell, which temporarily created a company called Univel, USL produced a shrink-wrapped version of SVR4.2 called UnixWare. With Novell's purchase of USL, Novell shifted the focus of USL from source-code producer to UnixWare producer. Novell has now sold its version of UNIX to the Santa Cruz Operation (SCO).
Recently, SCO made a free single-user license available to the public for using SCO UNIX. The program costs $19 for the distribution media, not unlike Linux. However, whereas SCO provides a copy of its operating system, it doesn't provide the source code. Some in the Linux community suspect Linux is giving the UNIX community4or at least the SCO community4some stiff competition.
XENIX, SunOS, and AIX
Microsoft developed its UNIX version, XENIX, in the late 1970s and early 1980s, during the peak of the PC revolution. Processing power available in PCs began to rival that of existing minicomputers. With the advent of Intel's 80386 microprocessor, it soon became evident that XENIX, which had been developed specifically for PCs, was no longer necessary. Microsoft and AT&T merged XENIX and UNIX into a single operating system called System V/386 Release 3.2, which can operate on practically any common hardware configuration. XENIX is still available today from Santa Cruz Operation (SCO), a codeveloper with Microsoft, whose efforts to promote XENIX in the PC market have made this version of UNIX one of the most commercially successful.
Sun Microsystems has contributed greatly to UNIX marketability by promoting SunOS and its associated workstations. Sun's work with UNIX produced a version based on BSD. Interestingly enough, AT&T's SVR4 is compatible with BSD, too4no doubt an offshoot of AT&T and Sun Microsystems' collaboration in UNIX System V Release 4.0.
IBM's venture into the world of UNIX yielded a product called AIX (Advanced Interactive Executive). Although AIX isn't as well known as some other UNIX versions, AIX performs well and has no problem holding its share of the operating system market. It's perhaps the old belief that any UNIX version is an unfriendly, unforgiving operating system that has kept AIX from gaining a better market reception.
Linux is the brainchild of a computer science student named Linus Torvalds. Linux began life as a hobby project in 1991 for Linus, who was then 23. He hoped to create a more robust version of UNIX for Minix users. Minix, as mentioned earlier, is a program developed by computer science professor Andrew Tannebaum.
The Minix system was written to demonstrate several computer science concepts found in operating systems. Torvalds incorporated these concepts into a stand-alone system that mimics UNIX. The program was widely available to computer science students all over the world and soon generated a wide following, including its own Usenet newsgroups. Linus Torvalds set out to provide his fellow Minix users with a better platform that could run on the widely available IBM PC. Linus targeted the emerging 386-based computers because of the task-switching properties of the 80386 protected-mode interface.
What follows are some of the statements Linus made when announcing his Linux program.
"After that it was plain sailing: hairy coding still, but I had some devices, and debugging was easier. I started using C at this stage, and it certainly speeds up development. This is also when I started to get serious about my megalomaniac ideas to make 'a better Minix than Minix.' I was hoping I'd be able to recompile gcc under Linux some day...."
"Two months for basic setup, but then only slightly longer until I had a disk driver (seriously buggy, but it happened to work on my machine) and a small file system. That was about when I made 0.01 available [around late August of 1991]: it wasn't pretty, it had no floppy driver, and it couldn't do much [of] anything. I don't think anybody ever compiled that version. But by then I was hooked, and didn't want to stop until I could chuck out Minix."
NOTE: These announcements are from the "Linux Installation and Getting Started Guide," by Matt Welsh (copyright 1992-94 by Matt Welsh, 205 Gray Street NE, Wilson, NC 27893, email@example.com). They're used subject to section 3 of Matt's copyright.
You can obtain the complete "Linux Installation and Getting Started Guide" from the Linux Documentation Project's various archives sites. You can find this book on sunsite.unc.edu in the directory /pub/Linux/docs/LDP/install-guide. For information on how to access archives and download files, refer to Chapter 31, "Surfing the Internet with the World Wide Web." n
In a later announcement, made in comp.os.minix on Oct. 5, 1991, Linus introduced to the world Linux version 0.02, the first official version of Linux.
"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 an 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 [it] may not be depending on what you want), and I am willing to put out the sources for wider distribution. It's just version 0.02, but I've successfully run bash, gcc, gnu-make, gnu-sed, compress, and so forth under it."
Who Owns Linux?
IBM owns the rights to OS/2, and Microsoft owns the rights to MS-DOS and MS Windows, but who owns the rights to Linux? First and foremost, Linux isn't public domain software; various components of Linux are copyrighted by many people. Linus Torvalds holds the copyright to the basic Linux kernel. Red Hat, Inc. owns the rights to the Red Hat distribution version, and Patrick Volkerding holds the copyright to the Slackware distribution. Many Linux utilities are under the GNU General Public License (GPL). In fact, Linus and most Linux contributors have also placed their work under the protection of the GNU GPL. You can find the license on each of the accompanying CD-ROMs in the root directory in the file named "copying."
This license is sometimes referred to as the GNU Copyleft (a play on the word copyright). This license covers all the software produced by GNU (itself a play on words4GNU's Not UNIX) and the Free Software Foundation. The license allows programmers to create software for everyone. The basic premise behind GNU is that software should be available to everyone, and that if someone wants to modify the program to his or her own ends, that should be possible. The only caveat is that the modified code can't be restricted; others must also have the right to the new code.
See "How to Apply These Terms to Your New Programs"
The GNU Copyleft, or GPL, allows a program's creators to keep their legal copyright, but allows others to take, modify, and sell the resulting new program. However, in doing so, the original programmers can't restrict any of these same rights to modify the program from the people buying the software. If you sell the program as is or in a modified form, you must provide the source code. That's why Linux comes with the complete source code.
Linux is a viable alternative to UNIX on the desktop. The freely available source code and applications make Linux a reasonable alternative to other operating systems for PC-based platforms. For more information, check out the following:
Chapter 3, "Installing Red Hat," provides information on putting the Red Hat distribution of Linux on your computer.
Chapter 4, "Installing Caldera OpenLinux Lite," provides information on putting Caldera's distribution of Linux on your computer.
Chapter 5, "Running Linux Applications," explains how to use some of the applications that come on the accompanying CD-ROMs.
Appendix D, "The GNU General Public License," provides the verbatim license for using GNU applications.