My paper on Open Source Software
Go easy on me. I wrote this for my Writing class at UCSC. If you find any errors and can cite your corrections, please feel free to post them, but be nice. Also, if you want to make any other non-correcting comments, feel free to post. But again, be nice.
<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } A:link { so-language: zxx } -->
Open Source Software:
A Practical Solution to a Common Problem
Open Source Software (OSS) is a unique approach to software production, and is invaluable to the advancement of technology software. Open Source practices allow for greater stability and security in software simply by having a uniquely different development process. But before any explanation of how OSS is different from Closed-Source Software (CSS), there must be a base knowledge of how regular software gets made and how it works.
Software is a program that runs on a computer and consists solely of data. It doesn't have a physical presence outside of a computer's hard drive. Source code is either a single chunk or a set of instructions that tells the machine's hardware what to do. Because computers are machines and not living things, they have to be told exactly what to do and how to do it, and don't possess the capabilities to figure things out as humans do. For example, if you ask a person to tell you a joke, assuming they already know a joke, they will simply respond with a joke. You can't just ask a computer to tell you a joke, so if you wanted the same response from a computer, you would have to write a program which explicitly outputs a joke which you tell it to say. However, computers can be programmed to be to take on virtually any task, from virtual simulations to data management to 3D graphics to entertainment. The means by which this wide range of different tasks can be done without having hyper-complex computers is through software. The code is written by one or more programmers, tested to see if it runs correctly, and then is distributed to other computers. The process in which the code is converted from a programming language to a language that the computer can understand is called compiling the code. Some languages have to be compiled on the same computer they will run on, while others can be compiled and then distributed. Because there is an infinite amount of different combinations of computer components available on the market these days, testing only covers a small fraction of possibilities, and this is when problems can, and often do, occur. These software-related problems are called “bugs” (in the early days of computers, insects would crawl inside computers and cause shorts between relays, breaking the computers, hence the name bugs), and if you have used any piece of technology in your life, you have certainly run into a fair share of bugs. Bugs in software are fixed by the programmers, and then the distributors release a software “patch,” which will fix the discovered bugs in the code. In Open Source Software, the developers use software called a bug-tracker, which allows users to directly communicate with the development team and help them fix the problems. With these key terms established, one can understand the differences between Open and Closed Source Software.
Closed Source Software consists of what most of the wide-known big software is, such as operating systems (Microsoft Windows XP, Vista, and Apple OSX) and productivity suites (Microsoft Office, Apple iLife, and Adobe Creative Suite). While there are alternatives, a majority of the computers in the world run the two major operating systems, Microsoft Windows XP and Apple OSX. CSS is essentially produced for one reason: to make money. With most of the world being a capitalistic economy, these two software producers have succeeded in becoming software giants as much as household names. While they have been successful, CSS has several inescapable problems inherent in its design.
The first problem is directly in the name, it is Closed Source. This means that the source code is unavailable to everyone but the owners of the program. While this is a good for protecting your design and making money, it certainly does not qualify as a foundation for better software. Because the source code is restricted to a select few to view and make changes, the only way to get software patches is through the software distributer. This can be a serious problem, such was the case when Microsoft's Internet Explorer was revealed to have a major security hole that granted attackers unrestricted access to a user's computer (BBC). It took Microsoft's relatively small number of programmers over half of a month to fix this serious exploit, and with most computers in the world running Internet Explorer, it was a very dangerous security breach.
The second problem with Closed Source Software is a major problem for the company itself, rather than the consumer. Software piracy is the biggest problem faced by a CSS production company. In 2007, global software piracy caused worldwide losses of $8 billion (USD), which was a 20% increase since the previous year (BSA/IDC 5). When a company releases its product into the market, it is almost a certainty that their product will have attempts to be pirated. Piracy is a huge problem in every media, however, not just software. One way companies attempt to deal with piracy is the use of Digital Rights Management (DRM). However, in the years since the first attempt at DRM, it has led to some of the worst business decisions of this generation. When Electronic Arts released Spore in 2008, there was such a negative response to the DRM they packaged the game with, that people pirated the game simply out of spite for EA, becoming the #1 most pirated game of 2008, with over 1.7 million copies pirated from one website alone (McElroy). EA adapted to the demands of their consumers, however, and has completely dropped advanced DRM in their latest big release, The Sims 3. While Closed Source has to deal with these problems, it is not without its benefits and incentives for businesses to embrace its policies.
Closed Source Software has several positive aspects that keep major production companies from converting to the Open Source platform all together. First of all, there is a lot more money to be made in CSS. Microsoft, for example, has created one of the richest corporations in the world since its inception. With this income, no matter the size, companies can advertise their products to a larger group of people, in turn earning more money. If the product is good, the company can earn a name for itself as a good software producer. This earned income has other incentives too.
A second positive aspect to Closed Source production comes with the income earned. If a product is successful, a company can invest money from one product into other channels of income. Microsoft's business model is again a prime example, as Microsoft's Windows operating system has earned them enough money to venture into other markets. Microsoft publishes an office productivity suite, the console gaming system Xbox and Xbox 360, and a television network. These other venues can be used to invest back into the original software production, and further the company's expansion.
Another positive aspect of successful Closed Source Software development is the ability to dedicate resources to polishing the finished product. Because Closed Source Software generally consists of paid programmers, it is the job of the programming team to make the software run well and look good. Many Closed Source applications tend to be “cleaned up.” Aside from running smoothly and with as few bugs as possible, the user interface of CSS is generally easier to use, as there is a wider range of people who use the software. The larger consumer base means the programming team has to take special care in producing user-friendly, good looking software. While these advantages are a very good incentive to write Closed Source Software, they are not universal and only apply to a select few software companies. CSS generally requires an initial investment by hiring programmers, marketing teams, and providing your own means of distribution. These aspects are approached quite differently in Open Source Software, and are much more efficient in their execution.
Open Source Software is produced in a similar way to Closed Source Software, but there are several distinguishing features that make OSS a favorable alternative to CSS. Both OSS and CSS go through the same phases of production. They both require planning, development, testing, and distribution, but the means by which these two paths are followed are quite different.
Before going into the pros and cons of Open Source Software, one must understand the roots of the Open Source philosophy. The ideas behind the Open Source movement have been around since the dawn of civilization, but in regards to computers, the movement started in the mid-eighties by a researcher at MIT named Richard Stallman (Muffatto 7). Before he founded the Free Software Foundation (FSF) in 1985, the software all researchers used was under restrictions which did not allow any changes to be made, even if they greatly improved the software. His belief was that in order to do efficient research, software had to be freely available for people to change as they needed, and so he started the FSF (Muffatto). The FSF has since then been working toward developing Open Source alternatives to Closed Source applications.
Most Open Source Software is not developed specifically to make money, and although it is possible to sell OSS, it is generally developed because of a need. That need could be a practical need, like writing a GPS tracking program for mobile phones for hikers or distributed computing. There is also the need to be free from having a dependence on a dominant product (Mozilla Firefox to replace Internet Explorer). As a majority of people who write programs are geeks, most of them have a natural need to program. This is rooted in the “because I can” attitude toward writing software, which is a large driving force amongst many of the OSS developers. It is this very force that led Linus Torvalds to create of Linux, an Open Source operating system. Linux is similar to Apple OSX, but unlike OSX, Linux is free to download and use, and anyone who knows what they are doing can make changes to its source code. Linus even admitted to this feeling, and wrote in his on-line newsgroup post “This is a program for hackers by a hacker. I've enjoyed doing it, and somebody might enjoy looking at it and even modifying it for their own things” (Muffatto 49).
The Open Source approach to software development and maintenance is its biggest advantage over Closed Source. Open Source Software is a collaborative effort because its source code is freely available to make changes. The Open Source nature allows for much more secure software, in terms of adaptability. Where Microsoft took over half a month to patch a major security hole in Internet Explorer, in May of 2005, an equally serious threat was discovered for Mozilla Firefox. Once discovered, the security hole was patched in less than three days (Secunia 2). This collaborative characteristic in Open Source also lead to a strong community of like-minded individuals.
In 1991, when Linus Torvalds first started working on Linux at the University of Helsinki, he posted his plan to develop an “open” operating system on an Internet newsgroup. By the end of the year his newsgroup had received over 100 subscribers, and many of these subscribers submitted bug fixes and improvements to the source code (Weber 55). This was the first world-wide Internet-based collaborative effort on Open Source, and went on to grow over the next couple years. The on-line collaboration movement set the foundations of the Open Source community that it is today.
The Open Source community is a remarkably well-functioning collaborative effort of many different types of personae. Aside from the typical involved characters; the producer(s), consumers, and users, there exists a type unique to the Open Source world: the “prosumer” (Muffatto 53). A “prosumer” is a software developer who works with the project specifically to fit their own needs, purely out of pleasure for development, as well as to improve on their own abilities (Muffatto). The prosumer is the fundamental difference between Closed and Open Source Software, and much like Linus Torvalds when he wrote the original Linux operating system, the prosumers drive the development of OSS. What makes the prosumer different from a hired programmer besides the fact that a prosumer does it pro bono publico, is the magnitude of the diversity amongst prosumers, which has created incredibly diverse, world-wide groups surrounding Open Source Software.
The communities behind Open Source Software are huge. They can range from local groups of friends who enjoy programming to a world-wide on-line community consisting of thousands of individuals. The original Linux version 1.0 released in 1994, had contributions from seventy-eight individuals from twelve countries (Weber 67). This number has increased by a factor of 100 over the years, and has even created two sub-groups among contributors: major and minor. Minor contributors report and patch bugs as well as write smaller, non-essential additional applications. The number of minor contributors is estimated to be in the tens of thousands just for the Linux kernel (the part of an operating system that allows software to communicate with hardware) alone (Weber 69). SouceForge.net is the largest on-line Open Source community, with over 230,000 projects and more than two million registered users (SourceForge). While only a percentage of the registered users are actual developers, each user has the ability to view, edit, and re-submit the source code for each project, enabling the development side of software to be expanded world-wide with minimal cost. This low start-up and maintenance cost is a huge advantage over Closed Source development, which often requires a rather large initial investment of time and money. Even though Open Source is highly advanced in its developer involvement, the advantages of the Open Source philosophy also lead to one of its few disadvantages, and there are a few failure stories that revolve around the drawback.
The only real major downside to Open Source Software development is the lack of an organized hierarchy of power. A Closed Source analogue would be if two programmers were having a disagreement on how something should be implemented, so they would take their propositions to a project manager. The project manager, aside from his other communication tasks, would then take the time to listen to each of their cases and decide the best way to go about resolving the issue. In an Open Source development team, there usually isn't an assigned project manager, and this lack of communicability can lead to more complex issues. Paul Young describes one such event regarding Pidgin Instant Messenger program (formerly gAIM) as a major problem in most OSS. In one of the recent major releases, the Pidgin developers removed a certain non-essential functionality from their client, which caused a furious uproar from their user-base (Young). On their bug-tracker, thousands of users posted the change in usability as a bug, and the developers responded saying (paraphrased) “We want to find one solution that fits the needs of all users; we don't understand/don't agree with you (people posting bug reports)” (Young). The bug list continued to grow and the developers eventually forced closed the bug thread. Not only did they harshly deny the vast user-base's requests, they did so with a series of more and more angry and annoyed letters to the community. In the end, they basically told the community to get over it since they weren't going to fix it, which caused an irreparable loss in the reputation of the Pidgin developers. Paul Young believes the entire issue would have been avoided had a Project Manager been involved with the Pidgin project, which makes perfect sense, because one of the responsibilities of a Project Manager is to “involve users in the design (pre-code), and be a neutral party to explain the decision making process” (Young). A project manager is an essential part of the team because a majority of the people who work on software work in isolation a majority of the time, hence they lack the both the social grace and patience required to interact with a community filled with both satisfied and angry consumers. Even with this prime example of a complete communication breakdown, most of the Open Source community strives to keep the user happy.
The advantages of the Open Source ideology far outweigh the advantages of Closed Source platform, and pave the future for OSS to be around forever. In 1976, Bill Gates released an “open letter to hobbyists” (mostly aimed at early Open Source Programmers), in which he stated his position on “copying software” as “thieving” and was unreasonably expensive and immoral (Weber 37). He was saying how these “hobbyists” would never be able to produce equivalent software and support services that Closed Source companies could provide. This thought about the lack of sustainability in OSS stood firm for some time, but recent trends show otherwise. While Open Source is in no way going to replace CSS in the near future, the general trend in the Open Source user-base continues to increase. Closed Source Software such as Microsoft Internet Explorer, Microsoft Office Outlook, Adobe Photoshop, and even Windows XP operating system are slowly being replaced by their Open Source counterparts, such as Mozilla Firefox, Mozilla Thunderbird, GNU Image Manipulation Program, and the vast array of Linux distributions available, each completely free and open source. These applications are founded on the Open Source philosophy, which will enable them to continue for years to come.
All Open Source Software shares common characteristics which enable it to operate virtually cost-free as long as there are people who use it. First of all, the production cost remains relatively constant, meaning as long as people can afford a computer, Open Source Software can be created. It doesn't have to be an incredibly powerful computer either, as it doesn't take much to write code, and there are always more powerful computers to test for the code writers. The very-low startup cost gets transferred to the end-user, which then translates into people receiving free Open Source Software. This increased exposure enables programmers to earn much more widespread recognition at a very low cost compared to Closed Source Software, and acts as a catalyst for communities to cooperate with each other to produce great software with incredibly low costs. The characteristics of Open Source Software allow the ideals to remain sustainable as time goes on, no matter the what the economic or political climate for software production may be.
This document was written using only Open Source Software. Research was done using Mozilla Firefox. Each stage was composed using OpenOffice.org Writer on either Ubuntu 8.10 Desktop Edition or EEEBuntu 2.0 Standard, and uses the Open font Liberation Serif.
Works Cited
BBC News. “Serious security flaw found in IE.” Technology. 16 December 2008. BBC News. <http://news.bbc.co.uk/2/hi/technology/7784908.stm>.
BSA/IDC. “Fifth Annual BSA and IDC Global Software Piracy Study.” Business Software Alliance. 14 May 2008. <http://global.bsa.org/idcglobalstudy2007/studies/2007_
McElroy, Griffin. “Spore Tops List of Most Pirated PC Games of 2008.” Joystiq. 7 December 2008. <http://www.joystiq.com/2008/12/07/spore-tops-list-of-most-pirated-pc-games- of-2008/>.
Muffatto, Moreno. Open Source: A Multidisciplinary Approach. London: Imperial College Press, 2006.
Secunia. “Mozilla Firefox Two Vulnerabilities. Advisory: SA15292.” Secunia Advisories. Secunia Online Security. 8 May 2005. <http://secunia.com/advisories/15292/>
SourceForge. “What Is SourceForge.net?” SourceForge. February 2009. <http://apps.sourceforge.net/trac/sourceforge/wiki/What%20is%20SourceForge.net?>
Weber, Steve. The Success of Open Source. Massachusetts: Harvard University Press, 2005.
Young, Paul. “Why Product Management is Open Source's Fatal Flaw.” Product Beautiful. 2 May 2008. <http://www.productbeautiful.com/2008/05/02/why-product-management-is- open-sources-fatal-flaw/>.
January 24th, 2011 - 18:40
Love the writings, you know what would push OSS is gaming… The only reason we have the tech of today was gaming push the limits and gamers wanting more. I did read some articles on google starting some open source gaming platform. Only reason I’m not solely in OSS os’s is Sony Vegas and gaming. I love what you and many others are doing to change this, I pay money for a OSS game though even if I didn’t like it just to support it.