thumb|350x350px|A [[screenshot of Debian Linux running the Cinnamon desktop environment, featuring Firefox (accessing Wikipedia which uses MediaWiki), LibreOffice Writer, Vim, VLC and Nemo file manager, all of which are open-source software]]
Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Open-source software may be developed in a collaborative, public manner. Open-source software is a prominent example of open collaboration, meaning any capable user is able to participate online in development, making the number of possible contributors indefinite. The ability to examine the code facilitates public trust in the software.
Open-source software development can bring in diverse perspectives beyond those of a single company. A 2024 estimate of the value of open-source software to firms is $8.8 trillion, as firms would need to spend 3.5 times the amount they currently do without the use of open source software.
Open-source code can be used for studying and allows capable end users to adapt software to their personal needs in a similar way user scripts and custom style sheets allow for web sites, and eventually publish the modification as a fork for users with similar preferences, and directly submit possible improvements as pull requests.
Definitions
thumb|The logo of the [[Open Source Initiative]]
The Open Source Initiative's (OSI) definition is recognized by several governments internationally as the standard or de facto definition. OSI uses The Open Source Definition to determine whether it considers a software license open source. The definition was based on the Debian Free Software Guidelines, written and adapted primarily by Bruce Perens. Perens did not base his writing on the "four freedoms" from the Free Software Foundation (FSF), which were only widely available later.
Under Perens' definition, open source is a broad software license that makes source code available to the general public with relaxed or non-existent restrictions on the use and modification of the code. It is an explicit "feature" of open source that it puts very few restrictions on the use or distribution by any organization or user, in order to enable the rapid evolution of the software.
According to Feller et al. (2005), the terms "free software" and "open-source software" should be applied to any "software products distributed under terms that allow users" to use, modify, and redistribute the software "in any manner they see fit, without requiring that they pay the author(s) of the software a royalty or fee for engaging in the listed activities."
Despite initially accepting it, Richard Stallman of the FSF now flatly opposes the term "Open Source" being applied to what they refer to as "free software". Although he agrees that the two terms describe "almost the same category of software", Stallman considers equating the terms incorrect and misleading. The FSF considers free software to be a subset of open-source software, and Richard Stallman explained that DRM software, for example, can be developed as open source, despite that it does not give its users freedom (it restricts them), and thus does not qualify as free software.
- Users should be treated as co-developers: The users are treated like co-developers and so they should have access to the source code of the software. Furthermore, users are encouraged to submit additions to the software, code fixes for the software, bug reports, documentation, etc. Having more co-developers increases the rate at which the software evolves. Linus's law states that given enough eyeballs all bugs are shallow. This means that if many users view the source code, they will eventually find all bugs and suggest how to fix them. Some users have advanced programming skills, and furthermore, each user's machine provides an additional testing environment. This new testing environment offers the ability to find and fix a new bug. Some open-source projects have nightly builds where integration is done automatically. It often fosters developer loyalty, as contributors feel a greater sense of participation and ownership in the development process and the end product.
Moreover, lower costs of marketing and logistical services are needed for OSS. The OSS development approach has been known to some to help produce reliable, high quality software quickly and inexpensively.
Open source development offers the potential to quicken innovation and create social value. In France, for instance, a policy that incentivized government to favor free open-source software increased to nearly 600,000 OSS contributions per year, generating social value by increasing the quantity and quality of open-source software. This policy also led to an estimated increase of up to 18% of tech startups and a 14% increase in the number of people employed in the IT sector.
OSS can be highly reliable when it has thousands of independent programmers testing and fixing bugs of the software.
OSS is flexible as modular systems allow programmers to build custom interfaces or add new abilities to it. The mix of divergent perspectives, corporate objectives, and personal goals allows innovation.
Moreover, free software can be developed in accordance with purely technical requirements. It does not require thinking about commercial pressure that often degrades the quality of the software. Commercial pressures make traditional software developers pay more attention to customers' requirements than to security requirements, since such features are somewhat invisible to the customer.
Development tools
In open-source software development, tools are used to support the development of the product and the development process itself.
Version control systems such as Centralized Version control system (CVCS) and the distributed version control system (DVCS) are examples of tools, often open source, that help manage the source code files and the changes to those files for a software project in order to foster collaboration. CVCS are centralized with a central repository while DVCS are decentralized and have a local repository for every user. Concurrent Versions System (CVS) and later Subversion (SVN) are examples of CVCS, whereas Git is a DVCS and the most widely used version control software. The repositories are hosted and published on source-code-hosting facilities such as GitHub or Gitlab.
Open-source projects use utilities such as issue trackers to organize open-source software development. Commonly used bug trackers include Bugzilla and Redmine. Organizations like the Sovereign Tech Fund is able to contribute to millions to supporting the tools the German Government uses. The National Science Foundation established a Pathways to Enable Open-Source Ecosystems (POSE) program to support open source innovation.
Industry participation
The adoption of open-source software by industry is increasing over time. OSS is popular in several industries such as telecommunications, aerospace, healthcare, and media & entertainment due to the benefits it provides. Adoption of OSS is more likely in larger organizations and is dependent on the company's IT usage, operating efficiencies, and the productivity of employees.
One important legal precedent for open-source software was created in 2008, when the Jacobson v Katzer case enforced terms of the Artistic license, including attribution and identification of modifications. The ruling of this case cemented enforcement under copyright law when the conditions of the license were not followed. Because of the similarity of the Artistic license to other open-source software licenses, the ruling created a precedent that applied widely.
The economic model of open-source software can be explained as developers contribute work to projects, creating public benefits. Developers choose projects based on the perceived benefits or costs, such as improved reputation or value of the project. The motivations of developers can come from many different places and reasons, but the important takeaway is that money is not the only or even most important incentivization. However, an issue to be considered is cybersecurity. While accidental vulnerabilities are possible, so are attacks by outside agents. Because of these fears, governmental interest in contributing to the governance of software has become more prominent. However, these are the broad strokes of the issue, with each country having their own specific politicized interactions with open-source software and their goals for its implementation. For example, the United States has focused on national security in regard to open-source software implementation due to the perceived threat of the increase of open-source software activity in countries like China and Russia, with the Department of Defense considering multiple criteria for using OSS. These criteria include whether it comes from and is maintained by trusted sources, whether it will continue to be maintained, if there are dependencies on sub-components in the software, component security and integrity, and foreign governmental influence.
Another issue for governments in regard to open source is their investments in technologies such as operating systems, semiconductors, cloud, and artificial intelligence. These technologies all have implications for global cooperation, again opening up security issues and political consequences. Many countries have to balance technological innovation with technological dependence in these partnerships. For example, after China's open-source dependent company Huawei was prevented from using Google's Android system in 2019, they began to create their own alternative operating system: Harmony OS.
In response, the open-source movement was born out of the work of skilled programmer enthusiasts, widely referred to as hackers or hacker culture. One of these enthusiasts, Richard Stallman, was a driving force behind the free software movement, which would later allow for the open-source movement. In 1984, he resigned from MIT to create a free operating system, GNU, after the programmer culture in his lab was stifled by proprietary software preventing source code from being shared and improved upon. GNU was UNIX compatible, meaning that the programmer enthusiasts would still be familiar with how it worked. However, it quickly became apparent that there was some confusion with the label Stallman had chosen of free software, which he described as free as in free speech, not free beer, referring to the meaning of free as freedom rather than price. He later expanded this concept of freedom to the four essential freedoms. Through GNU, open-source norms of incorporating others' source code, community bug fixes and suggestions of code for new features appeared. In 1985, Stallman founded the Free Software Foundation (FSF) to promote changes in software and to help write GNU. In order to prevent his work from being used in proprietary software, Stallman created the concept of copyleft, which allowed the use of his work by anyone, but under specific terms. To do this, he created the GNU General Public License (GNU GPL) in 1989, which was updated in 1991. The operating system is now usually referred to as Linux.
As free software developed, the Free Software Foundation began to look how to bring free software ideas and perceived benefits to the commercial software industry. It was concluded that FSF's social activism was not appealing to companies and they needed a way to rebrand the free software movement to emphasize the business potential of sharing and collaborating on software source code. The OSI definition differed from the free software definition in that it allows the inclusion of proprietary software and allows more liberties in its licensing. Some, such as Stallman, agree more with the original concept of free software as a result because it takes a strong moral stance against proprietary software, though there is much overlap between the two movements in terms of the operation of the software.
Future
The future of the open source software community, and the free software community by extension, has become successful if not confused about what it stands for. For example, Android and Ubuntu are examples milestones of success in the open source software rise to prominence from the sidelines of technological innovation as it existed in the early 2000s. However, some in the community consider them failures in their representation of OSS due to issues such as the downplaying of the OSS center of Android by Google and its partners, the use of an Apache license that allowed forking and resulted in a loss of opportunities for collaboration within Android, the prioritization of convenience over freedom in Ubuntu, and features within Ubuntu that track users for marketing purposes.
Within proprietary software, bug fixes can only be provided by the vendor, moving platforms requires another purchase and the existence of the product relies on the vendor, who can discontinue it at any point.
Richard Stallman, leader of the Free software movement and member of the free software foundation opposes the term open source being applied to what they refer to as free software. Although he agrees that the two terms describe almost the same category of software, Stallman considers equating the terms incorrect and misleading. Nevertheless, there is significant overlap between open source software and free software.
Source-available software
Software can be distributed with source code, which is a code that is readable. Software is source available when this source code is available to be seen. However to be source available or FOSS, the source code does not need to be accessible to all, just the users of that software. While all FOSS software is source available because this is a requirement made by the Open Source Definition, not all source available software is FOSS. For example, if the software does not meet other aspects of the Open Source Definition such as permitted modification or redistribution, even if the source code is available, the software is not FOSS.
Open-sourcing
A recent trend within software companies is open-sourcing, or transitioning their previous proprietary software into open-source software through releasing it under an open-source license. Examples of companies who have done this are Google, Microsoft and Apple. Code acceptance can be impacted by status within these social network clusters, creating unfair predispositions in code acceptance based on location. Barriers to international collaboration also include linguistic or cultural differences. Furthermore, each country has been shown to have a higher acceptance rate for code from contributors within their country except India, indicating a bias for culturally similar collaborators. In 2002, only 1.5% of international open-source software developers were women, while women made up 28% of tech industry roles, demonstrating their low representation in the software field. Despite OSS contributions having no prerequisites, this gender bias may continue to exist due to the common belief of contributors that gender should not matter, and the quality of code should be the only consideration for code acceptance, preventing the community from addressing the systemic disparities in female representation.
Motivations
Contributors participate in open-source software (OSS) projects for a variety of reasons. Participation can provide practical experience in areas such as coding, issue tracking, version control, communication, and collaboration. In addition to technical skills, contributors may become familiar with industry practices and emerging technologies. Because most OSS projects are volunteer-based, participation does not involve formal employment arrangements, though contributors may develop professional reputations through their work.
Disparities
Even though programming was originally seen as a female profession, there remains a large gap in computing. Social identity tends to be a large concern as women in the tech industry face insecurity about attracting unwanted male attention and harassment or being unfeminine in their technology knowledge, having a large impact on confidence.
- Unix: Unix is an operating system created by AT&T that began as a precursor to open source software in that the free and open-source software revolution began when developers began trying to create operating systems without Unix code. Unix was created in the 1960s, before the commercialization of software and before the concept of open source software was necessary, therefore it was not considered a true open source software project. It started as a research project before being commercialized in the mid 1980s. Before its commercialization, it represented many of the ideals held by the Free and Open source software revolution, including the decentralized collaboration of global users, rolling releases and a community culture of distaste towards proprietary software. However, it is often misapplied to other areas that have different and competing principles, which overlap only partially.
Value
More than 90 percent of companies use open-source software as a component of their proprietary software. The decision to use open-source software, or even engage with open-source projects to improve existing open-source software, is typically a pragmatic business decision. When proprietary software is in direct competition with an open-source alternative, research has found conflicting results on the effect of the competition on the proprietary product's price and quality.
For decades, some companies have made servicing of an open-source software product for enterprise users their business model. These companies control an open-source software product, and instead of charging for licensing or use, charge for improvements, integration, and other servicing. Software as a service (SaaS) products based on open-source components are increasingly common.
Open-source software is preferred for scientific applications, because it increases transparency and aids in the validation and acceptance of scientific results.
See also
References
Further reading
- Coleman, E. Gabriella. Coding Freedom: The Ethics and Aesthetics of Hacking (Princeton UP, 2012)
- Understanding FOSS | editor = Sampathkumar Coimbatore India
- Benkler, Yochai (2002), "Coase's Penguin, or, Linux and The Nature of the Firm." Yale Law Journal 112.3 (Dec 2002): p367(78) (in Adobe pdf format)
- Lerner, J. & Tirole, J. (2002): 'Some simple economics on open source', Journal of Industrial Economics 50(2), p 197–234
- Rossi, M. A. (2006): Decoding the free/open-source software puzzle: A survey of theoretical and empirical contributions, in J. Bitzer P. Schröder, eds, 'The Economics of Open Source Software Development', p 15–55.
- Open Sources: Voices from the Open Source Revolution — an online book containing essays from prominent members of the open-source community
- Berry, D M (2004). The Contestation of Code: A Preliminary Investigation into the Discourse of the Free Software and Open Software Movement, Critical Discourse Studies, Volume 1(1).
- Sustainable Open Source, a Confluence article providing guidelines for fair participation in the open source ecosystem, by Radovan Semancik
External links
- The Open Source Initiative's definition of open source
- Free / Open Source Research Community — Many online research papers about Open Source
