Open Source Software

From SI410
Revision as of 12:49, 19 April 2019 by WikiSysop (Talk | contribs)

Jump to: navigation, search

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


The Open Source Definition

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

  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 a 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 is instead taken up by the entire group.”[3] In other words, if a developer were to write irresponsible or buggy code, others contributing to the open-source software project would be unlikely to accept the code changes.

Lower Cost

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.[4]

Higher Quality Software and Improved Security

A report from the Coverity Scan project suggests that open-source software is at least on par – if not better – than proprietary software with respect to software defects. [5] 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 evolves and potential sources of error are spotted. As Linus's law states, "Given enough eyeballs all bugs are shallow." [6] 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 in to 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. [7] On the other hand, open-source software is able to provide a more economic and flexible solution to users.


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 comes increased risk. The 2018 Open Source Security and Risk Analysis (OSSRA) report provides an in-depth look at the current state of open-source security, license compliance, as well as code-quality risk in commercial software. Most notably, the report highlights 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. [8] 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 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 [9]. 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.




See Also

Android
Crowdsourcing
Diaspora
Richard Stallman


References

  1. What Is Open Source Software? (2017, August 22). https://www.linuxfoundation.org/blog/2017/02/what-is-open-source-software/
  2. Affirmation of the Open Source Definition. (n.d.). https://opensource.org/OSD_Affirmation
  3. 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
  4. Free Software Magazine. (n.d.). https://web.archive.org/web/20080908033859/http://www.freesoftwaremagazine.com/community_posts/creating_wealth_free_software
  5. 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/
  6. 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/
  7. Bromhead Feed, B. (n.d.). 10 advantages of open source for the enterprise. https://opensource.com/article/17/8/enterprise-open-source-advantages
  8. Synopsis: Open Source Security and Risk Analysis. (2018). Network Security, 2018(6), 3. doi:10.1016/s1353-4858(18)30051-5
  9. Desktop OS market share 2013-2018. (n.d.). Retrieved from https://www.statista.com/statistics/218089/global-market-share-of-windows-7/