International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)
Web Site: [Link] Email: editor@[Link], editorijettcs@[Link] Volume 1, Issue 3, September October 2012 ISSN 2278-6856
Free and Open Source Software: Evolution, Benefits and Characteristics
Murtaza Ali Khan1 and Faizan UrRehman2
Umm Al-Qura University, College of Computer and Information System, Makkah, Saudi Arabia
1,2
Abstract: The emergence of the Free and Open Source
Software (FOSS) is an important frontier of Information Systems. The impact of FOSS on society, business, education, and research is rising. Thus, there is a need of clear understanding of the meaning and characteristics of Free and Open Source Software. In this paper, we briefly reviewed the evolution of FOSS and elaborated the terms Free Software and Open Source Software. We discussed the benefits of Free and Open Source Software such as community support, cost, security, education and research. We mentioned widely used FOSS licenses. We discussed the unique characteristics of FOSS; this includes community based distributed development, modularity, reusability, distribution, and reward mechanisms. Moreover, we discussed the future trends and directions of Free and Open Source Software.
Keywords: Community Project, Free and Open Source Software, Software Licenses, Software Model.
1. INTRODUCTION
Free and Open Source Software (FOSS) grants the users the right to run the software, inspect, modify, and distribute the source-code/software. Today millions of users all over the world are using the FOSS. Both the number of users and the number of FOSS are increasing day by day. As of June 2012, SourceForge, a repository of open-source projects, lists more than 324,000 projects and more than 3.4 million developers [20]. Note that 3.4 million are number of developers, number of users are far exceeding than this number. Taken an example of software, VLC media player, is downloaded 3,638,818 times from the SourceForge in only one week of June 2012 [23]. The same software (VLC) is available to download from many other websites too. These figures give an idea of growth and wide spread usage of FOSS. Almost in every domain of applications FOSS alternatives of proprietary software are available. To name a few, operating system (Linux), office suite (LibreOffice), database (MySQL), browser (FireFox), image processing (GIMP), media player (VLC), animation (Blender), etc. FOSS especially Linux have forever changed the computing world. During the period of around three decades, FOSS phenomenon has undergone a significant Volume 1, Issue 3 September-October 2012
transformation, from the question of survival to challenging tycoons of proprietary and closed source software. With the passage of time, commercial opportunities of Free and Open Source Software are growing. Due to immense impact of Free and Open Source Software on business, education, science & technology, etc., it is important to better understand the history, definition, characteristics, and future directions of FOSS, which is the main goal of this paper. Organization of the rest of the paper is as follows: Evolution of FOSS is reviewed in Section II. Free and Open Source Software are formally defined in Section III. In Section IV, we discussed the benefits of FOSS. The most common licenses of FOSS are listed in Section V. Section VI discusses the main characteristics of FOSS. The future of FOSS is discussed in Section VII. Concluding remarks are in Section VIII. Appendix A gives the criteria set by Open Source Initiative that the distribution terms of open-source software must comply. A selective list of historically significance Free and Open Source Software with brief detail of each is provided in Appendix B.
2. EVOLUTION OF FREE AND OPEN SOURCE SOFTWARE
The concept of sharing computer programs (software) is very old, dated back to 1960s. In the early period most of the computer programs were written by academics and researchers. At that time it was common to share source code and its binary form under the principles of openness and cooperation. In fact, in the beginning, there was only free (libre) software. Later on, proprietary software was born [30]. The two significance contributions to the evolution of Free and Open Source Software are GNU Project and Open Source Initiative. 2.1 GNU Project In 1983, Richard Stallman, formerly a programmer at the MIT AI Lab, launched the GNU Project to write a complete operating system free from constraints on use of its source code [21]. The GNU Project began working on an operating system called GNU ("GNU" is a recursive acronym that stands for "GNU's Not Unix"). This goal of making a Free Software operating system was achieved in Page 1
International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)
Web Site: [Link] Email: editor@[Link], editorijettcs@[Link] Volume 1, Issue 3, September October 2012 ISSN 2278-6856
1992 when the last gap in the GNU system, a kernel, was filled by the third-party Linux kernel being released as Free Software [21]. In 1989, the first version of the GNU General Public License was published [8]. The widespread availability of the Internet in the 1990s greatly contributed to the propagation of FOSS. 2.2 Free Software Foundation (FSF) The Free Software Foundation, founded by Richard Stallman in 1985. FSF is a non-profit organization with a worldwide mission to promote computer user freedom and to defend the rights of all Free Software users [5]. The Free Software Foundation (FSF) is best known for its sponsorship of the GNU project [15]. The FSF maintains historic articles covering Free Software philosophy and maintains the Free Software Definition to show clearly what must be true about a particular software program for it to be considered as Free Software [5]. The FSF publishes the GNU General Public License (GNU GPL), GNU Lesser General Public License (GNU LGPL), the GNU Affero General Public License (GNU AGPL) and the GNU Free Document License (GNU FDL). The Free Software Foundation (FSF) distributes the GNU Compiler Collection (GCC). GCC is a compiler system supporting various programming languages such as C, C++, FORTRAN, Java, Ada, Go, etc. 2.3 Open Source Initiative (OSI) The Open Source Initiative (OSI) is a non-profit corporation with global scope formed to educate about and advocate for the benefits of open source and to build bridges among different constituencies in the open source community [18]. The organization was founded in February 1998, by Bruce Perens and Eric S. Raymond, prompted by Netscape Communications Corporation publishing the source code for Netscape Communicator (Internet suite). free beer ... [5]. 3.2 Open Source Software Open-source software (OSS) is computer software that is available in source code form: the source code and certain other rights normally reserved for copyright holders are provided under an open-source license that permits users to study, change, improve and at times also to distribute the software. Open Source Initiative defines the criteria that the distribution terms of open-source software must comply [16] (see the Appendix A). 3.3 Free and Open Source Software Now after defining the terms Free Software and Open Source Software separately, the unified term Free and Open Source Software (FOSS) refers to software that is both Free as defined by FSF and Open Source as advocates by OSI. Nevertheless in literature the terms Free Software and Open Source Software are used interchangeably. Appendix B provides brief details of selected software that have historical significance in the development of FOSS. Table 1 gives a typical comparison between Closed Source Propriety Software (CSPS) and Free and Open Source Software (FOSS). Table 1: Comparison between Closed Source Propriety Software (CSPS) and Free and Open Source Software (FOSS).
Feature CSP S
FOS S
User can run the software Source code is available to user Multiple users on multiple machines are allowed User can modify the source code User can redistribute the software
3. FREE AND OPEN SOURCE SOFTWARE
Now after describing the GNU Project and Open Source Initiative we can formally define the terms Free Software and Open Source Software. It is important to note that these terms emerged separately. The FSF stands behind the term Free Software, while the OSI is advocates of the term Open Source Software. 3.1 Free Software The Free Software Foundation defines the Free Software as follows: Free software means software that respects users' freedom and community. Roughly, the users have the freedom to run, copy, distribute, study, change and improve the software. With these freedoms, the users (both individually and collectively) control the program and what it does for them ... [5]. Thus, free software is a matter of liberty, not price. To understand the concept, you should think of free as in free speech, not as in Volume 1, Issue 3 September-October 2012
4. BENEFITS OF FREE SOURCE SOFTWARE
AND
OPEN
The following reasons contribute to increasing interest in the Free and Open Source Software: 4.1 Community Support There is a very large community of volunteers who support and promote Free and Open Source Software [6]. Online message-boards and mailing-lists are essential part of FOSS projects. If a user/developer of FOSS has a question or trouble he/she can post the message on message-board or send an email to the mailing-list. Volunteers willing to help respond by answering the question and debugging the problem. A common trend is to publish Frequently Ask Questions (FAQs) on the FOSS Page 2
International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)
Web Site: [Link] Email: editor@[Link], editorijettcs@[Link] Volume 1, Issue 3, September October 2012 ISSN 2278-6856
project page. These FAQs are very helpful to solve the problems of many users. 4.2 Cost Typically a propriety software license requires paying a separate fee for each machine or each user. Even though, information, like a computer program, once it is created, is practically costless to reproduce [31]. Almost all of the Free and Open Source Software have no buying or licensing cost. Moreover, user has no restriction to make multiple copies of FOSS for multiple users or multiple machines. This provides an obvious incentive for the adoption of Free and Open Source Software to individuals and businesses. 4.3 Security Free and Open Source Software are more secure because their source code is available for scrutiny to large community. Bugs and security issues are identified and fixed easily and quickly. Security threats such as viruses, worms, Trojans and malware are common to Windows operating systems but very uncommon to Free and Open source Linux operating system. 4.4 Education and Research Free and Open Source Software are well suited for education and research. The cost to obtain, install and maintain the FOSS is very low and in some cases zero. The source code of FOSS can be inspect and modify, this is very useful for research purposes. Derivate software can be written using FOSS code without any copyright issues. Academic, students and researchers can freely share their work. Usage of Linux operating system in educational and research institutes is highly recommended. The variety of tools and compilers available on Linux operating system makes it an ideal platform for teaching courses in computer science and engineering. Excellent free compilers are available for C, C++, Objective C, Java, Pascal, FORTRAN, Modula-2 and -3, Ada, and Eiffel [17]. evolved. Initially, it was difficult for business to incorporate FOSS with propriety code but now several licenses permit this combination. By selecting appropriate license it quite possible to bundle the Free and Open Source Software with the proprietary software. Licenses, like the BSD and MIT Licenses, are suitable for situations in which originator wants wide spread deployment of his/her ideas regardless of in open source software or proprietary software. The wide ranges of FOSS licenses give more flexibility to developers and distributors.
6. CHARACTERISTICS OF FOSS
The development of open source software consists of planning, analysis, design, and implementation phases [3] as in any other software model. However, there are unique characteristics of FOSS. In this section, we describe the main characteristic of Free and Open Source Software.
Figure 1 Modular design approach of FOSS 6.1 Community Based Distributed Development In a typical FOSS, initially an individual or few volunteers involve in the project. Once the project is debut and successful then a community of project is established. Later other members from the community contribute to the project. The Concurrent Versions System (CVS) helps is distributed development of FOSS. CVS is a client-server software revision control system. CVS keeps track of all changes in a set of files, and allows several developers to collaborate. CVS itself is a Free and Open Source Software. Globally distributed software development by virtual teams promises the flexibility, responsiveness, lower costs, and improved resource utilization [14]. 6.2 Modular Design In modular design software architecture is divided into Page 3
5. FOSS LICENSES
The Free Software Foundation publishes lists of licenses. The most popular of these licenses are: a. GNU General Public License [7]. b. FreeBSD License [4]. c. Mozilla Public License [13]. d. Apache License [1]. e. X11 License (also known as MIT License) [28]. We will not go into the details of these licenses. For interested user references of these licenses are provided. But it is important to note that these licenses are in compliances with Free Software definition and approved by FSF and their source code is Open Source. With the evolution of FOSS, the FOSS licenses also Volume 1, Issue 3 September-October 2012
International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)
Web Site: [Link] Email: editor@[Link], editorijettcs@[Link] Volume 1, Issue 3, September October 2012 ISSN 2278-6856
components called modules. Modular design supports abstraction, increased understanding of the system and concurrent development. Due to distributed nature of FOSS, its design must be modular that can easily incorporate into the main system. Modularity is favorable characteristics for open source production [10]. Modular design with well-defined interfaces helps in effective collaborative development of FOSS. Figure 1 shows the modular design approach of FOSS. 6.3 Reusability Reusability means segment of source code that can be used again to add new functionalities with little or no modification. This fits very well the characteristics of the Open Source production process [26]. FOSS licenses grants the rights to the developer to obtain the source code, inspect it, modify it, and distribute it. This mean FOSS licenses inherently encourages a developer to reuse code. The reuse of code can be either within the project or outside the project, i.e., in other projects. A more details study with statistics of code reuse in open source software is conducted by [27]. FOSS repositories such as SourceForge offer huge amounts of reusable code. 6.4 Distribution and Licensing Internet is the medium of distribution of Free and Open Source Software. Download websites, mailing-lists, blogs, forums, etc., all contribute to the wide spread publicity and distribution of Free and Open Source Software. Wide ranges of licensing options, such as GPL, LGPL, BSD, ISC, Artistic License, etc., are available for FOSS distribution. 6.5 Reward Mechanisms At the beginning of Free Software movement, seemingly it was difficult to perceive the business opportunities of Free and Open Source Software. But now business model of FOSS is getting success. Sources of income range from donations to providing services such as consulting, integration, support and training. It also worth to mention that reward other than money, such as reputation and serving community is also important for many developers. source software will be more challenging for both sides. Based on the notion of survival of the fittest, dynamic, robust, competitive, secure, and user-friendly applications will capture the market. Businesses will rely more on providing services related to Free and Open Source Software. Free and Open Source Software offers much more revenue-generating opportunities than anticipated in the past. It is safe to say that Free and Open Source Software will an important factor in the Information Systems of the future.
8. CONCLUSION
In this paper, we elaborated the meaning of Free and Open Source Software. We described the evolution, benefits, characteristics, and future of Free and Open Source Software (FOSS). We listed widely used FOSS licenses. The wide ranges of FOSS licensing options give more flexibility to developers and distributors. The wide spread diffusion of the Internet and communication technologies helped in the formation of communities. Role of communities is very significance in the development and use of Free and Open Source Software. The FOSS model is inherently collaborative and transparent. Modular and distributed development is the important characteristics of Free and Open Source Software. Free and Open Source Software model ensures security, availability, reliability, quality, and efficiency of software development. The business opportunities of are growing. Sources of income range from donations to providing services such as consulting, integration, support and training. Free and Open Source Software will play a significant role in setting the tone and pace of information systems of the future.
References
[1] The Apache Software Foundation, Apache License, available at: [Link] retrieved on 15 Jun 2012. [2] Roy T. Fielding and Gail E. Kaiser, The apache http server project, IEEE Internet Computing, vol. 1, no. 4, pp. 8890, 1997. [3] Brian Fitzgerald, The transformation of open source software, MIS Quarterly, 30(3):587598, 2006. [4] The FreeBSD Project, The FreeBSD Copyright, available at: [Link] retrieved on 15 Jun 2012. [5] Free Software Foundation, available at: [Link] retrieved on 15 Jun 2012. [6] Alfonso Fuggetta, Open source software - an evaluation, Journal of Systems and Software, vol. 66, pp. 7790, 2003. [7] Free Software Foundation, GNU GENERAL PUBLIC LICENSE, Page 4
7. FUTURE OF FOSS
Now the Free and Open Source Software model has transformed into a more mature form that is technically sound and commercially viable. The market share of FOSS is growing, e.g., International Data Corporation, the Q3 2011 Server statistics show that Linux server revenues grew up to 2.3 billion, a 12.3 percent increase over the previous year [29]. A wide range of Free and Open Source applications are available in various domains on various platforms. In future, new applications will develop particularly in the rapidly growing market of smart-phones and tablet computers. Competition with commercial and closed Volume 1, Issue 3 September-October 2012
International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)
Web Site: [Link] Email: editor@[Link], editorijettcs@[Link] Volume 1, Issue 3, September October 2012 ISSN 2278-6856
[Link] retrieved on 15 Jun 2012. GNU GENERAL PUBLIC LICENSE, Version 1, February 1989, available at: [Link] retrieved on 17 Jun 2012. Nicolai Langfeldt, The Concise Guide to DNS and Bind, Que Corp., Indianapolis, IN, USA, 2000. Josh Lerner and Jean Tirole, Some simple economics of open source, Journal of Industrial Economics, Vol. 50, pp. 197234, 2002. Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, and John S. Quarterman, The design and implementation of the 4.4BSD operating system, Addison Wesley Longman Publishing Co., Inc., Redwood City, CA, USA, 1996. Audris Mockus, Roy T. Fielding, and James Herbsleb, A case study of open source software development: the apache server, In Proceedings of the 22nd international conference on Software engineering, ICSE 00, pp. 263272, New York, NY, USA, 2000. ACM. Mozilla Foundation, Mozilla Public License, available at: [Link] retrieved on 15 Jun 2012. A. Mowshowitz, Virtual organization, Communications of the ACM, vol. 40, pp. 3037, 1997. Richard Stallman, Free software foundation (FSF), Encyclopedia of Computer Science (book), John Wiley and Sons Ltd, pp. 732733, 2003. The Open Source Initiative (OSI), The Open Source Definition, available at: [Link] retrieved on 15 Jun 2012. Shahid H. Bokhari and Rafeequr Rehman, "Linux and the developing world", IEEE Software, vol. 16, no. 1, pp. 5864, 1999. The Open Source Initiative (OSI), available at: [Link] retrieved on 15 Jun 2012. Robert W. Scheifler and Jim Gettys, The X window system, ACM Trans. Graph., 5(2):79109, April 1986. SourceForge, a repository of open-source projects, available at: [Link] retrieved on 17 Jun 2012. Richard Stallman, The GNU Project, [Link] 2002. StatCounter, available at: [Link] retrieved on 15 Jun 2012. SourceForge, VLC media player, available at: [Link] retrieved on 18 Jun 2012. Linus Torvalds, The Linux Edge, Commun. ACM, 42(4):3839, April 1999. Michael Widenius and Davis Axmark, Mysql Reference Manual, OReilly & Associates, Inc., Sebastopol, CA, USA, 1st edition, 2002. [26] Andrea Bonaccorsi and Cristina Rossi, "Why Open Source software can succeed", Research Policy, vol. 32, no. 7, pp. 12431258, 2003. [27] Stefan Haefliger, Georg von Krogh, Sebastian Spaeth, Code Reuse in Open Source Software, MANAGEMENT SCIENCE, vol. 54, no. 1, pp. 180193, 2008. [28] X Consortium, available at: [Link] , retrieved on 15 Jun 2012. [29] International Data Corporation, available at: [Link] 179011, retrieved on 15 Jun 2012. [30] A brief history of open source software, available at: [Link] html#foot191, retrieved on 17 Jun 2012. [31] Mikko Mustonen, Copyleft-the economics of Linux and other open source software, Information Econoimics and Policy, vol. 15 pp. 99121, 2003. APPENDIX A The following definition of Open Source is taken from the Website of Source Initiative (OSI) ([Link] The Open Source Definition Introduction Open source doesn't just mean access to the source code. The distribution terms of open-source software must comply with the following criteria: 1 Free Redistribution The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale. 2 Source Code The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed. 3 Derived Works The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software. 4 Integrity of The Author's Source Code Page 5
[8]
[9] [10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18] [19]
[20]
[21] [22] [23]
[24] [25]
Volume 1, Issue 3 September-October 2012
International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)
Web Site: [Link] Email: editor@[Link], editorijettcs@[Link] Volume 1, Issue 3, September October 2012 ISSN 2278-6856
The license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software. 5 No Discrimination Against Persons or Groups The license must not discriminate against any person or group of persons. 6 No Discrimination Against Fields of Endeavor The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research. 7 Distribution of License The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties. 8 License Must Not Be Specific to a Product The rights attached to the program must not depend on the program's being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution. 9 License Must Not Restrict Other Software The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be opensource software. 10 License Must Be Technology-Neutral No provision of the license may be predicated on any individual technology or style of interface. APPENDIX B Table 2 provides brief details of selected software that have historical significance in the development of FOSS. Table 2: Table 2. The table below shows historical FOSS software FOSS GNULinux Description is a Unix-like operating system. It is one of the most successful Free and Open Source Software. The core component of Linux is the License GNU General Public License MySQ L
FOSS
Description Linux kernel, first released October 5, 1991 by Linus Torvalds. Linux today has millions of users, thousands of developers, and a growing market [24]. is a Unix like operating system developed and distributed by the Computer Systems Research Group (CSRG) of the University of California, Berkeley, from 1977 to 1995. BSD Unix became the basis for many commercial versions of Unix and dominated the commercial Unix market until the 1990s. Today, BSD is found in nearly every variant of UNIX, and is widely used for Internet services and firewalls, time-sharing, and multiprocessing systems [11] is a computer software system that provides high performance, high-level, device-independent graphics [19]. For long time it remained the de facto system for the GUI based Unix workstations. X originated at the Massachusetts Institute of Technology (MIT) in 1984. Currently [Link] Foundation leads the project of X Window System. Website: [Link] is an implementation of the Domain Name System (DNS) protocols. DNS is a distributed Internet directory service. It is used mainly to translate between domain names and IP addresses, and to control Internet email delivery [9]. BIND was first released with Berkeley Software Distribution 4.3BSD. As of 2012, the Internet Systems Consortium (ISC) maintains BIND. ISC Website of BIND: [Link] is multi-threaded, multi-user, and SQL (Structured Query Language) database server. It is the most popular SQL database in the open source community and is used almost universally by web sites running on open source systems [25]. Website: [Link]
License
BSD Unix
BSD License
X Windo w System
MIT License
BIND, the Berkele y Internet Name Daemo n
ISC license
GNU GPL or proprieta ry EULA
Volume 1, Issue 3 September-October 2012
Page 6
International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)
Web Site: [Link] Email: editor@[Link], editorijettcs@[Link] Volume 1, Issue 3, September October 2012 ISSN 2278-6856
FOSS
Description is web server software. It is the most popular web server software in the world. Apache began in February 1995 as a combined effort to coordinate existing fixes to the NCSA httpd program [12, 2]. Website: [Link] is a web browser managed by Mozilla Foundation. FireFox has approximately 25% of worldwide usage share of web browsers [22]. The FireFox project began as an experimental branch of the Mozilla project by Dave Hyatt, Joe Hewitt and Blake Ross. FireFox Website: [Link]
License
Apache HTTP Server
under Apache License
Mozilla FireFox
GNU GPL or GNU LGPL
Volume 1, Issue 3 September-October 2012
Page 7