Difference between revisions of "Open Source Software"

From SI410
Jump to: navigation, search
Line 27: Line 27:
  
 
[[File:opensource.jpeg|thumbnail|The logo of the [https://opensource.org/ Open Source Initiative]]]
 
[[File:opensource.jpeg|thumbnail|The logo of the [https://opensource.org/ Open Source Initiative]]]
===
+
== Advantages of Open-source Software ==
=== Advantages of Open-source Software ===
+
 
==== Accountability ====
 
==== Accountability ====
 
In the paper, Ethical Issues in Open-source Software, Grodzinsky, Miller and Wolf highlight that in open-source software development, “accountability is not lost in the group, but its taken up by the entire group.”<ref>Grodzinsky, F. S., Miller, K., & Wolf, M. J. (2003). Ethical issues in open source software. Journal of Information, Communication, and Ethics in Society, 1(4), 193-205. doi:10.1108/14779960380000235</ref>  In other words, if a developer write irresponsible or buggy code, others contributing to the open-source software project would be unlikely to accept the code changes.
 
In the paper, Ethical Issues in Open-source Software, Grodzinsky, Miller and Wolf highlight that in open-source software development, “accountability is not lost in the group, but its taken up by the entire group.”<ref>Grodzinsky, F. S., Miller, K., & Wolf, M. J. (2003). Ethical issues in open source software. Journal of Information, Communication, and Ethics in Society, 1(4), 193-205. doi:10.1108/14779960380000235</ref>  In other words, if a developer write irresponsible or buggy code, others contributing to the open-source software project would be unlikely to accept the code changes.
Line 40: Line 39:
 
==== Freedom from lock-in ====
 
==== Freedom from lock-in ====
 
The use of proprietary software increases the risk of becoming locked into a particular vendor or technology. If this occurs, users can be at the mercy of the vendors’ price increases and experience a lack of flexibility that is difficult to escape. <ref>Bromhead Feed, B. (n.d.). 10 advantages of open source for the enterprise. https://opensource.com/article/17/8/enterprise-open-source-advantages</ref> On the other hand, open-source software is able to provide a more economical and flexible solution to users.
 
The use of proprietary software increases the risk of becoming locked into a particular vendor or technology. If this occurs, users can be at the mercy of the vendors’ price increases and experience a lack of flexibility that is difficult to escape. <ref>Bromhead Feed, B. (n.d.). 10 advantages of open source for the enterprise. https://opensource.com/article/17/8/enterprise-open-source-advantages</ref> On the other hand, open-source software is able to provide a more economical and flexible solution to users.
 +
 +
====Accessibility====
 +
Open-source software is more easily accessible than other forms of software which allows for increased usage. Availability along with increased usage may result in standard adoption of the software by the public. Open-source software's accessibility also decreases the number of bugs and implementation errors since anyone is free to access and edit it.
  
 
==== Outside Contributors ====
 
==== Outside Contributors ====

Revision as of 01:06, 23 April 2019

Open-source Software (OSS) is software that is distributed under a license and is characterized by source code that is publicly available for users to view, modify, and upgrade. Additionally, Open-source software may be redistributed to anyone without any additional permissions.[1] Open-source software is a prominent example of the open collaboration system. Notable examples of open-source software include Linux, Android, Apache HTTP Server, and Firefox.

The logo of Linux operating system, one of the most popular examples of open-source software

History

The beginnings of Open Source Software can be traced back to Richard Stallman’s work at MIT. At MIT, when Stallman inquired for the source code of a feature that helped fix printers, he was met with the legal issue that this code was the property of MIT and couldn’t be shared[2]. This led Stallman to create the free software movement and begin producing ways of developers producing products totally free and transparent to the public.

This free software movement was championed with the creations of Stallman’s GNU project in 1983. The GNU project was centered around creating a totally free and open source operating system with its various services to give users greater control over the programs they used. This was followed with the GNU Manifesto and Free Software Foundation[3], two efforts to make developers push for and contribute to transparent software.

In 1997, the piece “The Cathedral and the Bazaar” was written by Eric Raymond, which described the two differences in development styles of the GNU project versus the Linux project. GNU, part of the “Cathedral” development, was developed by a small group of programmers, who upon each version release also published the source code[4]. The “Bazaar” development method was coined by the Linux developers using the internet as the medium for the development process, meaning the public could see each step of the process and source code as well as contribute their own features. These styles assisted in letting the general public learn about and be familiar with the benefits and practices of open source development, as well as inspire the public to contribute.

Example of products produced using open source methods

From the 2000s onwards, open source has gained a strong following by both consumers and large scale businesses. IBM in 1999 even pledged 1 billion into the development of Linux[5], marking a great step for a proprietary business supporting an open source platform. Recent years have seen the large successes of open source platforms, such as Github and Gitlab, as well as the extreme successes of a number of products produced via open source.

The Open Source Definition

According to the Open Source Initiative, open source does not mean public access to the source code. The distribution terms of open-source software must meet the following criteria [6]:

  1. Free Redistribution: 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.
  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: The license must explicitly permit distribution of software created 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 particular 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.
  7. Distribution of Licenses: The rights attached to the program must apply to all to whom the program is redistributed without the need for an additional license.
  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 particular software distribution.
  9. License Must Not Restrict Other Software: The license must not place restrictions on other software that is distributed together with the licensed software. For example, the license must not require that all other programs distributed on the same medium must be open-source software.
  10. License Must Be Technology-Neutral: No provision of the license may be predicated on any individual technology or style of interface.
The logo of the Open Source Initiative

Advantages of Open-source Software

Accountability

In the paper, Ethical Issues in Open-source Software, Grodzinsky, Miller and Wolf highlight that in open-source software development, “accountability is not lost in the group, but its taken up by the entire group.”[7] In other words, if a developer write irresponsible or buggy code, others contributing to the open-source software project would be unlikely to accept the code changes.

Lower Cost

Another benefit of open source software is its ability to save companies money. In 2008, a report by the Standish Group indicated that consumers were able to save roughly $60 billion per year as a result of adopting open-source software models.[8]

Higher Quality Software and Improved Security

A report from the Coverity Scan project suggests that open-source software is at least on par than proprietary software with respect to software defects. [9] The Coverity Scan project analyzed open-source projects as well as a number of proprietary codebases to identify “hard-to-spot, yet potentially crash-causing defects.” The results indicate that having more co-developers increases the rate at which the software evolve and potential sources of error are spotted. As Linus's law states, "Given enough eyeballs all bugs are shallow." [10] This suggests that if many users view the source code then eventually all bugs will be found and fixed in a collaborative manner.

Freedom from lock-in

The use of proprietary software increases the risk of becoming locked into a particular vendor or technology. If this occurs, users can be at the mercy of the vendors’ price increases and experience a lack of flexibility that is difficult to escape. [11] On the other hand, open-source software is able to provide a more economical and flexible solution to users.

Accessibility

Open-source software is more easily accessible than other forms of software which allows for increased usage. Availability along with increased usage may result in standard adoption of the software by the public. Open-source software's accessibility also decreases the number of bugs and implementation errors since anyone is free to access and edit it.

Outside Contributors

An added benefit of Open-source software is that it is constantly being updated -- sometimes by the original developers and sometimes by outside contributors! Sites like GitHub allow outside developers to work on identified "Issues" in the codebase. This is useful because it often happens that there is a minor bug that does not compromise the functionality of the project but is annoying for the user. Something like this would be a low priority issue that the owners of the code would likely not get to. Allowing outside developers to attempt to patch such a bug contributes to the usefulness and efficiency of the codebase. All patches go through the owning developers, such that no broken code could ever enter the code base.

Ethical Issues

Security Vulnerabilities of Open-source Software

Despite arguments that claim that open-source software improves security, reports have shown that with the growth of open-source software its risks has been increased. The 2018 Open Source Security and Risk Analysis (OSSRA) report provide an in-depth look at the current state of open-source security, license compliance, as well as code-quality risk in commercial software. The report highlight that in 2017, 33% of audited codebases containing Apache Struts, an open-source model-view-controller framework, contained the vulnerability that led to the Equifax breach. [12] Industries represented in the report include automotive, big data, cyber security, enterprise software, financial services, healthcare, Internet of Things (IoT), manufacturing, and mobile apps.

Open-source Software in Operating Systems

The global market share analysis for desktop computer operating systems which indicates that as of January 2019, Windows owns the majority share, claiming 75.47% of the market; Mac OS claims 12.33% of the market; Linux claims 1.61% of the market; Chrome OS claims 1.17% of the market and the remaining 9.42% is claimed by Others/Unknown [13]. Of the top four operating systems in the market, Linux and Chrome OS are open source while Windows and Mac OS fall under the category of proprietary software. From a cybersecurity and statistics standpoint, it can be argued that open-source operating systems are less vulnerable to malware due to their significantly smaller market shares. It is more logical for an adversary to create malware for proprietary operating systems such as Windows or Mac OS, as the adversary’s malicious software will have a higher probability of successfully infecting targeted computers.

Plagiarism

According to John Snapper, plagiarism can consist of two things: [14] (1) being the use of work unauthorized and (2) being to use another's work without proper documentation. Usage of open source software is by nature authorized, so it cannot be a violation of plagiarism according to this definition. However, it can be a violation the second way. If a developer does not identify their sources they are guilty of plagiarism. With such a large amount of open source software projects, it is becoming an increasing concern that one's published code will be used without proper citations by someone else.


See Also

References

  1. What Is Open Source Software? (2017, August 22). https://www.linuxfoundation.org/blog/2017/02/what-is-open-source-software/
  2. Neary, Dave. “6 Pivotal Moments in Open Source History.” Opensource.com, opensource.com/article/18/2/pivotal-moments-history-open-source.
  3. Neary, Dave. “6 Pivotal Moments in Open Source History.” Opensource.com, opensource.com/article/18/2/pivotal-moments-history-open-source.
  4. Singh, Vivek. “A Brief History Of Open Source.” Medium, Gitcoin, 10 Jan. 2018, medium.com/gitcoin/a-brief-history-of-open-source-3928cb451767.
  5. Neary, Dave. “6 Pivotal Moments in Open Source History.” Opensource.com, opensource.com/article/18/2/pivotal-moments-history-open-source.
  6. Affirmation of the Open Source Definition. (n.d.). https://opensource.org/OSD_Affirmation
  7. Grodzinsky, F. S., Miller, K., & Wolf, M. J. (2003). Ethical issues in open source software. Journal of Information, Communication, and Ethics in Society, 1(4), 193-205. doi:10.1108/14779960380000235
  8. Free Software Magazine. (n.d.). https://web.archive.org/web/20080908033859/http://www.freesoftwaremagazine.com/community_posts/creating_wealth_free_software
  9. Merrill, S., & Merrill, S. (2012, February 23). With Many Eyeballs, All Bugs Are Shallow. https://techcrunch.com/2012/02/23/with-many-eyeballs-all-bugs-are-shallow/
  10. Merrill, S., & Merrill, S. (2012, February 23). With Many Eyeballs, All Bugs Are Shallow. https://techcrunch.com/2012/02/23/with-many-eyeballs-all-bugs-are-shallow/
  11. Bromhead Feed, B. (n.d.). 10 advantages of open source for the enterprise. https://opensource.com/article/17/8/enterprise-open-source-advantages
  12. Synopsis: Open Source Security and Risk Analysis. (2018). Network Security, 2018(6), 3. doi:10.1016/s1353-4858(18)30051-5
  13. Desktop OS market share 2013-2018. (n.d.). Retrieved from https://www.statista.com/statistics/218089/global-market-share-of-windows-7/
  14. John Snapper (2008) THE HANDBOOK OF INFORMATION AND COMPUTER ETHICS chapter 22