Open Source Software (OSS) Chapter 5: OPEN SOURCE SOFTWARE Open Source Software Eric Camil and Sally Malan FSU, EME 5405 - Instructional Systems Design, Open Knowledge, and Web 2.0, Section 2: Overview of Tools and Technologies 1 Open Source Software (OSS) 2 Abstract Your abstract should be one paragraph and should not exceed 120 words. It is a summary of the most important elements of your paper. All numbers in the abstract, except those beginning a sentence, should be typed as digits rather than words. To count the number of words in this paragraph, select the paragraph, and on the Tools menu click Word Count. Introduction In this chapter we will be defining Open Source Software (OSS), discussing the OSS Internet-based economy and culture, listing the pros and cons of OSS versus software that is not open, giving examples of widely known OSS, and contemplating the future of OSS. To get started, let’s induct you into OSS. OSS Definition Software is a familiar term. It is the computer programs, instructions, or commands that make computers perform a function. “Source” refers to the software source code; that is, the readable programming language used to create software. This readable, source code is converted or “compiled” into computer executable code, or stored in a file like a script of computer instructions, and run on a computer or the Internet. The compiled computer program or executable script is the software, and the original, uncompiled programming language is the source code. To make software changes, computer programmers update the source code, then recompile if necessary. Proprietary software normally comes as computer executable code, which is in a compiled, non-readable format, and has a restricted user license. Vendors don’t normally share the software source code, because they want to control their software for their own economic advantage. If you want to use their software, you have to agree to their terms and conditions, and Open Source Software (OSS) 3 pay them to support it. Over time, you have to buy upgrades or new versions; otherwise, it becomes outdated and no longer supported, and won’t work with the current technology. The problem with proprietary or non-open software is that you don’t have access to the source code and you have limitations on its use. When the source code is available for software, programmers can see how it works and change it, or customize it to make it work the way they want it to. That is what is meant by “open” software: it comes with the source code, and may be freely used and modified. People who understand the source code or computer programming language can change the way the software functions, or how it interfaces with other systems. This is the primary difference between regular software, and OSS: “Open Source software is distinguished … by the license(s) that governs the use, distribution, and, most importantly, the rights to access and modify the software’s source code” (Tiemanna, 2010). Over the years, there has been debate about what term to use for this sharing of source code. In the beginning, it was referred to as “free software.” The term “free” didn’t necessarily mean free of charge, but rather that the source code was accessible, and users were free to run, copy, distribute, study, change and improve the software, either gratis or for a fee. The Free Software Foundation continues to use that term for software that meets specified criteria. For software to be called “free,” users must be free to: 1. run the program for any purpose, 2. access the source code so they can analyze the program to see how it works and make modifications to it, 3. redistribute copies to others, and 4. distribute copies of code that results from modifications to the source code. Open Source Software (OSS) 4 The Free Software Foundation continues to work to “preserve, protect and promote the freedom to use, study, copy, modify, and redistribute computer software, and to defend the rights of Free Software users. (Free Software Foundation, Inc., 2010). The Open Source Initiative (OSI)1 also originally used the term “free software,” but later adopted and promoted the use of the term “open source,” in order to clarify the meaning of “free.” To craft a well-rounded and detailed definition for Open Source, in relation to software, the OSI established the following definition of OSS, referred to as the Open Source Definition (OSD) (OSI, 2011). To be called OSS, software must have the following attributes: 1. allow free redistribution of source code, 2. program/software gives complete source code behind it, 3. modifications and derived works can be shared under the terms of the original software license, 4. the original license must allow distribution of code that’s been changed, unless the original license dictates that it must be updated through patches, 5. the license cannot show bias or single out any specific group or individual, 6. the license cannot confine or hamper its use in specific fields or for a specific purpose, 7. the original license agreement carries on through changes and edits made to the code/program, and must not require extra licenses from the original creators of the license, 8. the license isn’t limited to being part of a specific set of software, 9. the license cannot limit or restrict other software that is being shared and sent out with the original/modified software, and 10. no part of the license may be based on a specific technology or interface. 1 OSI is a California public benefit corporation that was founded in 1998 with a 501(c) 3 tax-exempt status. Open Source Software (OSS) 5 These are the same as the Debian Free Software Guidelines (DFSG) which were adopted by the free software community as the basis of the Open Source Definition. In addition to the open source licenses by the Open Source Initiative (OSI), other recognized “free” licensing agencies are the GPL-compatible free software licenses by the Free Software Foundation, the Berkeley Software Distribution (BSD) License, the Artistic License, the GNU General Public License, and others. Another Way to Explain OSS Here is an analogy that may help demonstrate the primary benefit of OSS, which is the ability to modify the open source software. Let’s think of software as a pie. In the open source world, when you get your pie, you also receive the recipe (source code). Following the recipe, you can make another pie like this one, and get help adding new ingredients or changing the recipe of the pie, either from the original chefs or from chefs who have worked with that type of recipe before. The alternative is, you go to the store and purchase a pie without the recipe. In this case, if you want different flavors or changes to the pie, you’ll have to wait for the store to decide to sell the type of pie that you want. Open Source Software (OSS) 6 Origins and Development of OSS Before we go further down this “open” rabbit hole, let’s take a look at the origins of OSS. According to a White Paper written by NetAction titled, “The Origins and Future of Open Source Software,” OSS essentially came into being through government funded projects financed by the Advanced Research Projects Agency (ARPA). It all started with Project MAC at the Massachusetts Institute of Technology (MIT). It was MIT hackers2 at Project MAC who largely designed both hardware and software for Digital Equipment Corporation’s PDP-6 (Programmed Data Processor) timesharing minicomputer. These MIT hackers would go on to spend endless hours creating and sharing new software to extend the capabilities of this software, beyond the expectations of its creators (NetAction 1999). At a time when the United States government was funding the internet for military use, a few individuals at MIT were creating the first open source software. The Free / OSS movement evolved soon after the Internet was created, but it, and the idea of open and collaborative, is what made the Internet what it is today. The hypertext markup language (html), which is the basis for websites on the Internet, is in an open format. Users of the Internet can view the source code behind every webpage that exists. A single html webpage may contain dynamic information, as JavaScript or PHP computer programs can be used to display different files or database entries to viewers that have been granted access. So as you read further on, and learn more about the ins and outs of open source 2 The pre-electronic vandalism definition of hackers was someone who takes apart or edits software. Open Source Software (OSS) 7 software, take heart that the websites you visit and interact with have open source code behind them. Financial Issues: Making Money with OSS Making money with open source software can be a tad bit more challenging, than with a traditional business model. Providing software source code, is like providing a cooking recipe. If you owned a bakery and everyone had access to your secret recipes, it would be harder for your business to keep customers coming in to pick up some of those delicious cupcakes, because they could make them themselves. Luckily not everyone can or wants to make cupcakes themselves, so they continue to buy cupcakes from you. You’re not just selling cupcakes, but you’re providing a service, and the sales price includes the cost of the capital investment and consumables required. An example of a successful use of an open source business model is Blindside Networks, of Ontario, Canada. They create and support open source software. Fred Dixon, a developer who works on the open source project said, concerning their financial approach with Open Source Software, “At Blindside Networks, we follow the traditional open source business model: make the product freely available and charge for support and services” (Dixon 2011). Their system, called BigBlueButton, is an open source web conferencing system for distance education. It has 14 different open source components, and is used by universities, colleges, and commercial companies. Even though their customers have access to the application’s source code, Blindside Networks takes the standard approach of offering tools and Open Source Software (OSS) 8 additional support and services for BigBlueButton. They offer server support and hosting, as well as customizations, such as re-skinning3 the product to give it the customer’s branding. In an interview with Fred Dixon about Big Blue Button, he explained that his company profits by adding value to the product by providing the customization and support services that they want, but that are above and beyond what their average clients can do for themselves. He explained how he changes the Cascading Style Sheets (CSS) to change the skin and branding of the product to give the product a customized look and feel. He said that, for most clients, that would be enough. Like most companies that create and support open source software, customization beyond what the average person can do, but would want to be done is very supported. Another successful example of a company using open source software is the Red Cross. The Red Cross, which is not a government agency, was started in 1881 -- roughly over 80 years before open source. Through the services of its 35,000 employees and more than hundreds of thousands of volunteers, the Red Cross assists and helps tens of thousands of disaster victims every year. Donations of time, hard work, and money are what keeps the organization alive and allows it to provide this service. They have been utilizing their donation payment system since the organization’s inception, but it is now taking off on a digital level. (Red Cross 2011) Like the Red Cross, the open source community is funded and is keeping its head above water in some cases, by using such systems. Donations made through payment systems such as PayPal can be found easily on most websites. Many different open source communities are full of people who are willing to help, expecting nothing more than perhaps a token of appreciation, The “skin’ of a computer program is how it actually looks to the user through its graphical user interface (GUI) (http://en.wikipedia.org/wiki/Skin_(computing)) . 3 Open Source Software (OSS) 9 as phrases such as “buy me a cup of coffee” or “buy me a beer if I’ve helped you,” can be seen in their signature line. The online community for the open source Linux based mobile operating system Android, has a huge amount of users at the website XDA-Developers.com. The statistics on the forum show a number of 3.9 million members, with 466,634 Active members and over 13 million posts. (JB Online Media 2011a) The XDA community for iPhone/iOS users, a closed system owned by Apple displays a paltry 22,514 members, with 7,103 posts and only 1,369 threads. (JB Online Media 2011b) The number of threads over on the Android side is 768,174. Open Source Software (OSS) 10 You can already see that the community for developers and non-developers for an open source operating system for cell phones is a bustling and busy community. XDA released a free mobile application and a premium paid application at 99 cents. The application gives you easier access to the discussion boards and threads within the website by keeping the user inside the application and not on a mobile web browser. Google doesn’t release the exact numbers, but the premium application has been paid for between 10,000- 50,000 (Google 2011a) times and the free application 500,000 to 1,000,000 times. (Google 2011b) This is an example of a very active open source community. It is astonishing that 510,000 people (a low estimate) access this open source community from a mobile device, to ask questions, find a solution, or help other users. OSS Examples One of the purposes of this chapter is to increase awareness about what types of OSS are available and how open source software is being used. There are many open source software ranking organizations. InfoWorld is a recognized leading source of information on emerging enterprise technologies. They track and report trends in open source software on their Open Sources blog and Technology: Open Source newsletter. For the last few years, it has been giving out Bossies, Best of Open Source Software awards, to what it believes are the most promising and cost-effective open source software products for business. In 2010, they published their list of the best open source applications, application development software, platforms and middleware, and networking software. Recently, they recognized the best of the best in their lists, "The greatest open source software of all time" and "Top 10 Open Source Hall of Famers." They, along with many others that rate open source software, give the top, position of honor, to Linux. Among the most important and valuable open source software for business include... Open Source Software (OSS) 11 The Free Software Foundation is the principal organizational sponsor of the GNU Operating System, a free Unix-like operating system. They end their list with the Apache Web server, pointing out that “Apache has virtually owned the Web since the late 1990s, and it still runs half of the world's Web sites.” The Apache Web server is the result of contributions of hundreds of users and volunteers from around the world. According to the project’s website, Apache is free because they want it to be used widely. In fact, they argue that “Apache's strength comes from the fact that it's free, and if it were made "not free" it would suffer tremendously, even if that money were spent on a real development team,” because of the contributions of feature enhancements, bug fixes, and support from the users. (The Apache Software Foundation, 2011). Pros and Cons Let’s list the pros and cons of OSS, to quantify and compare costs and benefits, and based on measures and metrics, evaluate their relative meaning, importance and impact. Costs Those who are hesitant or refuse to participate in the “open” community are concerned about the costs and risks. Some of the cost, challenges and limitations of OSS are time, labor and resources (including expertise) of acquiring, upgrading, and using. But the biggest OSS concern is sustainability – that is the essential issue. Users fear OSS will not be sustained over time, as initial funding expires. However, what we’ve seen is that as long as there are continued contributions from the open user community, the OSS product never expires. Open Source Software (OSS) 12 Of course, some software vendors still cling to the “closed” idea of, “This is mine; leave it alone; don’t touch it. Mine is better than yours. I have a competitive advantage and am more successful than you” versus the more “open” sentiment of, “We all benefit from increased productivity. Why reinvent the wheel, etc.” Benefits OSS has generated cultures of openness among the institutions and individuals who have embraced them. The members of those cultures have discovered new efficiencies, new opportunities for productivity (“social production”), new forms of organization (“coopetition”), new markets (“the long tail”), new pathways to learning, and new models for engaging with their colleagues and others around the sharing and collaborative construction of intellectual property” (Mackie, 2008). The cooperative, sharing, and collaborating culture of OSS seems the opposite of the competitive culture of Capitalism, but the OSS industry has found synergy from collaboration and community, and success building upon and transforming the work of others. Many find using OSS reduces time and effort, as well as actual immediate and long term costs. Some of the benefits are the financial gains that come from providing support, or hardware licensing agreements. But there are also indirect benefits, like marketing capital: reputation credentials, exposure, credits and favors - if you donate (give) you can get, Objectives, including customer satisfaction, marketing. But the biggest, direct advantage of OSS is that because programmers have access to the source code, it can be analyzed, customized, and integrated with other systems being used. Anticipated Future Developments. Open Source Software (OSS) 13 Six years ago, during the 2005 TED conference, a recognized leading intellectual of the information age, Yochai Benkler, suggested that open source represented the next stage of human organization and economic production. He talked about the possibility of free and open source software taking market share from software vendors like Microsoft, and potentially threatening traditional industrial models in business, as well as the possibility of it increasing productivity as it provides an opportunity for more people to create and innovate and share. He said, “But it’s also a new source of opportunities for businesses. As you see a new set of social relations and behaviors emerging, you have new opportunities. Some of them are toolmakers. …build more open tools. There’s a new set of values, a new set of things people value. You build platforms for self-expression and collaboration” (TED Ideas Worth Spreading, 2005). Today, in 2011, we see that there is a growing “open” culture and economy supporting OSS. Case studies reveal many OSS experiments or trials and best practices have emerged to show how to mitigate the risks associated with OSS, and achieve accountability and predictability. Many software developers and users have been convinced to participate in “open” and contribute or use OSS. The national and global trends show there is more open collaboration, and more and more businesses and users are recognizing the benefits of OSS and are accepting it as a viable platform. Open Source Software (OSS) 14 References Free Software Foundation, Inc. (2010, Nov. 12). The Free Software Definition. Retrieved June 5, 2011, from GNU Operating System: http://www.gnu.org/philosophy/free-sw.html Fred Dixon. (May 2011). Open Source Business Resource, May 2011: Technology Entrepreneurship. In Open Source Business Resource. Retrieved June 4, 2011, from http://www.osbr.ca/ojs/index.php/osbr/article/view/1314/1259. (Google 2011a)Google Inc.. (n.d). XDA-Premium - Android Market. In Apps - Android Market. Retrieved June 4, 2011, from https://market.android.com/details?id=com.quoord.tapatalkxdapre.activity&feature=searc h_result. (Google 2011b) Google Inc.. (n.d). XDA-Developers - Android Market. In Apps - Android Market. Retrieved June 4, 2011, from https://market.android.com/details?id=com.quoord.tapatalkxdapre.activity&feature=searc h_result. (JB Online Media 2011a) JB Online Media, LLC. (n.d). Android Forums & Windows Phone Discussion @ xda-developers. In Android & Windows Phone: Tablets, Apps, & ROMs @ xda-developers. Retrieved June 4, 2011, from http://forum.xda-developers.com/. (JB Online Media 2011b) JB Online Media, LLC. (n.d). iPhone-Developers. In iPhoneDevelopers. Retrieved June 4, 2011, from http://forum.iphone-developers.com/. Mackie, C. J. (2008). Open Source in Open Educaiton: Promises and Challenges. In T. Iiyoshi, & M. V. Kumar, Opening Up Education: The Collective Advancement of Education through Open Technology, Open Content, and Open Knowledge (p. 119). Cambridge; London: The MIT Press. OSI. (2011). Open Source Definition (OSD). Retrieved June 2, 2011, from Open Source Initiative: http://www.opensource.org/ Red Cross. (n.d). About Us. In American Red Cross. Retrieved June 4, 2011, from htttp://www.redcross.org/portal/site/en/menuitem.d8aaecf214c576bf971e4cfe43181aa0/? vgnextoid=477859f392ce8110VgnVCM10000030f3870aRCRD&vgnextfmt=default. TED Ideas Worth Spreading. (2005, July). Retrieved June 5, 2011, from Open-source economics: Yochai Benkler on TED.com: http://blog.ted.com/2008/04/16/yochai_benkler_1/ The Apache Software Foundation. (2011). Apache HTTP Server Project. Retrieved June 5, 2011, from http://httpd.apache.org/ Tiemanna, M. (2010). Open Source Software. In M. J. Bates, & M. N. Maack, Encyclopedia of Library and Information Sciences (Third Edition ed., pp. 4031-4036). Boca Raton: CRC Press; 3 edition.