Sister M. Isidoris Flanagan, Chad Laramore, Eric Lenning, MarkWomer
TABLE OF CONTENTS
Executive Summary 3
SECTION 1: Overview, Terms, and Concepts 4
SECTION 2: Vendor Perspective
Big Blue and the Little Company that Could 11 SECTION 3: Customer Perspective
Open Source Software Issues for Customer Organizations 16
Executive Summary From conception in the 1970’s and 80’s to a firmly established movement affecting all levels of software development, open source software has evolved into a thriving community of dedicated programmers producing some of today’s most stable and widely used software. This paper traces the history of open source from its humble beginnings through the development of the Free Software Foundation (FSF) and its General Public License (GPL). We also follow its transformation in the 1990’s to the Open Source Initiative (OSI) and analyze the open source definition. From there, we examine both the concerns of the open source vendor to the pros and cons of utilizing open source as a customer.
The open source software movement has made its presence known at all levels of software development. Apache, one of the anchors of the OSS movement, is the established leader in the web server market. With GNU/Linux and some of the various Berkeley Software Distribution(BSD) derivatives, OSS has a significant market share in the operating systems market. Open source also has a strong presence among desktop applications, with the OpenOffice suite of software as well as the Firefox web browser and Thunderbird email software, although the more user-friendly proprietary software tends to lead that market.
The vendor side of open source software has made dramatic strides over the last five years. Large established corporations such as IBM have developed strategies in targeted markets that utilize open source. New open source corporations such as JBoss have developed a Professional Open Source business model that is continuing to evolve and is successfully competing directly with established corporations. Future IS leaders need to be aware of the opportunities and risks of the changing software market.
Customer organizations must understand the various vendor choices and the different business models in the software marketplace today. There are many factors that must be weighed as an organization considers which software technology to adopt. Open source software products have demonstrated several potential advantages over proprietary applications. These advantages may include: better portability to different hardware and operating system platforms, greater use of open standards, and a price tag -- in some cases -- of zero. We will discuss these potential benefits along with some possible drawbacks for the use of open source products. We will show that the issue is not just Windows versus Linux, and that cost is just one of many factors to be considered.
Ho! Ho! Ho!
Upon close examination of the title page cartoon,1 you will notice that the two contrasting views of open source systems are illustrated. It depicts the view held by most large IT software companies, as Microsoft, with an angry Bill Gates expressing how “immoral” open source can be. Meanwhile, Santa with his reindeer and penguin-elf savor the purity of the pool of open source, claiming the “best things in life are free”. In order to understand Santa’s wisdom fully, we first must know exactly what is meant by the term “open source” as well as what Santa actually means by “free”. From there we will try to understand the reasoning behind these two contrasting views, as well as uncover the real identity of Santa Claus. Once this foundation is established, we will expand our analysis of open source by viewing it from two different perspectives. First, we will try to determine how you can make open source an economically viable option by analyzing two open source vendors, IBM and JBoss. Finally, we will examine the view of the customer and decide what are the benefits and potential drawbacks of using open source software products.
So what is all this Open Source Software Stuff? There are many misconceptions as to what open source software actually is. Let us first dismiss a few of the more popular, but wrong, beliefs. Open source software (OSS) is not synonymous with shareware or freeware. Both of these classes of software refer more to their distribution method than to any characteristic of the software itself. Whether you obtain it without cost (freeware) or try it before you buy it (shareware), typically neither freeware nor shareware allow access to the underlying source code, which is at the heart of OSS. Neither can we equate open source software with public-domain software. While you are allowed to copy, modify, and distribute the public-domain software freely, much like OSS, public-domain software has no copyright, whereas open source is a specific means of copywriting software. In fact, one can copyright public-domain software for oneself without permission from anybody.2 This, as we shall learn, differs dramatically from the accepted definition of open source software.
Richard Stallman vs. The Evil Xerox Printer L
Figure 1. Open source pioneer Richard Stallman.
earning the somewhat entertaining history of the open source software movement will give us a more clear understanding of what it is today and where its future lies. The open source movement began innocently enough at MIT in the early 1980’s. Richard Stallman (Figure 1) had been a programmer at MIT’s Artificial Intelligence (AI) Lab since the 1970’s. He and his colleagues were developing an operating system referred to as the Incompatible Timesharing System.3 More important than the project itself were the methods used by Stallman and his peers in its development. Stallman and his coworkers worked in a climate emphasizing the free exchange of ideas, problems and solutions. Whenever one of them wrestled with an issue in the software, or discovered a new tweak to improve the software, they would freely exchange that information, as well as the source code, to benefit the project.
Figure 2. The evil Xerox printer. he freedom that Stallman experienced in the AI Lab, his own personal utopia, was undone quickly with the seemingly harmless the purchase of a new Xerox printer (depicted in fig.2). Like most printers of the era, their new printer was plagued with paper jams. The difference between this printer and other equally jam-ridden printers, however, was the means by which Stallman could remedy the problem. In the past, Stallman had the ability to obtain the source code he desired, alter it to suit his needs, and alleviate the issue at hand. In this case, however, Xerox, would not release to Stallman its proprietary code to be adapted to fit his needs. Stallman was distraught. This was not the first time he had been faced with the difficulties of working with proprietary software, and this, in his view, was a trend in the software community which needed to be diffused. He vowed:
“I consider that the golden rule requires that if I like a program that I must share it with other people who like it. I cannot in good conscience sign a nondisclosure agreement or a software license agreement.
So that I can continue to use computers without violating my principles, I have decided to put together a sufficient body of free software so that I will be able to get along without any software that is not free.”4
With that, Stallman quit his job at MIT and founded the Free Software Foundation (FSF), in 1985. His goal for the foundation was to preserve the “free” status of software through the guarantee of its own copyright and license. The word “free” has many connotations and thus has caused some confusion. For the FSF, free refers to a matter of liberty, not one of price. Stallman eloquently stated that one should think of it as “free as in free speech, not as in free beer”.5 The Free Software Foundation advocates four main freedoms for its software:6
The freedom to modify the program to suit your needs
The freedom to redistribute copies so that you can help your neighbor
The freedom to improve the program and release your improvements to the public so that the whole community benefits
In order to implement the freedoms and to facilitate open participation in the developer community, Stallman devised the General Public License or GPL. The following are a few key provisions of the General Public License, as well as analysis of each7:
Copyleft—“…everyone has the right to use, modify, and redistribute the program’s code or any program derived from it but only if the distribution terms are unchanged.”
Stallman believed that copylefting allowed the right to copy to belong to the individual. Often referred to as a “share alike” clause, copyleft creates a “viral” effect in software derived from code protected by GPL. Copyleft forces the derived code to guarantee the same distribution terms.
Fees—No license fees, but a fee for distribution, service or warranty protection allowed.
It is at this point that the common belief that open source is “free” (as in beer) takes a beating. This provision allows for the free software community to recoup some of its expenses.
Source Code—The ability to access, modify, and distribute source code is guaranteed.
This provision is the heart of free software. Stallman believed this would allow a freer flow of ideas within the developer community.
Free Software vs. Open Source Software
Netscape released its browser source code in 1998 to much fan fair within the free software community. However, the free software belief was not fully embraced by all within the IT industry. Most businesses did not fully understand the “free” concept and shied away from the whole “share alike” premise. Two men, Eric Raymond (Figure 3) and Bruce Perens (Figure 4) recognized this trend and attempted to remedy the situation. They coined the term “open source” and founded the Open Source Initiative (OSI) that same year.
Figure 3. OSI cofounder Eric Raymond.
Figure 4. OSI cofounder Bruce Perens.
Under OSI, Perens and Raymond outlined the open source definition to help clarify for all what exactly open source entails. The following are a few key provisions of the open source definition as well as analysis of each: 8
Free Redistribution—You can make copies of software and sell or give them away. You don’t have to pay for the privilege to do so, either.
Much the same as the GPL, the option to sell or freely redistribute open source software is given to the user.
Source Code—Programs must include source code and allow distribution in source code or compiled form.
Source code is necessary for the open community to modify or enhance a program. Therefore, this provision requires that the source code be distributed with all programs and derived works.
Derived Works—You must allow modifications and derived works and must allow them to be distributed under the same terms as the license of the original software.
Modified and derived works must be allowed to be distributed under the same license terms, however, it is not required as in the GPL. This provision does not hand-cuff the producer of the derived work to accepting the “share alike” terms of copylefting. This stipulation allows for a more practical use of open source software.
Where is Open Source Software Today? In order to understand how far open source has come in a short period of time, Netcraft.com conducted a survey in June of 2001 of operating systems that were being utilized on public web servers worldwide (Figure 5).9 Protected under the GPL license, GNU/Linux is the operating system preferred by nearly 30% of web servers. Also included within the open source movement are a large percentage of the BSD operating system groups (Table 1). Therefore, open source operating systems are utilized by approximately 35% of web servers worldwide.
Figure 5. Web server operating systems in 2001.
Table 1. Percentage of different operation systems on web servers worldwide (2001).
A Patchy Apache
In many ways, the open source software movement flowed logically from the academic environment, where much of the innovative software for the internet was initially developed. Much like the free flow of ideas we observed with Stallman within the MIT AI Lab, there was a free flow of ideas, concepts and code between programmers at various sites.
In the early 1990s, the University of Illinois’ National Center for Supercomputing Applications released to the world its first version of a web server.10 When a programmer in this young internet community would find an improvement for this server, he or she would create a “patch” which could be added to the source code to remove a bug or create new functionality. In the early days of the internet, the Web was growing quickly and constantly programmers were coming up with new patches for the server. When Rob McCool, the University of Illinois student who had been the primary programmer for the server, accepted a position with Netscape, the NCSA could no longer keep up with all of the patches. Frustrated by the NCSA not responding to their emails, the programmers started to build their own server from the patches they had written. Brian Behlendorf established a mailing list for the members to manage the improvements and modifications to the server. The group renamed the improved software application “Apache” which brings a connotation of strength and assertiveness and the name is play on the “patching” they had done to the original source code. They started with eight developers who called themselves the “Apache Group.”
In 1999, in response to the increasing economic interest in the Apache web server, the Apache Software Foundation was born from the Apache Group.11 Between 1995 and 1999, the Apache web server had become the market leader. The Foundation was necessary for several reasons. First, it created a more cohesive organizational structure for the development of software projects, so more work can be done more efficiently. The Foundation provides a legal entity to manage the resources used in the development of the software projects and to form a shield to protect the individual developers from lawsuits aimed at the projects to which they have contributed and a means to protect the “Apache” brand from abuses by other organizations.
The Apache project was initiated not by an individual but by a diverse group of people who learned to know one another through their exchange of ideas and information while working on the project. From the beginning, individual’s contributions earned recognition within the project community. The ASF calls itself a “meritocracy,” literally a “govern of merit.” Under this principle, when the Foundation’s members believe that an individual has proven himself worthy to be a part of the development community (by submitting patches, suggestions and other important contributions to a project), he is given write access to the code repository. Those contributors who have been granted write access to the code are called committers. This process has worked very well for the Foundation and they have grown to nearly 800 committers.
Over time, the ASF has expanded its software development and currently the Foundation is organized into 24 projects, many with sub-projects. These projects include: Tomcat, a container for the Java Servlet and the Java Server Pages technologies; James, Java Apache Mail Enterprise Server; Geronimo, a container for Java 2, Enterprise Edition (J2EE).12
From the Lizard issues a Fox and a Bird
We already learned that Netscape’s 1998 release of the source code for its browser created quite a stir in the software community, spawning the development of the OSI. The event also gave birth to another organization as well. Mozilla was the original code name for the Netscape browser project. With the release of the source code for Navigator, mozilla.org immerged as a virtual meeting place to continue the development of the Mozilla code in the open source community. Mozilla Foundation was incorporated in 2003 with the mission to “preserve choice and innovation on the internet.”13
Mozilla develops and produces software, but they are not the primary coders. Rather, they integrate the code provided from Netscape and various programmers in the open source community and release the improved software. Firefox is the web browser released by Mozilla on November 9, 2004 and within a year has already been downloaded more than one million times- and has reached a market share of 8.65% by October 2005.14 Thunderbird is the email software provided by Mozilla. It can be used in conjunction with Firefox or it can stand alone.
Within the complex world of technology, new innovations appear constantly, branching in all directions. Open Standards are guidelines, available to the general public, for ensuring compatibility within and between systems. They have been developed to create a framework for the developer community to ensure interoperability between systems and system parts. Anyone can help to develop and modify the standards, and they are available to anyone without any significant barriers.15 Some of the common open standards include:
TCP/IP: Transmission Control Protocol/Internet Protocol
Another standard currently under development is “OpenDocument” or ODF, which is short for OASIS Open Document Format for Office Applications. This Standard would define how office documents are shared and stored. ODF would provide one single formatting standard for all office documents, whether they are text files, letters, memos, spreadsheets, or presentations, etc. This standard would allow portability of documents not only between vendors of similar competing products but also different software applications. Several software companies, including IBM and Sun are avid supporters of this new standard. Not surprisingly, the strongest opposition to implementing ODF comes from Microsoft, with its specific, and well guarded, document formatting protocols. Microsoft, at this time, has no intention to support OpenDocument in its newest version of Office, due to be released next year.16
Middleware Middleware software is the “glue” that connects the various applications running on a network. As the internet has grown, the software technology required to support its demands has evolved. In the early days of the internet, web pages were static html files. If a user sitting at a workstation wanted to see a specific web page, the user would type in a web address on the browser screen. The browser would send that request to the specific internet site. The web server at that site would retrieve the specific html file requested and send it off to the browser.
Web pages have become more sophisticated over the years, often requiring the use of a database or some other software application to create the dynamic page that the user will see on his web browser. A web server is not able to provide anything beyond the static html file. In order for these dynamic pages to be sent to the user, some type of middleware is required to act as an interface between the web server and the database application (Figure 6).
Figure 6. Simplified depiction of the Internet to illustrate the role of middleware.
Java 2, Enterprise Edition (J2EE) is a specific open-standards-based platform that enables development, deployment, and management of multi-tier server-based applications.17 The open source applications that utilize the J2EE technology are often in the form of middleware. As previously mentioned, Apache has a J2EE project called Geronimo. Now we will discuss how IBM and JBoss have incorporated open source, specifically J2EE middleware into their business strategies.