Linux: The "Other" Operating System
Articles and Tips: article
Senior Research Engineer
Novell, Inc.
kburnett@novell.com
Special thanks to Bill Dunford of Novell Internal Communications for his permission to use the text of his article entitled "Linux: A Primer" in this AppNote.
01 Jul 2003
This AppNote explains what Linux is and why it is becoming increasingly more attractive within the networking community. It also discusses the open source software movement and explains the important role Linux plays in Novell's strategic direction for the future.
Topics |
Linux, operating systems, open source software |
Products |
Linux |
Audience |
network administrators, consultants, developers |
Level |
beginning |
Prerequisite Skills |
familiarity with network operating systems |
Operating System |
n/a |
Tools |
none |
Sample Code |
no |
Introduction
I have a "visionary" sitting across the hall from me here at Novell. About six months ago, he installed Linux on one of his PC workstations. Now he is completing his Linux certification. In light of Novell's recent announcements regarding plans to support Linux with both NetWare services and GroupWise, my co-worker is very well positioned to be a leader in this new direction. That's why I think of him as a visionary.
Of course, many of the rest of us at Novell-myself included-are scrambling to come up to speed on Linux. It occurred to me that some of our readers might be in the same situation. So I thought it would be useful to share with you what I have found out about Linux and describe my initial experiences with it.
In this AppNote I will explain what Linux is and why it is becoming increasingly more attractive within the networking community. I'll relay some helpful information from various Linux Web sites, and I'll also borrow heavily from a Linux primer that one of our Internal Communications employees wrote to introduce the open source software movement and explain why Linux plays such an important role in Novell's strategic direction for the future.
What Is Linux?
The short answer is that Linux is an operating system. It's an alternative to other commonly-used operating systems such as Windows, Mac OS, and the various flavors of Unix.
Although Linux is very similar to Unix, it is not just another flavor of Unix. Its kernel was written from scratch by a Finnish student named Linus Torvalds back in the early 1990s. That's where the name Linux comes from: a combination of "Linus" and "Unix". The official pronunciation of the word Linux is with a short "i" sound and the stress on the first syllable, as in LIH-nucks.
A Brief History of Linux
For a historical look at how Linux came to be, I consulted the official Linux Web site at http://www.linux.org. Here's what it says:
"Linux is an operating system that was initially created as a hobby by a young student, Linus Torvalds, at the University of Helsinki in Finland. Linus had an interest in Minix, a small Unix system, and decided to develop a system that exceeded the Minix standards. He began his work in 1991 when he released version 0.02 and worked steadily until 1994 when version 1.0 of the Linux Kernel was released. The current full-featured version is 2.4 (released January 2001) and development continues."
"Linux is developed under the GNU General Public License and its source code is freely available to everyone. However, this doesn't mean that Linux and its assorted distributions are free-companies and developers may charge money for it as long as the source code remains available. Linux may be used for a wide variety of purposes including networking, software development, and as an end-user platform. It is often considered an excellent, low-cost alternative to more expensive operating systems."
"Due to the very nature of Linux's functionality and availability, it has become quite popular worldwide and a vast number of software programmers have taken Linux's source code and adapted it to meet their individual needs. At this time, there are dozens of ongoing projects for porting Linux to various hardware configurations and purposes."
"Linux has an official mascot, the Linux penguin, which was selected by Linus Torvalds to represent the image he associates with the operating system he created" (see Figure 1).
Figure 1: Tux the penguin is the official Linux mascot.
Linux Distributions
"When Linus Torvalds first developed Linux back in August of 1991, the operating system basically consisted of his kernel and some GUI tools. With the help of others, Linus added more and more tools and applications."
"With time, individuals, university students and companies began distributing Linux with their own choice of packages bound around Linus' kernel. This is where the concept of the ‘distribution' was born."
"Today, creating and selling Linux distributions is a multi-million dollar business. You can buy a boxed version of Linux from companies such as Red Hat, SuSE, Caldera [now The SCO Group], MandrakeSoft and others. You can also download Linux from any number of companies and individuals. There are distributions of all types and for practically any kind of computing endeavor. There are versions of Linux that will give you a firewall, will boot the entire operating system from a floppy disk or CD-ROM, or can be used to power TV ‘set-top' boxes."
What Linux Is Used For
Although Linux began as a free plaything for hobbyists and hackers, it has grown into much more than that. Used for everything from routine desktop computing and network servers, to controlling embedded devices, Linux is most commonly found on servers, where in recent years it has begun to gain mainstream acceptance as a stable and scalable OS. Currently, Linux represents more than 12 percent of the server market, and researchers predict it will continue to grow in popularity over the next few years.
Thanks to a growing number of business and entertainment applications, along with several user-friendly desktop interfaces to choose from (see Figure 2), Linux increasingly shows up on user machines as well.
Figure 2: Example of a windowing user interface available for Linux.
Linux is one of the most useful and famous examples of what's known as "free" or "open source" software. Let's digress for a moment and see what the open source software movement is all about.
Open Source Software
A piece of open source software is distributed not only as a compiled program (which only machines can read) but also with its source code, so that all programmers are free to see exactly how it works, make changes if they want, and redistribute it to whomever they want. Not only is it acceptable to make copies of Linux, it's also fine to tweak a few lines of the source code while you're at it, as long as you also freely provide your modified code to everyone else.
Because of this, open source software is sometimes known as free software. The open source community likes to describe it as "free as in free speech, not as in free beer." In other words, while open source software is often available at no charge, proponents say its real value comes from the fact that everyone can understand it and freely modify it.
What Is Open Source?
One open source luminary, Bruce Perens, describes open source as a bill of rights for the computer user, a definition that a software license must comply with to be certified with open source. Some examples of open source software include Linux, the Apache Web server, and the Mozilla Web browser.
The Open Source Definition. Open source doesn't just mean access to the source code. The distribution terms of an open source program must comply with the following criteria:
Free Redistribution - The license may not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources.
Source Code - The program must include source code, and must allow distribution in source code form as well as compiled form. Where some form of a product is not distributed with source code, there must be a well- publicized means of downloading the source code, without charge, via the Internet. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.
Derived Works - The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.
Integrity of the Author's Source Code - The license may restrict source code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software build from modified source code. The license may require derived works to carry a different name or version number from the original software.
No Discrimination Against Persons or Groups - The license must not discriminate against any person or groups of persons.
No Discrimination Against Fields of Endeavor - The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
Distribution of License - The right attached to the program must apply to all whom the program is redistributed without the need for execution of an additional license by those parties.
License Must Not Be Specific To A Product - The rights attached to the program must not depend on the program's being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution.
License Must Not Contaminate Other Software - The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open source software.
The GNU GPL, BSD, X Consortium, and Artistic licenses are examples of licenses that we consider conformant to the Open Source Definition.
Free Software vs. Open Source. So what exactly are the differences between "free" software and "open source" software? First, the notion of free software comes from the GNU project, which aims to replace all components of Unix with components covered by the GNU GPL, a very popular open source license.
The GNU project is highly political and believes that all software should be free-"free" as in "speech," not as in "beer." This means the GNU project would like all software released under its GPL agreement.
On the other hand, open source is marketing for free software, and is also a superset of free software. Open source aimed to make people aware of the notion of free software and its power.
For an example of how open source is a superset of free software, look at Item 5 in the Open Source Definition that forbids any discrimination against persons or groups, as well as Item 6 that forbids discrimination of fields of endeavor.
The Open Source Community. No single company develops Linux; instead, a loosely-organized army of programmers around the world, linked by the Internet, continually improves Linux and creates software that runs atop it. The open source community is passionate about free software as a way prevent monopolies and make more secure, powerful and reliable programs by means of thousands of people working in the open instead of a few working behind closed doors.
While Linux is both open source and freely available to download, many businesses choose to purchase commercial distributions (or "distros") that include a package of useful applications along with tech support from companies such as Red Hat, Mandrake or IBM. There are many different distros, each with its own set of strengths.
System administrators often use Linux as a platform for running other popular open source software, such as the Apache Web server and the MySQL database.
Why Does Linux Interest Novell's Customers?
In an industry that abuses the word "revolution," Linux truly is one, both because of the free speech aspect and the free beer aspect.
On the free speech side, businesses like the choices that open source opens up, both in terms of freedom from being locked in to one vendor's systems, and in terms of being able to customize applications to their own needs. Developers often like to work in an open source environment for many of the same reasons.
Not surprisingly, especially in this economy, businesses like the free beer part, too. As one example from the desktop side of things: it's possible to walk into a bookstore and purchase a thick Linux how-to book, with discs inside the back cover that contain a full Linux distro, complete with a variety of office software-all for less than $50. There are big savings to be had in the server room as well, although a debate rages about the hidden costs of "free" software.
What Opportunities Does Linux Create for Novell?
Choice is a central tenet of Novell's vision and mission. One of the choices Novell customers say they want to have is Linux, and the company has been moving for some time now to make sure they have that option. For example, eDirectory, at the heart of many Novell solutions, already runs on Linux.
Recently, moves in this direction have accelerated:
Novell has announced that GroupWise will soon run on Linux. See http://www.novell.com/news/press/archive/2003/04/pr03018.html.
Novell has introduced a new training and certification module, the Novell Certified Linux Engineer. See http://www.novell.com/training/certinfo.
The company will participate in LinuxWorld in August 2003. See http://www.linuxworldexpo.com.
The launch of NetWare 6.5 makes significant use of open source components like Apache, Tomcat, MySQL, and PHP/Perl. See http://www.novell.com/news/press/archive/2003/04/pr03016.html.
In March 2003, Novell announced that it will be putting the services that run on NetWare-file, print, directory, storage, messaging, collaboration, resource management, Web development and others-on two kernels: NetWare and Linux. For years we have been developing industry-leading networking services that sit on top of the NetWare kernel; we will now be offering these same services on a Linux kernel as well.
This strengthens the potential of Linux to grow from running a few servers and desktops, to handling customers' core business functions. And it gives customers the choice to stay with NetWare, move to Linux, or deploy both. We are not dropping NetWare, but we are adding Linux. We're expanding customer choice, and working to ensure that we can maintain, and grow, our customer base in the future.
Other Open Source Initiatives at Novell
Linux is not the only story in the open source area. Having contributed for years to projects such as Apache and OpenLDAP (a Novell engineer is even a member of the Apache Software Foundation), Novell has recently created a more direct path to its open source initiatives with the launch of the Novell Forge site, an open source developer resource at http://forge.novell.com.
As part of the announcement of Novell Forge, the company released the source code of the Novell Nsure UDDI Server, which makes Web services registries more secure and easier to manage by adding identity management capabilities to the Universal Description, Discovery and Integration (UDDI) standard.
Novell actively gives back to the open source community, and tracks and champions standards within OASIS, the W3C, and the Java Community Process. In these organizations Novell works to develop technologies such as UDDI, BPMI (Business Process Management Initiative), J2EE (Java 2 Enterprise Edition), and others.
My Experience with Linux
In writing this AppNote, I wanted to get a taste for Linux first-hand. So I downloaded and installed a flavor of Linux. I decided to set up my desktop machine for dual booting, just in case something went wrong. (You can tell I didn't have a lot of faith here.) But I was pleasantly surprised at how smoothly everything went. The installation of Linux itself only took about 45 minutes. Booting up the Boot Manager was also painless; I was able to go back to my original Windows desktop via a simple selection in the Boot Manager (see Figure 3).
The Boot Manager allows multiple OSes to run on the same computer.
Booting Linux was relatively quick, and the graphical user interface provided a familiar desktop/icon environment that looked pretty good (see Figure 4).
Figure 4: The graphical user interface for my version of Linux.
I have since configured printing for my network printer, set up an audio CD player, configured access to my e-mail, and installed an office productivity suite. To prove to myself that I could do my job in this new Linux environment, I researched this AppNote using a Mozilla browser running on Linux and typed the final draft using OpenOffice.
The Linux Web Site
The best place to go for more information about Linux is the official Linux Web site at http://www.linux.org. Here you will find a plethora of information such as documentation, online courses, news, and so on.
The Linux Web site also features a handy Distributions link. This takes you to the Linux Distributions page (see Figure 5) where you can search for a particular Linux that will fit your needs. The Web page allows you to narrow your search by specifying matches in the following areas:
Language (English, Spanish, French, German, etc.)
Category (Mainstream/General Public, Security enhanced, Embedded, etc.)
Platform (Intel compatible, PPC, Alpha, Sparc, etc.)
You can also choose to include "unmaintained" versions of Linux in your search.
The Linux Distributions page.
In addition, links are provided as to where to get information about Linux books, vendors selling Linux on CDs, vendors selling computers with Linux preinstalled, and the Linux Kernel source code.
Pros and Cons of Linux
Now that I've had a chance to research Linux and actually install and use it for a while, I have a better feel for its strengths and weaknesses. To describe these, I thought it would be fun to create some "top ten" lists (like David Letterman does on late-night TV here in the U.S). I gleaned most of these pros and cons from various Linux-related Web sites.
First, here are the top ten problems with other OSes, which have contributed to Linux's rise in popularity.
Top Ten Problems with Other Desktop OSes
Other OSes have a slow development and release cycle, usually taking years between releases.
Other OSes have a high initial cost.
Other OSes charge ongoing fees for maintenance and upgrades.
Other OSes charge for technical support, and obscure problems are often hard to get resolved.
Other OSes do not make their source code available for customization or modification.
Other OSes have backwards-compatibility issues and security issues.
Other OSes are prone to crashing and hanging.
Other OSes have copying and distribution restrictions.
Other OSes require constant hardware upgrades to support new releases.
OSes are developed with a monopolistic attitude that discourages mixed-vendor environments.
Now, here are the top ten advantages of using Linux:
Top Ten Advantages of Using Linux
Linux is "free." You don't have to worry about site licenses or End User License Agreements, or sign any "do not redistribute" agreements.
Linux is reliable. It hardly ever crashes under normal use, and has been known to run some applications for months and years without stopping. Because Linux has been developed and tested by thousands of people, errors are found and fixed very quickly.
Linux is supported by a wealth of engineering talent, and this support is free in the form of user groups, newsgroups, and extensive documentation.
Linux runs on many different hardware platforms, including Intel-based PCs, DEC Alpha, Sun Sparc, PowerPC, MIPS, and even Motorola 68000 machines such as Atari and Amiga. It is scalable from small embedded-OS devices to the largest supercomputers.
Linux is network friendly. It has the TCP/IP networking protocols built-in, is inherently multi-user, and can connect several different types of computers together, such as Windows, AppleTalk, and Unix machines.
Linux is secure. Its security model is based on the Unix idea of security, which is known to be robust and withstand Internet-based attacks.
Newer versions of Linux are backwards-compatible with older versions.
Linux is customizable. It can be tailored to your specific hardware and software needs.
Linux is open source software, and it sports many applications that are also open source.
Linux is just plain cool!
For objectivity's sake, here are some of the possible drawbacks of using Linux.
Top Ten Disadvantages of Using Linux
Traditionally, Linux has come with a Unix-like command line interface, which some users find hard to learn and work with. However, most newer versions of Linux sport the X Windows graphical user interface that provides a familiar desktop/icon environment.
Because Linux can be freely modified, it changes often to support new hardware and software capabilities. Sometimes this can lead to pesky incompatibilities until the bugs are fully worked out.
The sheer number of Linux distributions available can be intimidating. It can take some time and research to determine which is the best for you.
Although Linux support is free, there is no central entity you can turn to for immediate answers to your questions. However, most commercial Linux vendors do provide technical support for their boxed products.
Linux can be frustrating for new administrators to learn, since not all functions are well-documented. Administrators must often read through extensive and sometimes obscure documentation to learn how to perform certain administrative tasks.
Many business users cast doubt on the reliability of any product that is free, and are therefore hesitant to deploy Linux for mission-critical applications. However, if Linux were not at least as reliable as other OSes, it would have disappeared from the computing scene long ago. Instead, it has grown steadily in popularity and now boasts millions of users. Those who work with and support Linux are very passionate about it, and they continually strive to make it better.
Linux is a very technical software package with many features that require patience to learn and experience to fully understand. Of course, that is the case with most any computer OS. It helps to be familiar with the software development process and to have a healthy sense of curiosity.
OK, so I only came up with seven drawbacks, and most of them aren't really drawbacks. It just goes to show that, when you're looking for a stable, cost-effective, versatile OS, the advantages of Linux far outweigh the disadvantages.
Conclusion
Based on what I have learned and experienced, I feel confident in recommending Linux as a solid, high-performing operating system. Everything I have tried on my flavor of Linux has worked without any problems so far. I think it is a good move for Novell to enter the Linux fold, and I look forward to great things to come from this new strategic direction.
For More Information
Here are some Web sites to visit if you want more information about Linux, open source software, and Novell's involvement in all of this.
For general Linux information, see these URLs:
Linux Web site at http://www.linux.org
Linux Information Headquarters at http://www.linuxhq.com
Counter showing current number of Linux users at http://counter.li.org
Here are some Open Source Development Network (OSDN) sites:
Linux news portal at http://www.linux.com
New Linux-related software at http://freshmeat.net
Newsgroup for discussing Linux in the workplace at http://slashdot.org/search.pl?topic=163
Novell has several URLs to check out:
Novell NDK Open Source page at http://developer.novell.com/ndk/qstart/opensource.htm
Novell Forge Web site at http://forge.novell.com
* Originally published in Novell AppNotes
Disclaimer
The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.