What is Linux?
Part I | Part II
Most computers have one of three operating systems: Microsoft Windows, MacOS or a type of Unix. The first two are predominant on personal computers, and thus the most well-known of the operating systems. But Unix ý which comes in many forms ý has generally been the behind-the-scenes operating system, running on powerful computers that service many people simultaneously. It is likely that at least one computer running Unix is involved every time a Web surfer visits a site.
| Previous |
One of the hundreds of flavors of Unix is Linux. Named after its creator, Linus Torvalds, Linux is a free alternative to commercial "Unices," the technical-sounding term for Unix-like operating systems.
"It's gaining a foothold ý it's foothold is already in the server market," Peterson said.
Peterson added that Linux is "not as user-friendly as, say, Windows or MacOS" because Linux has not been primarily used through a graphical interface. Instead, most users employ a "cryptic command line syntax," according to Peterson ý which is a way to start programs or access files by typing in text commands, as opposed to using point-and-click. Unlike MacOS or Windows, using the command line is not intuitive.
But this, Peter-son said, is what makes Unix operating systems suitable for learning computer programming techniques.
"You can almost think of it as you've peeled the fancy cover off of the system and you've forced students to use the underlying tools," Peterson explained. Students, then, are forced to understand the system ý "how the linker works or how the compiler works," two programs that computer science students use to make their own programs.
Students in COS 126: General Computer Science, are encouraged to use the Arizona cluster of CIT computers ý which are running another form of Unix ý to develop their computer programs. Professor Kevin Wayne, who teaches the class, said developing programs in Unix is much easier than in other operating systems because the many tools available for Unix are able to develop a much wider variety of programs. In Windows, Wayne said, it is more difficult to develop programs that are not mainstream.
Fewer than one out of 10 students in COS 126 had used Unix before the class, but, Wayne said, "You sort of get to use it."
But at the graduate student level, using Unix ý especially Linux ý is much more prevalent. "I use it for my actual research ý the programs that I write run under Linux," Scott Karlin GS said. "Even just to read e-mail and surf the Web, I use Linux as well."
Karlin said he uses Linux because he needs to be able to get to the source code of the system. Source code is the human-readable form of a computer program before it is translated into a machine-readable form. Source code answers questions that programmers may have about how a program works internally.
Computer science professor Vivek Pai said, "[Access to source code] makes life a lot easier." But he believes the source code becomes useful only at the graduate level.
Source code, however, is not available for most programs. Programmers can choose to keep their programs closed-source if they do not want to reveal their secrets. After all, other programmers may decide to copy their ideas to create rival programs, and thus almost all commercial software is closed-source.
Because Linux is open-source, programmers are free to tweak the Linux kernel ý to make improvements, or just to personalize it. This feature is what some find most appealing about the operating system.
"There's a feeling that you have when you're using Linux ý or, you know, open software ý that you have a certain amount of control," Karlin said. "That makes it more fun."
Linux and most programs available for Linux are distributed under a GNU license (pronounced "guh-NEW"), which Pai calls "viral." While the main goal of GNU is to ensure that GNU open-source software can be freely shared and modified, there are several restrictions. Software that is distributed under the GNU license must be open-source, though it need not be free. The author of the software cannot restrict people from distributing copies of the software to other users. Further, software derived from a program released under a GNU license must itself also be released under the same license.
Take the source code, make changes and now it's a new program derived from the first ý it too must be open-source and free to distribute. "It's harder to maintain intellectual property in that sort of environment," Pai said.
But, GNU does allow for rapid proliferation of free software. "One big thing that Linux has going for it," Karlin said, "is that there's an awful lot of freely available software for what we want to do."
Karlin, for one, is doing research on Internet routers, and he uses certain programs that are freely available in Linux to do his research. While his research would have been possible without Linux, he said, it certainly is cheaper using it.
"[It is] not so much that it's free ý that it's better," Wayne said of open-source software. Because open-source software is peer-reviewed, "If there are errors in them, they get fixed," he said. And, because fellow programmers have the source code, they can help a program's author improve the program ý making open-source software generally more powerful, stable and versatile than closed-source software.
Compared to the tools available on Unix for writing scientific papers, Wayne said, "Microsoft Word doesn't even stack up."
Linux ý perhaps the mother of all open-source projects ý embodies these qualities as well. Karlin said he has been running his Red Hat computers for months without serious incident, a common story among Linux users ý common to users of Microsoft Windows and MacOS is the story of a program crashing, causing hours of work to be lost.
Karlin added that Linux ý which is free ý is comparable to the best version of Microsoft Windows, which sells for hundreds of dollars.
"You need to compare [Linux] with Windows NT Server Super-Professional Edition because that's what it enables you to do," Karlin added.
Peterson said Linux allows ý or requires ý the user to configure many aspects of the system. Though this allows expert users to harness the full power of Linux, it is an obstacle to novice users because "you have to be your own sys-admin," he said.
But Pai said Linux developers are trying to ameliorate this problem. "The Linux people are trying to make the Unix world more friendly," he said.
And as Linux becomes more usable, it can only become more widely used.
"[Its popularity] is running toward the unbounded side," Pammo Spalink GS said.
Still, he added, "In a certain sense, diversity is better than lack of diversity."