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 kernel development process and his experiences managing an open source project, fetchmail. It examines the struggle between top-down and bottom-up design. The essay was first presented by the author at the Linux Kongress on May 27, 1997 in Würzburg (Germany) and was published as the second chapter of the sametitled book in 1999. The illustration on the cover of the book is a 1913 painting by Liubov Popova titled ''Composition with Figures'' and belongs to the collection of the State Tretyakov Gallery. The book was released under the Open Publication License v2.0 in 1999. "The Cathedral and the Bazaar" The essay contrasts two different free software development models: * The ''Cathedral'' model, in which source code is available with each ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Eric S
The given name Eric, Erich, Erikk, Erik, Erick, or Eirik is derived from the Old Norse name ''Eiríkr'' (or ''Eríkr'' in Old East Norse due to monophthongization). The first element, ''ei-'' may be derived from the older Proto-Norse language, Proto-Norse ''*wikt:Reconstruction:Proto-Germanic/ainaz, aina(z)'', meaning "one, alone, unique", ''as in the form'' ''Æ∆inrikr'' explicitly, but it could also be from ''*wikt:Reconstruction:Proto-Germanic/aiwaz, aiwa(z)'' "everlasting, eternity", as in the Gothic form ''Euric''. The second element ''-wikt:ríkr, ríkr'' stems either from Proto-Germanic language, Proto-Germanic ''*wikt:Reconstruction:Proto-Germanic/rīks, ríks'' "king, ruler" (cf. Gothic ''wikt:𐍂𐌴𐌹𐌺𐍃, reiks'') or the therefrom derived ''*wikt:Reconstruction:Proto-Germanic/rīkijaz, ríkijaz'' "kingly, powerful, rich, prince"; from the common Proto-Indo-European language, Proto-Indo-European root *wikt:Reconstruction:Proto-Indo-European/h₃rḗǵs, h ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
GNU Emacs
GNU Emacs is a free software text editor. It was created by GNU Project founder Richard Stallman, based on the Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU project and a flagship project of the free software movement. Its name has occasionally been shortened to GNUMACS. The tag line for GNU Emacs is "the extensible self-documenting text editor". History In 1976, Stallman wrote the first Emacs (“Editor MACroS”), and in 1984, began work on GNU Emacs, to produce a free software alternative to the proprietary Gosling Emacs. GNU Emacs was initially based on Gosling Emacs, but Stallman's replacement of its Mocklisp interpreter with a true Lisp interpreter required that nearly all of its code be rewritten. This became the first program released by the nascent GNU Project. GNU Emacs is written in C and provides Emacs Lisp, also implemented in C, as an extension language. Version 13, the first public release, was made on Mar ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Syntactic Sugar
In computer science, syntactic sugar is syntax within a programming language that is designed to make things easier to read or to express. It makes the language "sweeter" for human use: things can be expressed more clearly, more concisely, or in an alternative style that some may prefer. Syntactic sugar is usually a shorthand for a common operation that could also be expressed in an alternate, more verbose, form: The programmer has a choice of whether to use the shorter form or the longer form, but will usually use the shorter form since it is shorter and easier to type and read. For example, many programming languages provide special syntax for referencing and updating array elements. Abstractly, an array reference is a procedure of two arguments: an array and a subscript vector, which could be expressed as get_array(Array, vector(i,j)). Instead, many languages provide syntax such as Array ,j/code>. Similarly an array element update is a procedure consisting of three arguments, for ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Turing Completeness
In computability theory, a system of data-manipulation rules (such as a computer's instruction set, a programming language, or a cellular automaton) is said to be Turing-complete or computationally universal if it can be used to simulate any Turing machine (devised by English mathematician and computer scientist Alan Turing). This means that this system is able to recognize or decide other data-manipulation rule sets. Turing completeness is used as a way to express the power of such a data-manipulation rule set. Virtually all programming languages today are Turing-complete. A related concept is that of Turing equivalence two computers P and Q are called equivalent if P can simulate Q and Q can simulate P. The Church–Turing thesis conjectures that any function whose values can be computed by an algorithm can be computed by a Turing machine, and therefore that if any real-world computer can simulate a Turing machine, it is Turing equivalent to a Turing machine. A universal Turin ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Antoine De Saint-Exupéry
Antoine Marie Jean-Baptiste Roger, comte de Saint-Exupéry, simply known as Antoine de Saint-Exupéry (, , ; 29 June 1900 – 31 July 1944), was a French writer, poet, aristocrat, journalist and pioneering aviator. He became a laureate of several of France's highest literary awards and also won the United States National Book Award. He is best remembered for his novella ''The Little Prince'' (''Le Petit Prince'') and for his lyrical aviation writings, including ''Wind, Sand and Stars'' and '' Night Flight''. Saint-Exupéry was a successful commercial pilot before World War II, working airmail routes in Europe, Africa, and South America. He joined the French Air Force at the start of the war, flying reconnaissance missions until France's armistice with Germany in 1940. After being demobilised by the French Air Force, he travelled to the United States to help persuade its government to enter the war against Nazi Germany. Saint-Exupéry spent 28 months in America, during wh ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Release Early, Release Often
Release early, release often (also known as ship early, ship often, or time-based releases, and sometimes abbreviated RERO) is a software development philosophy that emphasizes the importance of early and frequent releases in creating a tight feedback loop between developers and testers or users, contrary to a feature-based release strategy. Advocates argue that this allows the software development to progress faster, enables the user to help define what the software will become, better conforms to the users' requirements for the software, and ultimately results in higher quality software. The development philosophy attempts to eliminate the risk of creating software that no one will use. This philosophy was popularized by Eric S. Raymond in his 1997 essay ''The Cathedral and the Bazaar'', where Raymond stated "Release early. Release often. And listen to your customers". This philosophy was originally applied to the development of the Linux kernel and other open-source software, ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
The Mythical Man-Month
''The Mythical Man-Month: Essays on Software Engineering'' is a book on software engineering and project management by Fred Brooks first published in 1975, with subsequent editions in 1982 and 1995. Its central theme is that adding manpower to a software project that is behind schedule delays it even longer. This idea is known as Brooks's law, and is presented along with the second-system effect and advocacy of prototyping. Brooks's observations are based on his experiences at IBM while managing the development of OS/360. He had added more programmers to a project falling behind schedule, a decision that he would later conclude had, counter-intuitively, delayed the project even further. He also made the mistake of asserting that one project—involved in writing an ALGOL compiler—would require six months, regardless of the number of workers involved (it required longer). The tendency for managers to repeat such errors in project development led Brooks to quip that his book is c ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Marketplace Of Ideas
The marketplace of ideas is a rationale for freedom of expression based on an analogy to the Economics, economic concept of a free market. The marketplace of ideas holds that the truth will emerge from the competition of ideas in free, transparent public discourse and concludes that ideas and ideologies will be culled according to their superiority or inferiority and widespread acceptance among the population. The concept is often applied to discussions of patent law as well as freedom of the press and the responsibilities of the media in a liberal democracy. History Support for competing ideas and robust debate can be found in the philosophy of John Milton in his work ''Areopagitica'' in 1644 and also John Stuart Mill in his book ''On Liberty'' in 1859. The general idea that free speech should be tolerated because it will lead toward the truth has a long history. English poet John Milton suggested that restricting speech was not necessary because "in a free and open encounter" tru ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Linus's Law
In software development, 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'' (1999), and was named in honor of Linus Torvalds. 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 reviewing. 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 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 ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Computer Bug
A software bug is an error, flaw or fault in the design, development, or operation of computer software that causes it to produce an incorrect or unexpected result, or to behave in unintended ways. The process of finding and correcting bugs is termed "debugging" and often uses formal techniques or tools to pinpoint bugs. Since the 1950s, some computer systems have been designed to deter, detect or auto-correct various computer bugs during operations. Bugs in software can arise from mistakes and errors made in interpreting and extracting users' requirements, planning a program's design, writing its source code, and from interaction with humans, hardware and programs, such as operating systems or libraries. A program with many, or serious, bugs is often described as ''buggy''. Bugs can trigger errors that may have ripple effects. The effects of bugs may be subtle, such as unintended text formatting, through to more obvious effects such as causing a program to crash, freezing the ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Fetchmail
Fetchmail is an open-source software utility for POSIX-compliant operating systems which is used to retrieve e-mail from a remote POP3, IMAP, or ODMR mail server to the user's local system. It was developed from thpopclientprogram, written by Carl Harris. Its chief significance is perhaps that its author, Eric S. Raymond, used it as a model to discuss his theories of open-source software development in a widely read and influential essay on software development methodologies ''The Cathedral and the Bazaar''. Design By design, Fetchmail's only means of delivering messages is by submitting them to the local MTA/Message transfer agent or invoking a mail delivery agent like procmail, maildrop, or sendmail; delivering directly to mail folders such as maildir is not supported. Dan Bernstein, getmail creator Charles Cazabon and FreeBSD developer Terry Lambert, have criticized Fetchmail's design, its number of security holes, and that it was prematurely put into "maintenance mode". I ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Linus Torvalds
Linus Benedict Torvalds ( , ; born 28 December 1969) is a Finnish software engineer who is the creator and, historically, the lead developer of the Linux kernel, used by Linux distributions and other operating systems such as Android. He also created the distributed version control system Git. He was honored, along with Shinya Yamanaka, with the 2012 Millennium Technology Prize by the Technology Academy Finland "in recognition of his creation of a new open source operating system for computers leading to the widely used Linux kernel." He is also the recipient of the 2014 IEEE Computer Society Computer Pioneer Award and the 2018 IEEE Masaru Ibuka Consumer Electronics Award. Life and career Early years Torvalds was born in Helsinki, Finland, the son of journalists Anna and Nils Torvalds, the grandson of statistician Leo Törnqvist and of poet Ole Torvalds, and the great-grandson of journalist and soldier Toivo Karanko. His parents were campus radicals at the University of H ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |