In
software development
Software development is the process of designing and Implementation, implementing a software solution to Computer user satisfaction, satisfy a User (computing), user. The process is more encompassing than Computer programming, programming, wri ...
, Linus's law is the assertion that "given enough eyeballs, all
bugs are shallow".
The law was formulated by
Eric S. Raymond in his essay and book ''
The Cathedral and the Bazaar
''The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary'' (abbreviated ''CatB'') is an essay, and later a book, by Eric S. Raymond on software engineering methods, based on his observations of the Linux ...
'' (1999), and was named in honor of
Linus Torvalds
Linus Benedict Torvalds ( , ; born 28 December 1969) is a Finnish software engineer who is the creator and lead developer of the Linux kernel. He also created the distributed version control system Git.
He was honored, along with Shinya Yam ...
.
A more formal statement is: "Given a large enough
beta-tester and co-
developer base, almost every problem will be characterized quickly and the fix obvious to someone." Presenting the code to multiple developers with the purpose of reaching consensus about its acceptance is a simple form of
software review
Software consists of computer programs that instruct the execution of a computer. Software also includes design documents and specifications.
The history of software is closely tied to the development of digital computers in the mid-20th ce ...
ing. Researchers and practitioners have repeatedly shown the effectiveness of reviewing processes in finding bugs and security issues.
Validity
In ''Facts and Fallacies about Software Engineering,''
Robert Glass refers to the law as a "mantra" of the
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
movement, but calls it a fallacy due to the lack of supporting evidence and because research has indicated that the rate at which additional bugs are uncovered does not scale linearly with the number of reviewers; rather, there is a small maximum number of useful reviewers, between two and four, and additional reviewers above this number uncover bugs at a much lower rate. While closed-source practitioners also promote stringent, independent
code analysis during a software project's development, they focus on in-depth review by a few and not primarily the number of "eyeballs".
The persistence of the
Heartbleed
Heartbleed is a security bug in some outdated versions of the OpenSSL cryptography library, which is a widely used implementation of the Transport Layer Security (TLS) protocol. It was introduced into the software in 2012 and publicly disclos ...
security bug in a critical piece of code for two years has been considered as a refutation of Raymond's dictum.
Larry Seltzer suspects that the availability of source code may cause some developers and researchers to perform less extensive tests than they would with
closed source
Proprietary software is software that grants its creator, publisher, or other rightsholder or rightsholder partner a legal monopoly by modern copyright and intellectual property law to exclude the recipient from freely sharing the software or modi ...
software, making it easier for bugs to remain.
In 2015, the
Linux Foundation
The Linux Foundation (LF) is a non-profit organization established in 2000 to support Linux development and open-source software projects.
Background
The Linux Foundation started as Open Source Development Labs in 2000 to standardize and prom ...
's executive director Jim Zemlin argued that the complexity of modern software has increased to such levels that specific resource allocation is desirable to improve its security. Regarding some of 2014's largest global open source
software vulnerabilities, he says, "In these cases, the eyeballs weren't really looking".
Large scale experiments or peer-reviewed surveys to test how well the mantra holds in practice have not been performed.
Empirical support of the validity of Linus's law
was obtained by comparing popular and unpopular projects of the same organization. Popular projects are projects with the top 5% of
GitHub
GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
stars (7,481 stars or more). Bug identification was measured using the corrective commit probability, the ratio of commits determined to be related to fixing bugs. The analysis showed that popular projects had a higher ratio of bug fixes (e.g., Google's popular projects had a 27% higher bug fix rate than Google's less popular projects). Since it is unlikely that Google lowered its code quality standards in more popular projects, this is an indication of increased bug detection efficiency in popular projects.
See also
*
Code audit
A software code audit is a comprehensive analysis of source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to co ...
*
Crowdsourcing
Crowdsourcing involves a large group of dispersed participants contributing or producing goods or services—including ideas, votes, micro-tasks, and finances—for payment or as volunteers. Contemporary crowdsourcing often involves digit ...
*
List of eponymous laws
*
Software peer review
*
Wisdom of the crowd
"Wisdom of the crowd" or "wisdom of the majority" expresses the notion that the collective opinion of a diverse and independent group of individuals (rather than that of a single expert) yields the best judgement. This concept, while not new to ...
*
XZ Utils backdoor
References
Further reading
*
{{Computer laws
Computer architecture statements
Computer-related introductions in 1999
Computing culture
Free software culture and documents
Linus Torvalds
Linux