The philosophy underlying open source software (OSS) is enabling programmers to freely access the software source by distributing the software source code, thus allowing them to use the software for any purpose, to adapt and modify it, and redistribute the original or the modified source for further use, modification, and redistribution. The modifications, which include fixing bugs and improving the source, evolve the software. This evolutionary process can produce better software than the traditional proprietary software, in which the source is open only to a very few programmers and is closed to everybody else who blindly use it but cannot change or modify it. The idea of open source software arose about 20 years ago and in recent years is breaking out into the educational, commercial, and governmental world. It offers many opportunities when implemented appropriately. The chapter will present a detailed definition of open source software, its philosophy, its operating principles and rules, and its strengths and weaknesses in comparison to proprietary software. A better understanding of the philosophy underlying open source software will motivate programmers to utilize the opportunities it offers and implement it appropriately.
Key Terms in this Chapter
Source Code: The original human-readable version of a program, written in a particular programming language. In order to run the program, the source code is compiled into object code, a machine-readable binary form.
Open Source Software (OSS): Software for which the source code is open and available. Its licenses give users the freedom to access and use the source code for any purpose, to adapt and modify it, and to redistribute the original or the modified source code for further use, modification, and redistribution.
Closed Source Software (CSS): Non-OSS for which the source code is not available and not open. It is closed to modification and distribution by licenses that explicitly forbid it. The term CSS is typically used to contrast OSS with proprietary software.
Proprietary Software (PS): Software produced and owned by individuals or companies, usually with no provision to users to access to the source code, and licensed to users under restricted licenses in which the software cannot be redistributed to other users. Some proprietary software comes with source code—users are free to use and modify the software, but are restricted by licenses to redistribute modifications or simply share the software.
Free Software (FS): Free relates to liberty and not to price. It is similar to OSS but differs in the scope of the license. FS does not accept selective open sourcing in which companies may elect to make publicly available specific components of the source code instead of the entire code.
Copyleft: Permission for everyone to run, copy, and modify the program, and to distribute modified versions, but no permission to add restrictions of one’s own.
Complete Chapter List
Kirk St.Amant, Brian Still
Kirk St.Amant, Brian Still
Brian D. Ballentine
Francesca da Rimini
Andrea Bosin, Nicoletta Dessi, Maria Grazia Fugini
Victor van Reijswoud
M. Cameron Jones
Karin van den Berg
Vanessa P. Braganholo, Bernardo Miranda
Alessandro Nuvolari, Francesco Rullani
Marcus Vinicius Brandão Soares
Beatrice A. Boateng, Kwasi Boateng
Ralf Carbon, Marcus Ciolkowski
Bruno Rossi, Barbara Russo, Giancarlo Succi
Daniel Poulin, Andrew Mowbray
Kwei-Jay Lin, Yi-Hsuan Lin, Tung-Mei Ko
Stefano Comino, Fabio M. Manenti
Laurence Favier, Joël Mekhantar
R. Todd Stephens
Wouter Stam, Ruben van Wendel de Joode
Christoph Schlueter Langdon, Alexander Hars
Mikko Puhakka, Hannu Jungman, Marko Seppänen
Risto Rajala, Jussi Nissilä
Thomas Tribunella, James Baroody
Jacobus Andries du Preez
Leila Lage Humes
David J. Solomon
Dick B. Simmons, William Lively, Chris Nelson