Open-source software

Page protected with pending changes
From Wikipedia, the free encyclopedia

A screenshot of Manjaro running the Cinnamon desktop environment, Firefox accessing Wikipedia which uses MediaWiki, LibreOffice Writer, Vim, GNOME Calculator, 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.[1][2] 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.[3]

Open-source software development can bring in diverse perspectives beyond those of a single company. A 2008 report by the Standish Group stated that adoption of open-source software models has resulted in savings of about $60 billion per year for consumers.[4][5]

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[edit]

The logo of the Open Source Initiative

The Open Source Initiative's (OSI) definition is recognized by several governments internationally[6] 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 Perens.[7][8][9] Perens did not base his writing on the "four freedoms" from the Free Software Foundation (FSF), which were only widely available later.[10]

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

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."[12]

Despite initially accepting it,[13] 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.[14] Stallman also opposes the professed pragmatism of the Open Source Initiative, as he fears that the free software ideals of freedom and community are threatened by compromising on the FSF's idealistic standards for software freedom.[15] 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.[16]

Open-source software licensing[edit]

When an author contributes code to an open-source project (e.g., Apache.org) they do so under an explicit license (e.g., the Apache Contributor License Agreement) or an implicit license (e.g. the open-source license under which the project is already licensing code). Some open-source projects do not take contributed code under a license, but actually require joint assignment of the author's copyright in order to accept code contributions into the project.[17]

Examples of free software license / open-source licenses include Apache License, BSD license, GNU General Public License, GNU Lesser General Public License, MIT License, Eclipse Public License and Mozilla Public License.

The proliferation of open-source licenses is a negative aspect of the open-source movement because it is often difficult to understand the legal implications of the differences between licenses. With more than 180,000 open-source projects available and more than 1400 unique licenses, the complexity of deciding how to manage open-source use within "closed-source" commercial enterprises has dramatically increased. Some are home-grown, while others are modeled after mainstream FOSS licenses such as Berkeley Software Distribution ("BSD"), Apache, MIT-style (Massachusetts Institute of Technology), or GNU General Public License ("GPL"). In view of this, open-source practitioners are starting to use classification schemes in which FOSS licenses are grouped (typically based on the existence and obligations imposed by the copyleft provision; the strength of the copyleft provision).[18]

An important legal milestone for the open source / free software movement was passed in 2008, when the US federal appeals court ruled that free software licenses definitely do set legally binding conditions on the use of copyrighted work, and they are therefore enforceable under existing copyright law. As a result, if end-users violate the licensing conditions, their license disappears, meaning they are infringing copyright.[19] Despite this licensing risk, most commercial software vendors are using open-source software in commercial products while fulfilling the license terms, e.g. leveraging the Apache license.[20]

Open-source software development[edit]

Development model[edit]

In his 1997 essay The Cathedral and the Bazaar, open-source influential contributor Eric S. Raymond suggests a model for developing OSS known as the bazaar model.[21] Raymond likens the development of software by traditional methodologies to building a cathedral, with careful isolated work by individuals or small groups.[21] He suggests that all software should be developed using the bazaar style, with differing agendas and approaches.[21]

In the traditional model of development, which he called the cathedral model, development takes place in a centralized way.[21] Roles are clearly defined.[21] Roles include people dedicated to designing (the architects), people responsible for managing the project, and people responsible for implementation.[21] Traditional software engineering follows the cathedral model.[21]

The bazaar model, however, is different.[21] In this model, roles are not clearly defined.[21] Some proposed characteristics of software developed using the bazaar model should exhibit the following patterns:[22]

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.[22] 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.[22] Linus's law states that given enough eyeballs all bugs are shallow.[22] This means that if many users view the source code, they will eventually find all bugs and suggest how to fix them.[22] Some users have advanced programming skills, and furthermore, each user's machine provides an additional testing environment.[22] This new testing environment offers the ability to find and fix a new bug.[22]

Early releases: The first version of the software should be released as early as possible so as to increase one's chances of finding co-developers early.[22]

Frequent integration: Code changes should be integrated (merged into a shared code base) as often as possible so as to avoid the overhead of fixing a large number of bugs at the end of the project life cycle.[22][23] Some open-source projects have nightly builds where integration is done automatically.[22]

Several versions: There should be at least two versions of the software.[22] There should be a buggier version with more features and a more stable version with fewer features.[22] The buggy version (also called the development version) is for users who want the immediate use of the latest features and are willing to accept the risk of using code that is not yet thoroughly tested.[22] The users can then act as co-developers, reporting bugs and providing bug fixes.[22][23]

High modularization: The general structure of the software should be modular allowing for parallel development on independent components.[22]

Dynamic decision-making structure: There is a need for a decision-making structure, whether formal or informal, that makes strategic decisions depending on changing user requirements and other factors.[22] Compare with extreme programming.[22]

The process of Open source development begins with a requirements elicitation where developers consider if they should add new features or if a bug needs to be fixed in their project.[23] This is established by communicating with the OSS community through avenues such as bug reporting and tracking or mailing lists and project pages.[23] Next, OSS developers select or are assigned to a task and identify a solution. Because there are often many different possible routes for solutions in OSS, the best solution must be chosen with careful consideration and sometimes even peer feedback.[23] The developer then begins to develop and commit the code.[23] The code is then tested and reviewed by peers.[23] Developers can edit and evolve their code through feedback from continuous integration.[23] Once the leadership and community are satisfied with the whole project, it can be partially released and user instruction can be documented.[23] If the project is ready to be released, it is frozen, with only serious bug fixes or security repairs occurring.[23] Finally, the project is fully released and only changed through minor bug fixes.[23]

Advantages[edit]

Open-source software is usually easier to obtain than proprietary software, often resulting in increased use. Additionally, the availability of an open-source implementation of a standard can increase adoption of that standard.[24] It has also helped to build developer loyalty as developers feel empowered and have a sense of ownership of the end product.[25]

Moreover, lower costs of marketing and logistical services are needed for OSS. It is a good tool to promote a company's image, including its commercial products.[26] The OSS development approach has helped produce reliable, high quality software quickly and inexpensively.[27]

Open-source development offers the potential to quicken innovation and the creation of innovation and 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.[28]

It is said to be more reliable since it typically has thousands of independent programmers testing and fixing bugs of the software. Open source is not dependent on the company or author that originally created it. Even if the company fails, the code continues to exist and be developed by its users. Also, it uses open standards accessible to everyone; thus, it does not have the problem of incompatible formats that may exist in proprietary software.

It is flexible because modular systems allow programmers to build custom interfaces, or add new abilities to it and it is innovative since open-source programs are the product of collaboration among a large number of different programmers. The mix of divergent perspectives, corporate objectives, and personal goals speeds up innovation.[29]

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

Development tools[edit]

In OSS development, tools are used to support the development of the product and the development process itself.[31]

Revision control systems such as Concurrent Versions System (CVS) and later Subversion (SVN) and Git are examples of tools, often themselves open source, help manage the source code files and the changes to those files for a software project.[32] The projects are frequently stored in "repositories" that are hosted and published on source-code-hosting facilities such as Launchpad, GitHub, GitLab, and SourceForge.[33]

Open-source projects are often loosely organized with "little formalised process modelling or support", but utilities such as issue trackers are often used to organize open-source software development.[31] Commonly used bugtrackers include Bugzilla and Redmine.[34]

Tools such as mailing lists and IRC provide means of coordination among developers.[31] Centralized code hosting sites also have social features that allow developers to communicate.[33]

Funding[edit]

Companies whose business centers on the development of open-source software employ a variety of business models to solve the challenge of how to make money providing software that is by definition licensed free of charge. Each of these business strategies rests on the premise that users of open-source technologies are willing to purchase additional software features under proprietary licenses, or purchase other services or elements of value that complement the open-source software that is core to the business. This additional value can be, but not limited to, enterprise-grade features and up-time guarantees (often via a service-level agreement) to satisfy business or compliance requirements, performance and efficiency gains by features not yet available in the open source version, legal protection (e.g., indemnification from copyright or patent infringement), or professional support/training/consulting that are typical of proprietary software applications.

Opportunities for Participation[edit]

Contributing[edit]

The basic roles OSS participants can fall into multiple categories, beginning with leadership at the center of the project who have control over its execution.[35] Next are the core contributors with a great deal of experience and authority in the project who may guide the other contributors.[35] Non-core contributors have less experience and authority, but regularly contribute and are vital to the project’s development.[35] New contributors are the least experienced but with mentorship and guidance can become regular contributors.[35]

Some possible ways of contributing to open source software include such roles as programming, user interface design and testing, web design, Bug triage, accessibility design and testing, UX design, code testing, and security review and testing.[35] However, there are several ways of contributing to OSS projects even without coding skills.[35] For example, some less technical ways of participating are documentation writing and editing, translation, project management, event organization and coordination, marketing, release management, community management, and public relations and outreach.[35]

Industry Participation[edit]

The adoption of open source software by industry is increasing over time.[36] OSS is popular in several industries such as telecommunications, aerospace, healthcare, and media & entertainment due to the benefits it provides.[37] 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.[36]

Industries are likely to use OSS due to back-office functionality, sales support, research and development, software features, quick deployment, portability across platforms and avoidance of commercial license management.[36] Additionally, lower cost for hardware and ownership are also important benefits.[36]

Prominent Organizations[edit]

Organizations that contribute to the development and expansions of free and open source software movements exist all over the world.[35] These organizations are dedicated to goals such as teaching and spreading technology.[35] As listed by a former vice president of the open source initiative, some American organizations include the free software foundation, software freedom conservancy, the open source initiative and software in the public interest.[35] Within Europe some notable organizations are Free Software Foundation Europe, open source projects EU (OSP) and openforum europe (OFE).[35] One Australian organization is linux australia while Asia has open source asia and fossasia.[35] free and open source software for africa (FOSSFA) and openafrica are African organizations and Central and South Asia has such organizations as FLISOL and GRUP de usuarios de software libre peru.[35] Outside of these, many more organizations dedicated to the advancement of open source software exist.[35]

Legal and Economic Issues[edit]

Licensing[edit]

Main article: Open-source license

Further information: Free software license

See also: Free and open-source software § Licensing, and Software license  

FOSS products are generally licensed under two types of licenses: permissive licensing and copyleft licensing.[38] Both of these types of licenses are different than proprietary licensing in that they can allow more users access to the software and allow for the creation of derivative works as specified by the terms of the specific license, as each license has its own rules.[38] Permissive licenses allow recipients of the software to implement the author's copyright rights without having to use the same license for distribution.[38] Examples of this type of license include the BSD, MIT, and Apache licenses.[38] Copyleft licenses are different in that they require recipients to use the same license for at least some parts of the distribution of their works.[38] Strong copyleft licenses require all derivative works to use the same license while weak copyleft licenses require the use of the same license only under certain conditions.[38] Examples of this type of license include the GNU family of licenses, and the MPL and EPL licenses.[38] The similarities between these two categories of licensing include that they provide a broad grant of copyright rights, require that recipients preserve copyright notices, and that a copy of the license is provided to recipients with the code.[38]

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.[38] The ruling of this case cemented enforcement under copyright law when the conditions of the license were not followed.[38] Because of the similarity of the Artistic license to other open source software licenses, the ruling created a precedent that applied widely.[38]

Examples of free software license / open source licenses include Apache License, BSD license, GNU General Public License, GNU Lesser General Public License, MIT License, Eclipse Public License and Mozilla Public License.[38]

Legal Issues[edit]

Several gray areas exist within software regulation that have great impact on open source software, such as if software is a good or service, what can be considered a modification, governance through contract vs license, ownership and right of use.[38] While there have been developments on these issues, they often lead to even more questions.[38] The existence of these uncertainties in regulation has a negative impact on industries involved in technologies as a whole.[38]

Within the legal history of software as a whole, there was much debate on whether to protect it as intellectual property under patent law, copyright law or establishing a unique regulation.[38] Ultimately, copyright law became the standard with computer programs being considered a form of literary work, with some tweaks of unique regulation.[38]

Software is generally considered source code and object code, with both being protectable, though there is legal variety in this definition.[38] Some jurisdictions attempt to expand or reduce this conceptualization for their own purposes.[38] For example, The European Court of Justice defines a computer program as not including the functionality of a program, the programing language, or the format of data files.[38] By limiting protections of the different aspects of software, the law favors an open source approach to software use.[38] The US especially has an open approach to software, with most open-source licenses originating there.[38] However, this has increased the focus on patent rights within these licenses, which has seen backlash from the OSS community, who prefer other forms of IP protection.[38]

Another issue includes technological protection measures (TPM) and digital rights management (DRM) techniques which were internationally legally recognized and protected in the 1996 World Intellectual Property Organization (WIPO) Treaty.[38] Open source software proponents disliked these technologies as they constrained end-users potentially beyond copyright law.[38] Europe responded to such complaints by putting TPM under legal controls, representing a victory for OSS supporters.[38]

Economic/Business Implications[edit]

In open source communities, instead of owning the software produced, the producer owns the development of the evolving software.[39] In this way, the future of the software is open, making ownership or intellectual property difficult within OSS.[39] Licensing and branding can prevent others from stealing it, preserving its status as a public good.[39] Open source software can be considered a public good as it available to everyone and does not decrease in value for others when downloaded by one person.[39] Open source software is unique in that it becomes more valuable as it used and contributed to instead of diminishing the resource which is explained by concepts such as investment in reputation and network effects.[39]

The economic model of open source software can be explained as developers contribute work to projects, creating public benefits.[39] Developers choose projects based on the perceived benefits or costs, such as improved reputation or value of the project.[39] 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.[39]

Because economic theory mainly focuses on the consumption of scarce resources, the OSS dynamic can be hard to understand. In OSS, producers become consumers by reaping the rewards of contributing to a project.[39] For example, a developer becomes well regarded by their peers for a successful contribution to an OSS project.[39] The social benefits and interactions of OSS are difficult to account for in economic models as well.[39] Furthermore, the innovation of technology creates constantly changing value discussions and outlooks, making economic model unable to predict social behavior.[39]

Although OSS is theoretically challenging in economic models, it is explainable as a sustainable social activity that requires resources.[39] These resources include time, money, technology and contributions.[39] Many developers have used technology funded by organizations such as universities and governments, though these same organizations benefit from the work done by OSS.[39] As OSS grows, hybrid systems containing OSS and proprietary systems are becoming more common.[39]

Throughout the mid 2000s, more and more tech companies have begun to use OSS.[40] For example, Dell's move of selling computers with GNU/Linux already installed.[40] Microsoft itself has launched a Linux-based operating system despite previous animosity with the OSS movement.[40] Despite these developments, these companies tend to only use OSS for certain purposes, leading to worries that OSS is being taken advantage of by corporations and not given anything in return.[40]

Government Uses[edit]

While many governments are interested in implementing and promoting open-source software due to the many benefits provided, a huge issue to be considered is cybersecurity.[41] While accidental vulnerabilities are possible, so are attacks by outside agents.[41] Because of these fears, governmental interest in contributing to the governance of software has become more prominent.[41] 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.[41] 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.[41] These criteria include: if 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.[41]

Another issue for governments in regard to open source is their investments in technologies such as operating systems, semiconductors, cloud, and artificial intelligence.[41] These technologies all have implications for global cooperation, again opening up security issues and political consequences.[41] Many countries have to balance technological innovation with technological dependence in these partnerships.[41] 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.[41]

Sociological and demographic questions[edit]

Motivations[edit]

A question of frequent interest among researchers is what motivates writers of open-source software, a behavior that may be "seemingly irrational."[42] While some sociologists theorized that external motivations—such as "better jobs" and "career advancement"—were the primary drivers for open-source software developers, Lakhani and Wolf found that "enjoyment-based intrinsic motivation"—"how creative a person feels when working on the project" was the most important driver.[43]

Demographics[edit]

In a 2005 study, Ghosh posited that the vast majority of open-source software developers identified as male, finding it "unlikely" that the proportion of female developers in the committee was "much higher than 5-7 percent."[44] Additionally, Ghosh found that more than 60% of developers were between the ages of 16 and 25.

Open Software Movement[edit]

History[edit]

Further information: History of free and open-source software

In the early days of computing, such as the 1950s and into the 1960s, programmers and developers shared software to learn from each other and evolve the field of computing.[45] For example, Unix included the operating system source code for users.[45] Eventually, the commercialization of software in the years 1970–1980 began to prevent this practice.[45] However, academics still often developed software collaboratively.[45]

In response, the open source movement was born out of the work of skilled programmer enthusiasts, widely referred to as hackers or hacker culture.[46] One of these enthusiasts, Richard Stallman, was a driving force behind the free software movement, which would later allow for the open source movement.[46] 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.[46] GNU was UNIX compatible, meaning that the programmer enthusiasts would still be familiar with how it worked.[46] 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.[46] He later expanded this concept of freedom to the four essential freedoms.[46] Through GNU, open source norms of incorporating others' source code, community bug fixes and suggestions of code for new features appeared.[46] In 1985, Stallman founded the Free Software Foundation (FSF) to promote changes in software and to help write GNU.[46] 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.[46] To do this, he created the GNU General Public License (GNU GPL) in 1989, which was updated in 1991.[46] In 1991, GNU was combined with the Linux kernel written by Linus Torvalds, as a kernel was missing in GNU.[47] The operating system is now usually referred to as Linux.[46] Throughout this whole period, there were many other free software projects and licenses around at the time, all with different ideas of what the concept of free software was and should be, as well as the morality of proprietary software, such as Berkely Software Distribution, TeX, and the X Windows System.[48]

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.[48] 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.[48] The term open source was suggested by Christine Peterson in 1998 at a meeting of supporters of free software.[46] Many in the group felt the name free software was confusing to newcomers and holding back industry interest and they readily accepted the new designation of open source, creating the Open Source Initiative (OSI) and the OSI definition of what open source software is.[46] The Open Source Initiative's (OSI) definition is now recognized by several governments internationally as the standard or de facto definition.[47] The definition was based on the Debian Free Software Guidelines, written and adapted primarily by Bruce Perens.[49] 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.[46] 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, through there is much overlap between the two movements in terms of the operation of the software.[46]

While the Open Source Initiative sought to encourage the use of the new term and evangelize the principles it adhered to, commercial software vendors found themselves increasingly threatened by the concept of freely distributed software and universal access to an application's source code, with an executive of Microsoft calling open source an intellectual property destroyer in 2001.[50] However, while free and open-source software (FOSS) has historically played a role outside of mainstream private software development, companies as large as Microsoft have begun to develop official open source presences on the Internet.[50] IBM, Oracle, and State Farm are just a few of the companies with a serious public stake in today's competitive open source market, marking a significant shift in the corporate philosophy concerning the development of FOSS.[50]

Future[edit]

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.[40] 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.[40] 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 convivence over freedom in Ubuntu, and features within Ubuntu that track users for marketing purposes.[40]

The use of OSS has become more common in business with 78% of companies reporting that they run all or part of their operations on FOSS.[40] The popularity of OSS has risen to the point that Microsoft, a once detractor of OSS, has included its use in their systems.[40] However, this success has raised concerns that will determine the future of OSS as the community must answer questions such as what OSS is, what should it be, and what should be done to protect it, if it even needs protecting.[40] All in all, while the free and open source revolution has slowed to a perceived equilibrium in the market place, that does not mean it is over as many theoretical discussions must take place to determine its future.[40]

Comparisons with other software licensing/development models[edit]

Closed source / proprietary software[edit]

Main article: Comparison of open-source and closed-source software

Open source software differs from proprietary software in that it is publicly available, the license requires no fees, modifications and distributions are allowed under license specifications.[51] All of this works to prevent a monopoly on any OSS product, which is a goal of proprietary software.[51] Proprietary software limits their customers' choices to either committing to using that software, upgrading it or switching to other software, forcing customers to have their software preferences impacted by their monetary cost.[51] The ideal case scenario for the proprietary software vendor would be a lock-in, where the customer does not or cannot switch software due to these costs and continues to buy products from that vendor.[51]

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.[46] Additionally, proprietary software does not provide its source code and cannot be altered by users.[46] For businesses, this can pose a security risk and source of frustration, as they cannot specialize the product to their needs, and there may be hidden threats or information leaks within the software that they cannot access or change.[46]

Free Software[edit]

Main article: Alternative terms for free software

See also: Comparison of free and open-source software licenses

Under OSI's 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.[52] 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.[52]

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.[53] Although he agrees that the two terms describe almost the same category of software, Stallman considers equating the terms incorrect and misleading.[53] He believes that the main difference is that by choosing one term over the other lets others know about what one's goals are: development (open source) or a social stance (free software).[54] Nevertheless, there is significant overlap between open source software and free software.[53] Stallman also opposes the professed pragmatism of the Open Source Initiative, as he fears that the free software ideals of freedom and community are threatened by compromising on the FSF's idealistic standards for software freedom.[54] 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 how it restricts its users, and thus does not qualify as free software.[53]

The FSF said that the term open source fosters an ambiguity of a different kind such that it confuses the mere availability of the source with the freedom to use, modify, and redistribute it.[53] On the other hand, the term free software was criticized for the ambiguity of the word free, which was seen as discouraging for business adoption, and for the historical ambiguous usage of the term.[54]

Developers have used the alternative terms Free and Open Source Software (FOSS), or Free/Libre and Open Source Software (FLOSS), consequently, to describe open-source software that is also free software.[35]

Source-available software[edit]

Main article: Source-available software

Software can be distributed with source code, which is a code that is readable.[55] Software is source available when this source code is available to be seen.[55] However to be source available or FOSS, the source code does not need to be accessible to all, just the users of that software.[55] 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.[55] For example, if the software doesn't 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.[55]

Open-sourcing[edit]

A recent trend within software companies is open sourcing, or transitioning their previous proprietary software into open source software through releasing it under a open source license.[56][57] Examples of companies who have done this are Google, Microsoft and Apple.[56] Additionally, open sourcing can refer to programming open source software or installing open source software.[57] Open sourcing can be beneficial in multiple ways, such as attracting more external contributors who bring new perspectives and problem solving capabilities. [56] The downsides of open sourcing include the work that has to be done to maintaining the new community, such as making the base code easily understandable, setting up communication channels for new developers and creating documentation to allow new developers to easily join.[56] However, a review of several open sourced projects found that although a newly open sourced project attracts many newcomers, a great amount are likely to soon leave the project and their forks are also likely to not be impactful.[56]

Other[edit]

Other concepts that may share some similarities to open source are shareware, public domain software, freeware, and software viewers/readers that are freely available but do not provide source code.[46] However, these differ from open source software in access to source code, licensing, copyright and fees.[46]

Current applications and adoption[edit]

"We migrated key functions from Windows to Linux because we needed an operating system that was stable and reliable – one that would give us in-house control. So if we needed to patch, adjust, or adapt, we could."

Official statement of the United Space Alliance, which manages the computer systems for the International Space Station (ISS), regarding why they chose to switch from Windows to Debian GNU/Linux on the ISS[58][59]

Widely used open-source software[edit]

Open-source software projects are built and maintained by a network of programmers, who may often be volunteers, and are widely used in free as well as commercial products.[20] Prime examples of open-source products are the Apache HTTP Server, the e-commerce platform osCommerce, internet browsers Mozilla Firefox and Chromium (the project where the vast majority of development of the freeware Google Chrome is done) and the full office suite LibreOffice. One of the most successful open-source products is the Linux operating system, an open-source Unix-like operating system, and its derivative Android, an operating system for mobile devices.[60][61] In some industries, open-source software is common.[62]

Several widely used Python libraries are free and open-source software. These include TensorFlow, PyTorch, scikit-learn, NLTK, OpenCV.

Practical uses[edit]

Because open-source software generally allows for technology to be more affordable, digital solutions become accessible even in unanticipated fields such as precision agriculture.[63]

Extensions for non-software use[edit]

While the term "open source" applied originally only to the source code of software,[64] it is now being applied to many other areas[65] such as Open source ecology,[66] a movement to decentralize technologies so that any human can use them. However, it is often misapplied to other areas that have different and competing principles, which overlap only partially.

The same principles that underlie open-source software can be found in many other ventures, such as open-source hardware, Wikipedia, and open-access publishing. Collectively, these principles are known as open source, open content, and open collaboration:[67] "any system of innovation or production that relies on goal-oriented yet loosely coordinated participants, who interact to create a product (or service) of economic value, which they make available to contributors and non-contributors alike."[3]

This "culture" or ideology takes the view that the principles apply more generally to facilitate concurrent input of different agendas, approaches, and priorities, in contrast with more centralized models of development such as those typically used in commercial companies.[68]

See also[edit]

References[edit]

  1. ^ St. Laurent, Andrew M. (2008). Understanding Open Source and Free Software Licensing. O'Reilly Media. p. 4. ISBN 9780596553951. Archived from the original on 22 April 2023. Retrieved 21 March 2023.
  2. ^ Corbly, James Edward (25 September 2014). "The Free Software Alternative: Freeware, Open Source Software, and Libraries". Information Technology and Libraries. 33 (3): 65. doi:10.6017/ital.v33i3.5105. ISSN 2163-5226. Archived from the original on 1 May 2021. Retrieved 28 April 2021.
  3. ^ a b Levine, Sheen S.; Prietula, Michael J. (30 December 2013). "Open Collaboration for Innovation: Principles and Performance". Organization Science. 25 (5): 1414–1433. arXiv:1406.7541. doi:10.1287/orsc.2013.0872. ISSN 1047-7039. S2CID 6583883.
  4. ^ Rothwell, Richard (5 August 2008). "Creating wealth with free software". Free Software Magazine. Archived from the original on 8 September 2008. Retrieved 8 September 2008.
  5. ^ "Standish Newsroom — Open Source" (Press release). Boston: Standish Group. 16 April 2008. Archived from the original on 18 January 2012. Retrieved 8 September 2008.
  6. ^ "International Authority & Recognition". Opensource.org. 21 April 2015. Archived from the original on 23 July 2019. Retrieved 7 December 2017.
  7. ^ Perens, Bruce. Open Sources: Voices from the Open Source Revolution Archived 15 September 2014 at the Wayback Machine. O'Reilly Media. 1999.
  8. ^ Dibona, Chris; Ockman, Sam (January 1999). The Open Source Definition by Bruce Perens. O'Reilly. ISBN 978-1-56592-582-3.
  9. ^ "The Open Source Definition". 7 July 2006. Archived from the original on 15 October 2013. Retrieved 24 August 2008., The Open Source Definition according to the Open Source Initiative
  10. ^ "How Many Open Source Licenses Do You Need? – Slashdot". News.slashdot.org. 16 February 2009. Archived from the original on 17 July 2013. Retrieved 25 March 2012.
  11. ^ Open Source Initiative (24 July 2006). "The Open Source Definition (Annotated)". opensource.org. Archived from the original on 5 May 2021. Retrieved 22 July 2016.
  12. ^ Feller, Joseph; Fitzgerald, Brian; Hissam, Scott; Lakhani, Karim R. (2005). "Introduction". Perspectives on Free and Open Source Software. Cambridge, MA: The MIT Press. pp. xvii. ISBN 0-262-06246-1.
  13. ^ Tiemann, Michael. "History of the OSI". Open Source Initiative. Archived from the original on 24 September 2006. Retrieved 13 May 2014.
  14. ^ Stallman, Richard (16 June 2007). "Why "Open Source" misses the point of Free Software". Philosophy of the GNU Project. Free Software Foundation. Archived from the original on 4 August 2011. Retrieved 23 July 2007. As the advocates of open source draw new users into our community, we free software activists have to work even more to bring the issue of freedom to those new users' attention. We have to say, 'It's free software and it gives you freedom!'—more and louder than ever. Every time you say 'free software' rather than 'open source,' you help our campaign.
  15. ^ Stallman, Richard (19 June 2007). "Why "Free Software" is better than "Open Source"". Philosophy of the GNU Project. Free Software Foundation. Archived from the original on 27 March 2021. Retrieved 23 July 2007. Sooner or later these users will be invited to switch back to proprietary software for some practical advantage. Countless companies seek to offer such temptation, and why would users decline? Only if they have learned to value the freedom free software gives them, for its own sake. It is up to us to spread this idea—and in order to do that, we have to talk about freedom. A certain amount of the 'keep quiet' approach to business can be useful for the community, but we must have plenty of freedom talk too.
  16. ^ Stallman, Richard (16 June 2007). "Why "Open Source" misses the point of Free Software". Philosophy of the GNU Project. Free Software Foundation. Archived from the original on 4 August 2011. Retrieved 23 July 2007. Under the pressure of the movie and record companies, software for individuals to use is increasingly designed specifically to restrict them. This malicious feature is known as DRM or Digital Restrictions Management (see DefectiveByDesign.org), and it is the antithesis in spirit of the freedom that free software aims to provide. [...] Yet some open source supporters have proposed 'open source DRM' software. Their idea is that by publishing the source code of programs designed to restrict your access to encrypted media, and allowing others to change it, they will produce more powerful and reliable software for restricting users like you. Then it will be delivered to you in devices that do not allow you to change it. This software might be 'open source,' and use the open source development model; but it won't be free software since it won't respect the freedom of the users that actually run it. If the open source development model succeeds in making this software more powerful and reliable for restricting you, that will make it even worse.
  17. ^ Rosen, Lawrence. "Joint Works – Open Source Licensing: Software Freedom and Intellectual Property Law". flylib.com. Archived from the original on 9 August 2016. Retrieved 22 July 2016.
  18. ^ Andrew T. Pham, Verint Systems Inc., and Matthew B. Weinstein and Jamie L. Ryerson. "Easy as ABC: Categorizing Open Source Licenses Archived 8 November 2012 at the Wayback Machine"; www.IPO.org. June 2010.
  19. ^ Shiels, Maggie (14 August 2008). "Legal milestone for open source". BBC News. Archived from the original on 1 September 2008. Retrieved 15 August 2008.
  20. ^ a b Popp, Karl Michael (2015). Best Practices for commercial use of open source software. Norderstedt, Germany: Books on Demand. ISBN 978-3738619096.
  21. ^ a b c d e f g h i Raymond, Eric (3 October 2005). "The Cathedral and the Bazaar (originally published in Volume 3, Number 3, March 1998)". First Monday. doi:10.5210/fm.v0i0.1472. ISSN 1396-0466.
  22. ^ a b c d e f g h i j k l m n o p q Robles, Gregorio (2006). "Empirical Software Engineering Research on Free/Libre/Open Source Software". 2006 22nd IEEE International Conference on Software Maintenance. pp. 347–350. doi:10.1109/icsm.2006.25. ISBN 0-7695-2354-4. S2CID 6589566. Retrieved 21 November 2023.
  23. ^ a b c d e f g h i j k Napoleao, Bianca M.; Petrillo, Fabio; Halle, Sylvain (2020). "Open Source Software Development Process: A Systematic Review". 2020 IEEE 24th International Enterprise Distributed Object Computing Conference (EDOC). IEEE. pp. 135–144. arXiv:2008.05015. doi:10.1109/EDOC49727.2020.00025. ISBN 978-1-7281-6473-1.
  24. ^ US Department of Defense. "Open Source Software FAQ". Chief Information Officer. Archived from the original on 28 August 2016. Retrieved 22 July 2016.
  25. ^ Sharma, Srinarayan; Vijayan Sugumaran; Balaji Rajagopalan (2002). "A framework for creating hybrid-open source software communities" (PDF). Information Systems Journal. 12: 7–25. doi:10.1046/j.1365-2575.2002.00116.x. S2CID 5815589. Archived (PDF) from the original on 30 October 2008. Retrieved 8 September 2008.
  26. ^ Landry, John; Rajiv Gupta (September 2000). "Profiting from Open Source". Harvard Business Review. doi:10.1225/F00503 (inactive 31 January 2024).{{cite journal}}: CS1 maint: DOI inactive as of January 2024 (link)
  27. ^ Reynolds, Carl; Jeremy Wyatt (February 2011). "Open Source, Open Standards, and Health Care Information Systems". Journal of Medical Internet Research. 13 (1): e24. doi:10.2196/jmir.1521. PMC 3221346. PMID 21447469.
  28. ^ Nagle, Frank (3 March 2019). "Government Technology Policy, Social Value, and National Competitiveness" (PDF). Information Systems Journal. 12. doi:10.2139/ssrn.3355486. S2CID 85509685. SSRN 3355486.
  29. ^ Plotkin, Hal (December 1998). "What (and Why) you should know about open-source software". Harvard Management Update: 8–9.
  30. ^ Payne, Christian (February 2002). "On the Security of Open Source Software". Information Systems Journal. 12 (1): 61–78. doi:10.1046/j.1365-2575.2002.00118.x. S2CID 8123076.
  31. ^ a b c Boldyreff, Cornelia; Lavery, Janet; Nutter, David; Rank, Stephen. "Open Source Development Processes and Tools" (PDF). Flosshub. Archived from the original (PDF) on 7 October 2016. Retrieved 22 July 2016.
  32. ^ Stansberry, Glen (18 September 2008). "7 Version Control Systems Reviewed – Smashing Magazine". Smashing Magazine. Archived from the original on 9 May 2015. Retrieved 22 July 2016.
  33. ^ a b Frantzell, Lennart (18 July 2016). "GitHub, Launchpad and BitBucket, how today's distributed version control systems are fueling the unprecendented global open source revolution". IBM developerworks. Archived from the original on 19 August 2016. Retrieved 22 July 2016.
  34. ^ Baker, Jason. "Top 4 open source issue tracking tools". opensource.com. Archived from the original on 31 July 2016. Retrieved 22 July 2016.
  35. ^ a b c d e f g h i j k l m n o Brasseur, V. M. (2018). Forge your future with open source: build your skills, build your network, build the future of technology. The pragmatic programmers. Raleigh, North Carolina: The Pragmatic Bookshelf. ISBN 978-1-68050-301-2.
  36. ^ a b c d Spinellis, Diomidis; Giannikas, Vaggelis (2012). "Organizational adoption of open source software". Journal of Systems and Software. 85 (3): 666–682. doi:10.1016/j.jss.2011.09.037.
  37. ^ Zhang, Yiming; Malhotra, Baljeet; Chen, Cheng (2018). "Industry-Wide Analysis of Open Source Security". 2018 16th Annual Conference on Privacy, Security and Trust (PST). IEEE: 1–10. doi:10.1109/PST.2018.8514185. ISBN 978-1-5386-7493-2.
  38. ^ a b c d e f g h i j k l m n o p q r s t u v w x y z Brock, Amanda (2023). Open Source Law, Policy and Practice (2nd ed.). UK: Oxford University Press. ISBN 9780198862345.
  39. ^ a b c d e f g h i j k l m n o p Wynants, M., & Cornelis, J. (Eds.). (2005). How open is the future? : Economic, social and cultural scenarios inspired by free and open-source software. ASP.
  40. ^ a b c d e f g h i j k Tozzi, Christopher (2017). For Fun and Profit: A History of the Free and Open Source Software Revolution. United States: MIT Press. ISBN 9780262341189.
  41. ^ a b c d e f g h i j Pannier, Alice (2022). Software Power: The Economic and Geopolitical Implications of Open Source Software. Études de l’Ifri. ISBN 9791037306418.
  42. ^ Feller, Joseph; Fitzgerald, Brian; Hissam, Scott; Lakhani, Karim R. (2005). "Introduction". Perspectives on Free and Open Source Software. Cambridge, MA: The MIT Press. pp. xix.
  43. ^ Lakhani, Karim R.; Wolf, Robert G. (2005). "Why Hackers Do What They Do: Understanding Motivation and Effort in Free/Open Source Software Projects". In Feller, Joseph (ed.). Perspectives on Free and Open Source Software. The MIT Press. p. 3. ISBN 0-262-06246-1.
  44. ^ Ghosh, Rishab Aiyer (2005). "Understanding Free Software Developers: Findings from the FLOSS Study". In Feller, Joseph (ed.). Perspectives on Free and Open Source Software. Cambridge, MA: The MIT Press. p. 31. ISBN 0-262-06246-1.
  45. ^ a b c d Maracke, Catharina (2019). "Free and Open Source Software and FRAND-based patent licenses: How to mediate between Standard Essential Patent and Free and Open Source Software". The Journal of World Intellectual Property. 22 (3–4): 78–102. doi:10.1111/jwip.12114. ISSN 1422-2213.
  46. ^ a b c d e f g h i j k l m n o p q r s t Bretthauer, David (2001). "Open Source Software: A History". Information Technology and Libraries. 21 (1).
  47. ^ a b "International Authority & Recognition". Open Source Initiative. 21 April 2015. Retrieved 18 December 2023.
  48. ^ a b c Fogel, Karl (2006). Producing open source software: how to run a successful free software project (1. Aufl., [Nachdr.] ed.). Beijing Köln: O'Reilly. ISBN 978-0-596-00759-1.
  49. ^ Kelty, Christopher (2008). Two Bits: The Cultural Significance of Free Software. Duke University Press. ISBN 978-0-8223-8900-2.
  50. ^ a b c Miller, Keith W.; Voas, Jeffrey; Costello, Tom (2010). "Free and Open Source Software". IT Professional. 12 (6): 14–16. doi:10.1109/mitp.2010.147. ISSN 1520-9202. S2CID 265508713.
  51. ^ a b c d Zhu, Kevin Xiaoguo; Zhou, Zach Zhizhong (2012). "Research Note —Lock-In Strategy in Software Competition: Open-Source Software vs. Proprietary Software". Information Systems Research. 23 (2): 536–545. doi:10.1287/isre.1110.0358. ISSN 1047-7047.
  52. ^ a b "The Open Source Definition (Annotated)". Open Source Initiative. 24 July 2006. Retrieved 18 December 2023.
  53. ^ a b c d e Stallman, Richard (2007). "Why Open Source Misses the Point of Free Software".
  54. ^ a b c Stallman, Richard M.; Gay, Joshua (2002). Free software, free society. Boston (Mass.): Free software foundation. ISBN 978-1-882114-98-6.
  55. ^ a b c d e Fortunato, Laura; Galassi, Mark (17 May 2021). "The case for free and open source software in research and scholarship". Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences. 379 (2197). Bibcode:2021RSPTA.37900079F. doi:10.1098/rsta.2020.0079. ISSN 1364-503X. PMID 33775148. S2CID 232387092.
  56. ^ a b c d e Pinto, Gustavo; Steinmacher, Igor; Dias, Luiz Felipe; Gerosa, Marco (2018). "On the challenges of open-sourcing proprietary software projects". Empirical Software Engineering. 23 (6): 3221–3247. doi:10.1007/s10664-018-9609-6. ISSN 1382-3256. S2CID 254467440.
  57. ^ a b Ågerfalk; Fitzgerald (2008). "Outsourcing to an Unknown Workforce: Exploring Opensurcing as a Global Sourcing Strategy". MIS Quarterly. 32 (2): 385. doi:10.2307/25148845. ISSN 0276-7783. JSTOR 25148845.
  58. ^ Gunter, Joel (10 May 2013). "International Space Station to boldly go with Linux over Windows". The Telegraph. Archived from the original on 11 January 2022.
  59. ^ Bridgewater, Adrian (13 May 2013). "International Space Station adopts Debian Linux, drops Windows & Red Hat into airlock". Computer Weekly. Archived from the original on 24 June 2015. Retrieved 7 December 2017.
  60. ^ Michael J. Gallivan, "Striking a Balance Between Trust and Control in a Virtual Organization: A Content Analysis of Open Source Software Case Studies", Info Systems Journal 11 (2001): 277–304
  61. ^ Hal Plotkin, "What (and Why) you should know about open source software" Harvard Management Update 12 (1998): 8–9
  62. ^ Noyes, Katherine (18 May 2011). "Open Source Software Is Now a Norm in Businesses". PCWorld. Archived from the original on 27 May 2016. Retrieved 22 July 2016.
  63. ^ dos Santos, Rogério P.; Fachada, Nuno; Beko, Marko; Leithardt, Valderi R. Q. (April 2023). "A Rapid Review on the Use of Free and Open Source Technologies and Software Applied to Precision Agriculture Practices". Journal of Sensor and Actuator Networks. 12 (2): 28. doi:10.3390/jsan12020028. hdl:10437/13743. ISSN 2224-2708.
  64. ^ Stallman, Richard (24 September 2007). "Why "Open Source" misses the point of Free Software". Philosophy of the GNU Project. Free Software Foundation. Archived from the original on 4 August 2011. Retrieved 6 December 2007. However, not all of the users and developers of free software agreed with the goals of the free software movement. In 1998, a part of the free software community splintered off and began campaigning in the name of 'open source.' The term was originally proposed to avoid a possible misunderstanding of the term 'free software,' but it soon became associated with philosophical views quite different from those of the free software movement.
  65. ^ "What is open source?". Archived from the original on 7 January 2018. Retrieved 29 July 2013.
  66. ^ "Open Source Ecology". Archived from the original on 3 January 2010. Retrieved 23 November 2009. ...building the world's first replicable open source self-sufficient decentralized high-appropriate-tech permaculture ecovillage...
  67. ^ "Open Collaboration Bitcoin". Informs.org. 2 January 2014. Archived from the original on 2 August 2016. Retrieved 30 March 2015.
  68. ^ Raymond, Eric S. The Cathedral and the Bazaar. ed 3.0. 2000.

Further reading[edit]

External links[edit]