|
Open Source Software -vs-Closed Source Software
an editorial by Eric Kilgore
When approaching the subject of “open source” software, it is necessary to define the differences between “closed source” and “open source” software. Open source software is computer software that is developed and distributed by the author. The author distributes the original software code with the software package (which includes special licensing) that allows other software developers to alter the original (source) code to add functionality, or alter the original code for any other reason they wish. Anyone can alter the original code and redistribute it as long as they give the original author credit. In the closed source software model, the person or company that wrote the software source code owns the software. The author does not distribute the actual code with the software, and usually makes no provision for redistribution of the code. This would be analogous to Hostess selling you a Twinkie without listing the ingredients. You could taste the snack cake and try to figure out the ingredients, but you would really have no idea of what was used to make it. If you were really determined to make a better version of this product, for your child that preferred chocolate filling inside, you would have to spend thousands of hours developing the improved product (mostly by trial and error). Once you finished this culinary delight, you would be unable to actually produce --even one—of your new confection because you would be breaking the law. Though a new form of Twinkie may start a new fast food fad, it can’t compare to the amount of effect that new forms of existing software could have upon business, the economy, and society in general.
The Free Software Movement” (which is considered a subset of the “open software movement”) has established the battle cry – “Free as in ‘free speech’, not free as in ‘free beer’” (GNU General Public License, 2003). A software developer, whether professional or hobbyist, should have the right to develop software freely (as in “free speech”) and if it is practical enough and sufficient to fulfill other’s software needs, they should be able to make money from their creation (…not free as in “free beer”). In both the computer world and the business world, the decision about the usefulness and financial practicality regarding the use of open source software is controversial. From the business perspective, open source software is more cost effective though there is a major concern over system stability and software stability. From the computer industry perspective, open source software is not only a truist’s cry for freedom, but the ability to strike back at the large software companies that dominate the corporate landscape.
Most companies (and individuals) take interest in open source software initially because of the amount of free (no cost) software that is available for download and immediate use. The most popular of these is the Linux operating system. Linux is freely available for download in hundreds of different “flavors” at no cost. This leads people to question why they are paying for closed source operating systems (like Microsoft Windows and Macintosh OSX) which often cost more than $100.00, and only allow them to use the software on one computer. Using prices from Global Computing Supply from September 2000, “A public web server with Windows 2000 and an RDBMS [Relational Database Management System] might cost $3610 vs. Red Hat Linux’s $156, while an intranet server with Windows 2000 and an email server might cost $2810 vs. Red Hat Linux’s $76.” (Wheeler, 2003).
Many corporations also employ internal programmers to adapt software they use in their day to day business to “customize” the software for the company’s individual needs. This is often processes such as building custom databases, spreadsheet templates, and word processing templates. The internal programmers using closed source software are limited with the functionality they can offer their employer because they can “adapt” the existing software to the internal needs, but cannot “rewrite” the software when needed. The result is smaller programs that run within larger programs which is much less efficient than running a single program to achieve the corporate needs. It also results in more strain upon the corporate servers which slows down networks, and inevitably slows down worker production. Open source software that has been developed properly is able to run using much less lines of computer code which makes it more efficient for corporate network infrastructures.
Another factor that impacts the corporate “bottom line” is the ability to re-use software. Every time a company wants to adapt a version of their closed source software for a similar but different use, they have to pay large sums of money to have the software company re-write the existing software, purchase software add-on modules from their software vendor, or buy a totally new program. This would be similar to the automotive manufacturers not being allowed to use the same engine design in more than one vehicle. They would have to redesign the engine completely for every vehicle they produced. This is neither practical, nor cost-effective. The only way that the automotive manufacturer could stay in business would be to pass the extra cost along to the customer. Open source software allows companies to take advantage of software re-use when developing new software. Or as Eric Raymond states in The Cathedral & the Bazaar (1999), “any [open source] tool should be useful in the expected way, but a truly great tool lends itself to uses you never expected” (p.54). This gives companies a head start when they need a new software application, but do not want to “re-invent the wheel.” After all, “good programmers know what to write. Great ones know what to rewrite and reuse” (Raymond, 1999)
Corporations can also benefit from the stability and security that open source software has to offer. It has been proven that open source software (especially open source operating systems) creates a more stable desktop and server environment creating less computer down-time for companies which results in less lost productivity. Bloor Research company performed a benchmark study of systems running Linux and WindowsNT (open source and closed source respectively) over the period of one year. The Linux server crashed once and took four hours to repair, but the WindowsNT system crashed 68 times and took 65 hours to repair. A main benefit open source software contributes to the stability of the corporate computer infrastructure is that “bugs,” or programming mistakes that effect the operation of the software, are discovered and corrected more quickly. In the case of the Linux operating system there is estimated to be over 120,000 programmers contributing to its development (US Army, 2001). Computer system security is also a great concern for most companies. A security breach can result in lost critical data, data theft, and many hours of labor to re-secure the network. “A determined attacker can find security flaws in software with or without the source code, so concealing the source is actually more of a hindrance to those who could seek out and correct security flaws than to those who would exploit them. To put it simply, concealing source code leads to a false sense of security.” (Stoltz, 1999). Hewlett-Packard (hp) a leading computer hardware manufacturer states that “hackers target Microsoft Windows more often than they do other operating systems. Many corporations are already considering moving to an open source solution for the added security alone.” (Blumenthal, 2003).
Finally, open source software offers passionate programmers the opportunity to do what they do best – write programs. “Every good work of software starts by scratching a developer’s personal itch.” (Raymond, 1999). Each computer program starts with the programmer’s desire to solve a problem. Using the open source software approach, the programmer no longer needs to approach the development of this solution alone. The programmer now has a thriving and growing subculture on the Internet on which he/she can rely. There are tens of thousands of programmers, at all skill levels, participating in different open source projects on a regular basis in “cyberspace.” This diversity amongst participants offers the advantage of many people with different points of view looking through the software code from different perspectives. For example, if a person was developing accounting software for a furniture warehouse they may understand programming concepts, but not the needs specific to the furniture industry. If the programmer was developing in a closed source environment, he/she would write their program code, have people from the furniture warehouse test their program, re-write the program, and re-submit the software to the customer until it met the exact needs of the furniture warehouse. In an open source environment, the programmer would write their program code, post a version of their program (and the code itself) onto the World Wide Web or newsgroup, receive input from other programmers, and then deliver a near-finished program to their customer. The benefit of the open source approach is that other programmers contributing to the version posted to the Web may be furniture warehouse workers or accountants that would have unique insights to offer the original programmer that he may not have considered originally. This input would allow fewer rewrites of the code before final delivery to the customer. It also allows other programmers the opportunity to offer suggestions for streamlining the code (taking out unnecessary items, thus making it a smaller program), or offer their own code for re-use in this application.
The open source software movement also offers software developers the opportunity to “strike back” at the large software companies. Large software companies (which usually use closed source software) that have large customer bases often “upgrade” their software by issuing new versions of the software. These upgrades may or may not offer useful new features, but they also allow the software company the opportunity to discontinue support for previous versions of their software. This discontinuance of support often places companies in a position where they must purchase the newest version of the software application to maintain support for their software systems. The open source community, by allowing other’s to see their source code, offers its users the ability to upgrade when necessary, and to write their own upgrades if they choose to do so. Continuing support for open source software is often a more communal activity than a mandate from the original development entity. “The product exists in its own space…Even if the community got bored with upgrading the package, it would still remain adequate for any business or individual for years to come.” (Dvorak, 2003)
Critical software systems and applications should be thoroughly evaluated by the people and companies that use them. Open source software can offer stability, security, lower development costs, and adaptability to the people that use it. The benefits that open source software has to offer cannot afford to be overlooked.
References
- · Blumenthal, H. (October 2003). Why You Need an Open-Source Strategy, hp enterprise technology news. Retrieved October 17, 2003, from http://h30046.hp.com/news_article.php?topiccode=20031001_itereport0403
- · Dvorak, J. (2003, November) The Open Source Glacier Will Eventually Crush Microsoft, Computer Shopper, 38
- · GNU General Public License (2003). GNU General Public License Version 2. Retrieved October 22, 2003, from www.gnu.org/licenses/gpl.html
- · Raymond, E.S., (1999). The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. Cambridge: O’Reilly.
- · Stoltz, M. (1999). The Case for Government Promotion of Open Source Software. Retrieved November 2, 2003, from NetAction.org database.
- · U.S. Army (July 2001). A Business Case Study of Open Source Software. (Contract: DAAB07-01-C-C201, Project: 0700M520-AA). Bedford, MA: Mitre Corporation.
- · Wheeler, D. (September 2003). Why Open Source Software/Free Software (OSS/FS)? Look at the Numbers. Retrieved from http://www.dwheeler.com/oss_fs_why.html
Eric Kilgore is the CEO of Mobile IT Solutions, LLC. This article was originally submitted (by Eric) for an Argumentative Writing class at Baker College.
|