Free and open-source software

Software whose source code is available and which is permissively licensed

Free and open-source software (FOSS) is software that can be classified as both free software and open-source software.[a] That is, anyone is freely licensed to use, copy, study, and change the software in any way, and the source code is openly shared so that people are encouraged to voluntarily improve the design of the software.[3] This is in contrast to proprietary software, where the software is under restrictive copyright licensing and the source code is usually hidden from the users.

FOSS maintains the software user's civil liberty rights (see the Four Essential Freedoms, below). Other benefits of using FOSS can include decreased software costs, increased security and stability (especially in regard to malware), protecting privacy, education, and giving users more control over their own hardware. Free and open-source operating systems such as Linux and descendants of BSD are widely utilized today, powering millions of servers, desktops, smartphones (e.g., Android), and other devices.[4][5] Free-software licenses and open-source licenses are used by many software packages. The free-software movement and the open-source software movement are online social movements behind widespread production and adoption of FOSS.

"Free and open-source software" (FOSS) is an umbrella term for software that is simultaneously considered both Free software and open-source software. FOSS (free and open-source software) allows the user to inspect the source code and provides a high level of control of the software's functions compared to proprietary software. The term "free software" does not refer to the monetary cost of the software at all, but rather whether the license maintains the software user's civil liberties ("free” as in “free speech,” not as in “free beer”).[3] There are a number of related terms and abbreviations for free and open-source software (FOSS or F/OSS), or free/libre and open-source software (FLOSS or F/LOSS—FLOSS is the FSF-preferred term).[6]

Although there is almost a complete overlap between free-software licenses and open-source-software licenses, there is a strong philosophical disagreement between the advocates of these two positions. The terminology of FOSS or "Free and Open-source software" was created to be a neutral on these philosophical disagreements between the FSF and OSI and have a single unified term that could refer to both concepts.[7]

Richard Stallman's Free Software Definition, adopted by the Free Software Foundation (FSF), defines free software as a matter of liberty not price,[8] and it upholds the Four Essential Freedoms. The earliest-known publication of the definition of his free-software idea was in the February 1986 edition[9] of the FSF's now-discontinued GNU's Bulletin publication. The canonical source for the document is in the philosophy section of the GNU Project website. As of August 2017, it is published in 40 languages.[10]

To meet the definition of "free software", the FSF requires the software's licensing respect the civil liberties / human rights of what the FSF calls the software user's "Four Essential Freedoms".[11]

The Open Source Definition is used by the Open Source Initiative (OSI) to determine whether a software license qualifies for the organization's insignia for Open-source software. The definition was based on the Debian Free Software Guidelines, written and adapted primarily by Bruce Perens.[12][13] Perens did not base his writing on the Four Essential Freedoms of free software from the Free Software Foundation, which were only later available on the web.[14] Perens subsequently stated that he felt Eric Raymond's promotion of Open-source unfairly overshadowed the Free Software Foundation's efforts and reaffirmed his support for Free software.[15] In the following 2000s, he spoke about open source again.[16][17]

From the 1950s and on through the 1980s, it was common for computer users to have the source code for all programs they used, and the permission and ability to modify it for their own use. Software, including source code, was commonly shared by individuals who used computers, often as public domain software.[18] Most companies had a business model based on hardware sales, and provided or bundled software with hardware, free of charge.[19]

By the late 1960s, the prevailing business model around software was changing. A growing and evolving software industry was competing with the hardware manufacturer's bundled software products; rather than funding software development from hardware revenue, these new companies were selling software directly. Leased machines required software support while providing no revenue for software, and some customers who were able to better meet their own needs did not want the costs of software bundled with hardware product costs. In United States vs. IBM, filed January 17, 1969, the government charged that bundled software was anticompetitive.[20] While some software was still being provided without monetary cost and license restriction, there was a growing amount of software that was only at a monetary cost with restricted licensing. In the 1970s and early 1980s, some parts of the software industry began using technical measures (such as distributing only binary copies of computer programs) to prevent computer users from being able to use reverse engineering techniques to study and customize software they had paid for. In 1980, the copyright law was extended to computer programs in the United States[21]—previously, computer programs could be considered ideas, procedures, methods, systems, and processes, which are not copyrightable.[22][23]

Early on, closed-source software was uncommon until the mid-1970s to the 1980s, when IBM implemented in 1983 an "object code only" policy, no longer distributing source code.[24][25][26]

In 1983, Richard Stallman, longtime member of the hacker community at the MIT Artificial Intelligence Laboratory, announced the GNU project, saying that he had become frustrated with the effects of the change in culture of the computer industry and its users.[27] Software development for the GNU operating system began in January 1984, and the Free Software Foundation (FSF) was founded in October 1985. An article outlining the project and its goals was published in March 1985 titled the GNU Manifesto. The manifesto included significant explanation of the GNU philosophy, Free Software Definition and "copyleft" ideas. The FSF takes the position that the fundamental issue Free software addresses is an ethical one—to ensure software users can exercise what it calls "The Four Essential Freedoms".[3]

The Linux kernel, created by Linus Torvalds, was released as freely modifiable source code in 1991. Initially, Linux was not released under either a Free software or an Open-source software license. However, with version 0.12 in February 1992, he relicensed the project under the GNU General Public License.[28]

FreeBSD and NetBSD (both derived from 386BSD) were released as Free software when the USL v. BSDi lawsuit was settled out of court in 1993. OpenBSD forked from NetBSD in 1995. Also in 1995, The Apache HTTP Server, commonly referred to as Apache, was released under the Apache License 1.0.

In 1997, Eric Raymond published The Cathedral and the Bazaar, a reflective analysis of the hacker community and Free software principles. The paper received significant attention in early 1998, and was one factor in motivating Netscape Communications Corporation to release their popular Netscape Communicator Internet suite as Free software. This code is today better known as Mozilla Firefox and Thunderbird.

Netscape's act prompted Raymond and others to look into how to bring the FSF's Free software ideas and perceived benefits to the commercial software industry. They concluded that FSF's social activism was not appealing to companies like Netscape, and looked for a way to rebrand the Free software movement to emphasize the business potential of sharing and collaborating on software source code. The new name they chose was "Open-source", and quickly Bruce Perens, publisher Tim O'Reilly, Linus Torvalds, and others signed on to the rebranding. The Open Source Initiative was founded in February 1998 to encourage the use of the new term and evangelize open-source principles.[29]

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. A Microsoft executive publicly stated in 2001 that "Open-source is an intellectual property destroyer. I can't imagine something that could be worse than this for the software business and the intellectual-property business."[30] This view perfectly summarizes the initial response to FOSS by some software corporations.[citation needed] For many years FOSS played a niche role outside of the mainstream of private software development. However the success of FOSS Operating Systems such as Linux, BSD and the companies based on FOSS such as Red Hat, has changed the software industry's attitude and there has been a dramatic shift in the corporate philosophy concerning the development of Free and Open-source software (FOSS).[31]

Users of FOSS benefit from the Four Essential Freedoms to make unrestricted use of, and to study, copy, modify, and redistribute such software with or without modification. If they would like to change the functionality of software they can bring about changes to the code and, if they wish, distribute such modified versions of the software or often − depending on the software's decision making model and its other users − even push or request such changes to be made via updates to the original software.[32][33][34][35][36]

Manufacturers of proprietary, closed-source software are sometimes pressured to building in backdoors or other covert, undesired features into their software.[37][38][39][40] Instead of having to trust software vendors, users of FOSS can inspect and verify the source code themselves and can put trust on a community of volunteers and users.[36] As proprietary code is typically hidden from public view, only the vendors themselves and hackers may be aware of any vulnerabilities in them[36] while FOSS involves as many people as possible for exposing bugs quickly.[41][42]

FOSS is often free of charge although donations are often encouraged. This also allows users to better test and compare software.[36]

FOSS allows for better collaboration among various parties and individuals with the goal of developing the most efficient software for its users or use-cases while proprietary software is typically meant to generate profits. Furthermore, in many cases more organizations and individuals contribute to such projects than to proprietary software.[36] It has been shown that technical superiority is typically the primary reason why companies choose open source software.[36]

According to Linus's law the more people who can see and test a set of code, the more likely any flaws will be caught and fixed quickly. However, this does not guarantee a high level of participation. Having a grouping of full-time professionals behind a commercial product can in some cases be superior to FOSS.[36][41][43]

Furthermore, publicized source code might make it easier for hackers to find vulnerabilities in it and write exploits. This however assumes that such malicious hackers are more effective than white hat hackers which responsibly disclose or help fix the vulnerabilities, that no code leaks or exfiltrations occur and that reverse engineering of proprietary code is a hindrance of significance for malicious hackers.[41]

Sometimes, FOSS is not compatible with proprietary hardware or specific software. This is often due to manufacturers obstructing FOSS such as by not disclosing the interfaces or other specifications needed for members of the FOSS movement to write drivers for their hardware − for instance as they wish customers to run only their own proprietary software or as they might benefit from partnerships.[44][45][46][47][48][49][50][additional citation(s) needed]

While FOSS can be superior to proprietary equivalents in terms of software features and stability, in many cases FOSS has more unfixed bugs and missing features when compared to similar commercial software.[51][additional citation(s) needed] This varies per case and usually depends on the level of interest and participation in a FOSS project. Furthermore, unlike with typical commercial software, missing features and bugfixes can be implemented by any party that has the relevant motivation, time and skill to do so.[43][additional citation(s) needed]

There is often less certainty in FOSS projects gaining the required resources / participation for continued development than commercial software backed by companies.[52][additional citation(s) needed] However companies also often abolish projects for being unprofitable and often large companies rely on and hence co-develop open source software.[42]

As the FOSS operating system distributions of Linux has a lower market share of end users there are also fewer applications available.[53][54]

"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 Linux on the ISS.[82][83]

In 2017, the European Commission stated that "EU institutions should become open source software users themselves, even more than they already are" and listed open source software as one of the nine key drivers of innovation, together with big data, mobility, cloud computing and the internet of things.[84]

While copyright is the primary legal mechanism that FOSS authors use to ensure license compliance for their software, other mechanisms such as legislation, patents, and trademarks have implications as well. In response to legal issues with patents and the Digital Millennium Copyright Act (DMCA), the Free Software Foundation released version 3 of its GNU Public License in 2007 that explicitly addressed the DMCA and patent rights.

After the development of the GNU GPLv3 in 2007, the FSF (as the copyright holder of many pieces of the GNU system) updated many[citation needed] of the GNU programs' licenses from GPLv2 to GPLv3. On the other hand, the adoption of the new GPL version was heavily discussed in the FOSS ecosystem,[85] several projects decided against upgrading. For instance the Linux kernel,[86][87] the BusyBox[88][89] project, AdvFS,[90] Blender,[91] and the VLC media player decided against adopting the GPLv3.[92]

Apple, a user of GCC and a heavy user of both DRM and patents, switched the compiler in its Xcode IDE from GCC to Clang, which is another FOSS compiler[93] but is under a permissive license.[94] LWN speculated that Apple was motivated partly by a desire to avoid GPLv3.[93] The Samba project also switched to GPLv3, so Apple replaced Samba in their software suite by a closed-source, proprietary software alternative.[95]

Leemhuis criticizes the prioritization of skilled developers who − instead of fixing issues in already popular open-source applications and desktop environments − create new, mostly redundant software to gain fame and fortune.[96]

He also criticizes notebook manufacturers for optimizing their own products only privately or creating workarounds instead of helping fix the actual causes of the many issues with Linux on notebooks such as the unnecessary power consumption.[96]

Mergers have affected major open-source software. Sun Microsystems (Sun) acquired MySQL AB, owner of the popular open-source MySQL database, in 2008.[97]

Oracle in turn purchased Sun in January, 2010, acquiring their copyrights, patents, and trademarks. Thus, Oracle became the owner of both the most popular proprietary database and the most popular open-source database. Oracle's attempts to commercialize the open-source MySQL database have raised concerns in the FOSS community.[98] Partly in response to uncertainty about the future of MySQL, the FOSS community forked the project into new database systems outside of Oracle's control. These include MariaDB, Percona, and Drizzle.[99] All of these have distinct names; they are distinct projects and cannot use the trademarked name MySQL.[100]

In August, 2010, Oracle sued Google, claiming that its use of Java in Android infringed on Oracle's copyrights and patents. The Oracle v. Google case ended in May 2012, with the finding that Google did not infringe on Oracle's patents, and the trial judge ruled that the structure of the Java APIs used by Google was not copyrightable. The jury found that Google infringed a small number of copied files, but the parties stipulated that Google would pay no damages.[101] Oracle appealed to the Federal Circuit, and Google filed a cross-appeal on the literal copying claim.[102]

By defying ownership regulations in the construction and use of information − a key area of contemporary growth − the Free/Open Source Software (FOSS) movement counters neoliberalism and privatization in general.[103]

By realizing the historical potential of an "economy of abundance" for the new digital world FOSS may lay down a plan for political resistance or show the way towards a potential transformation of capitalism.[103]

According to Yochai Benkler, Jack N. and Lillian R. Berkman Professor for Entrepreneurial Legal Studies at Harvard Law School, free software is the most visible part of a new economy of commons-based peer production of information, knowledge, and culture. As examples, he cites a variety of FOSS projects, including both free software and open-source.[104]