Open Source Software - Solution: Open Source

Solution: Open Source

Open Source is a style of software development that at first may appear to be chaotic, but upon closer inspection reveals itself to be an effective way to restore competition in the industry and rights to users. While it is not a new idea, this latest articulation has met with considerably more success than previous attempts.

Definitions and Overview

Briefly, Open Source software is software that comes with not only the binaries required to run a program, but also the source code. Source code is the components that make up a program. While Free Software and Open Source are quite similar in theory, and are practically identical from an end user point of view, a quick distinction between Free Software and Open Source is in order.

What's referred to as Free Software is the GNU GPL. It is one of the more popular license covered under the Open Source Definition, which sets guidelines from which licenses can be developed. A few of of the other licenses are the Artistic License, the BSD license, and Netscape's MPL. The details of the various classes of Open Source licenses are beyond the scope of this paper, but a good definition can be found by Bruce Perens (Open Sources 1999:171) The various licenses give a differing degree of control to either society or the original author.

Why Open Source Works

With definitions of what Open Source is out of the way, lets now focus on how the Open Source development model benefits society. Open Source development has been proven to be a very robust development model, leading to very high quality code. There are several reasons for this, one is that everyone else can see your code, which encourages the developer to write cleanly and efficiently. If this does not happen, the piece of code is often rewritten by another developer. As many eyes examine any source code, it is constantly refined and improved (Raymond Cathedral 1992).

Another key benefit is that there is no chance of failure of a product. Since every program is written to solve at least one persons need, it is guaranteed to be useful to at least the developer. Of course another reason failure cannot take place is that every line of code becomes part of the overall repository. It also guarantees that even if a business developing a program fails, the product can live on. This is in fact an advantage to both consumer and developer, as it is a built in safeguard, easing the minds of consumers, making them more comfortable with a new product or business.

Open Source also solves the dilemma of software patents. If software is open there is no need to charge for the use of software patents. In fact, software patents are a large problem for Open Source software, as it is especially vulnerable to the whims of patent holders (Morgan 1999).

From the consumers point of view, one of the most glaring advantages of Open Source is that it's free. This leads to an unlimited access to a wealth of applications that they might not have otherwise used. Plus, they are able to share these applications with one another. (Stallman 1992).

Open Source also changes the mind-set of the consumer to the advantage of the developer. Rather than simply buying your product, they are actually using their program. This can greatly improve the feeling of loyalty to a product and company. As the consumer wants to see their product developed further, they will happily ensure that the company at the head of this development continues to operate. It turns software development into a positive giving relationship between producers and consumers, rather than a negative one.

Using open software as a solution helps grow the base for others to springboard from, leading to more efficient use of developer time, as they don't have to keep reinventing the wheel. Also, companies developing open applications get the added bonus of users contributing to improve the application, resulting in a more stable application.

There are many other benefits of using Open Source. while going into great details is beyond the scope of this paper, a few are: code reuse, using real applications as learning tools, increased reliability, innovative and new thinking of existing applications and problems. These issues and more are discussed in great detail in most of the pages found in the resource section of this paper.

[Previous] [Top] [Next] [Resources]