Daniel Arvesen 12.8.03 CS127

Research Paper

The Effects of Linux and Open Source

Open source software is everywhere. Every day Internet users unknowingly access GNU/Linux systems and other open source Unix-based systems. What started as a hobby has now grown into a massive, world-wide project that is now used by millions of users from the small home to large businesses such as IBM.

In 1984 Richard Stallman started the GNU project to develop a free operating system called GNU (GNU’s Not Unix). He founded this organization on the principles that users are allowed to use, copy, modify, and redistribute free software. At the time it used the term “free software” which was misleading to many people. It was later described as “free (as in freedom) software” and then eventually became “open source”. Open source implies that the source code is provided and thus the software is free. With the term “free software” one does not know if the source code is attached or not.

Stallman also created many of the programs used in most of todays Linux distributions. These programs include the GNU C Compiler (gcc), the GNU debugger (gdb), and GNU Emacs. Because of his major contributions to Linux and free software in general, he is considered to be a major pioneer of open source software.

Linux began in 1991 when Linus Torvalds, a University of Helsinki student, wanted to run Unix on his personal computer but did not want to pay for an expensive license. He was using Minix at the time, a small Unix clone written by Andrew Tanenbaum. Andrew created Minix to be used as a teaching aid, therefore it was crippled on purpose. Linus got fed up with Minix’s limited functionality, so he began to write a simple terminal emulation program. This eventually grew and grew. Linus said that his “original goal was to create an operating system that I could eventually use as a replacement for Minix” (Torvalds 81).

Eventually Linus had developed a small working operating system that he called Linux. He posted the source online so others could download it and contribute to it if they wanted to. Linus was distributing his operating system as open source.

Today the most famous variant of the GNU system is Linux. It’s official name is GNU/Linux and it is based on the Linux kernel that Linus Torvalds created. Another variant of the GNU system is GNU/Hurd, which is the kernel that Richard Stallman began to create. It is GNU’s official replacement for the Unix kernel. Although it is not in widespread use, the Debian project, which produces the popular Debian GNU/Linux distribution, is committed to providing a distribution of GNU/Hurd called Debian GNU/Hurd.

When one speaks of Linux, he is most likely referring to GNU/Linux, the entire set of tools that makes up the operating system. These tools include the Linux kernel itself, a shell, a compiler, and many other tools. When speaking of Linux by itself, one might be referring to the actual kernel that is the heart of the operating system. By itself, the Linux kernel is basically useless. It just operates the hardware, allocates memory, etc.

Open source is not just free software. It is software that is released for free, but it is released under a license. This license lists the terms that the software must comply to. These are usually very simple terms such as free redistribution, source code, derived works, and many others that can be found on the Open Source Initiative homepage (http://www.opensource.org). There are many OSI approved licenses but the most popular would be the GNU Public License (GPL).

Eric S. Raymond describes in his book The Cathedral and the Bazaar two development styles used when programming a large project. If a program is built like a cathedral, it is developed in isolation with no beta released for a long time. In a bazaar style, however, programs are released early and often and everything is delegated. Eric was very surprised when Linux was released because it was developed in a bazaar style. He figured that any large project such as an operating system would be carefully planned and developed like a cathedral. However, Linux was developed as a bazaar and it worked and it worked well.

Open source software has many advantages over closed source software. The first would be in the development process. If your program can attract users that are willing to use it and debug it, then they can be one of your most valuable resources. When a knowledgeable person who has access to the source code gets to debug a program, he can submit far better bug report than someone who does not have access to the source code. When a person can read the source code, he can figure out where in the program the problem occurred, and possibly offer a fix. If the person cannot think of a fix, then the person can just refer to what line or section the problem occurred at.

In the closed source world, bug reports tend to be a lot more vague because users “tend to report only surface symptoms; they take their environment for granted, so they (a) omit critical background data, and (b) seldom include a reliable recipe for reproducing the bug”. (Raymond 33)

In the open source world developers look at a problem in different ways than a closed source developer.. “The person who understands and fixes the problem is not necessarily or even usually the person who first characterizes it. Somebody finds the problem and somebody else understands it.”. (Raymond 30)

Even though open source has many benefits, it is not without disadvantages. One disadvantage of open source software is that it is very hard to sell it. Since the OSI approved licenses require the software to be free and have the source code provided, businesses who wish to sell open source software have to look to other means to earn a profit. One way this can be done is to provide support or extra documentation. This is what Red Hat has done and they have been fairly successful with it.

In The Cathedral and the Bazaar Eric Raymond lists several reasons people release their software as closed source. One of the main reasons listed is closed source protects competitive advantage. That is, if a piece of software was open source, a competing company could obtain that software and benefit from the improvements made by the open source community. However, because the software is open source, the development is spread over a large community and not a single group of people. It is then a question of whether this benefit is greater than the loss due to the competitor. Some other people believe that closed source software is more secure because you are not revealing the secrets of it. This is usually false because only algorithms that have been thoroughly reviewed can be trusted as secure. (Raymond 129)

Open source software was designed on the principle of peer-review. The sale of open source software therefore goes against that principle. “License restrictions designed to protect intellectual property or capture direct sale value often have the effect of making it legally impossible to fork the project.” (Raymond 133) Forking is duplicating the source of a project, running off with them in a different direction, but continue to claim to be the product. This is rarely done in the open source community because it is creating competing products and splitting the amount of potential developers. Although it is rarely done and discouraged, it is possible given the terms of the license.

One market that Linux has deeply effected is the business market. Because Linux is free and very portable, it can be installed on many low cost machines and act as a server. Thus, many small businesses are using Linux as a server instead of using a costly alternative from another company. Even large businesses such as IBM are using Linux. By using a free operating system to power their servers, they can save thousands of dollars by not having to pay license fees for a proprietary version of Unix or a variant of Windows.

Many companies are also using Linux on the desktop because it is cheaper and more reliable than the offerings from Microsoft. With proper training, most people can get accustomed to the Linux environment. Another reason a company might chose to use open source products is that they are generally more reliable than their closed source competitors. With open source products you have peer review where others can look over the code and submit changes and fixes. With closed source software you rely on either vague bug reports from your users or the slow trickle of bug reports from within the company. Open source software is also future proof. Because the sources are open, if a vendor goes belly-up, the customer still has some resource. Open source software is also built on standards. By using open source software you can spread the use of these standards and as the use of standards grow, more and more software will be built on them and therefore they will be compatible.

The effect of Linux has reached so far as to even affect Microsoft. In third world countries, leaders are strategizing on what software to run on their computers. They realize that Linux is a low cost alternative to Windows so they are choosing that. Microsoft realizes that a government is a large entity and they will often offer steep discounts in order to lure customers.

There is no doubt that Linux and open source has effected users everywhere. Large companies are scrambling to devise a way to lure customers to buy their products when there is an equivalent product available for free. Companies that originally laughed off Linux have now realized the benefits. Companies such as Sun, HP, and IBM are now offering Linux services and software.

Bibliography

1. Raymond, Eric S. The Cathedral and the Bazaar . Sebastopol: O‘’Reilly & Associates, 2001.

2. Torvalds, Linus. Just for Fun . New York: HarperCollins Publishers, 2001.

3. Williams, Sam. Free as in Freedom . Sebastopol: O’Reilly & Associates, 2002.

4. GNU’s Not Unix! - the GNU Project and the Free Software Foundation (FSF) . Free Software Foundation. Accessed 4 Dec. 2003. http://www.gnu.org

5. Open Source Initiative OSI - Welcome . Open Source Initiative. Accessed 4 Dec. 2003. http://www.opensource.org