Open Sources ![rw-book-cover](https://images-na.ssl-images-amazon.com/images/I/41L2H0CnQRL._SL200_.jpg) ## Metadata - Author: [[Chris DiBona, Sam Ockman]] | [[3. Resources/Authors/Chris DiBona, Sam Ockman|Chris DiBona, Sam Ockman]] - Full Title: Open Sources - Category: #books - Kindle: [Open in Kindle](https://www.amazon.com/dp/B0028N4WKG) - Document Tags: [[Open Source]] ## Document Notes ## Highlights - Where proprietary commercial software vendors saw an industry guarding trade secrets that must be tightly protected, Stallman saw scientific knowledge that must be shared and distributed. ([Location 72](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=72)) - The basic tenet of the GNU project and the Free Software Foundation (the umbrella organization for the GNU project) is that source code is fundamental to the furthering of computer science and freely available source code is truly necessary for innovation to continue. ([Location 74](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=74)) - The Open Source Definition allows greater liberties with licensing than the GPL does. In particular, the Open Source Definition allows greater promiscuity when mixing proprietary and open-source software. ([Location 100](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=100)) - We have reached the stage where an entire generation of students who learned computer science under the influence of GNU is now at work in industry, and have quietly been bringing free software in through the back doors of industry for years. They do so not from altruistic motives, but rather to bring better code to their work. ([Location 135](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=135)) - The revolutionaries are in place. They are the network engineers, system administrators, and programmers who have thrived on open-source software throughout their education, and want to use open-source software to thrive professionally as well. ([Location 138](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=138)) - Open-source software is a commodity market. In any commodity market, customers value a brand they can trust. Red Hat’s strength comes from brand management: consistent marketing and community outreach that makes the community recommend them when their friends ask them which distribution to use. ([Location 145](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=145)) - In fact this model of giving away the product and selling the support is proliferating rapidly in the Open Source world now. ([Location 157](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=157)) - What’s intriguing is to see major corporations within the computer industry, companies like IBM and Oracle, turn their attention to Open Source as a business opportunity. ([Location 168](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=168)) - Ultimately, the Open Source movement is an extension of the scientific method, because at the heart of the computer industry lies computer science. ([Location 176](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=176)) - Computer science has only one means of enabling peers to replicate results: share the source code. To demonstrate the validity of a program to someone, you must provide them with the means to compile and run the program. ([Location 180](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=180)) - While companies like IBM, Oracle, and Netscape have begun to integrate their business model with Open Source, many traditional software companies continue to focus on purely proprietary solutions. They do so at their peril. ([Location 211](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=211)) - Keep in mind that these people have been, for the most part, coding for years, and don’t see programming itself as burdensome, or as work. A very complex project like Apache or the Linux kernel brings the satisfaction of the ultimate in intellectual exercise. Much like the rush a runner feels while running a race, a true programmer will feel this same rush after writing a perfect routine or tight piece of code. It is difficult to describe the joy felt after completing or debugging a hideously tricky piece of recursive code that has been a source of trouble for days. ([Location 312](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=312)) - What all these introspections on programming have in common is an emphasis on reputation. Programming is a gift culture: the value of a programmer’s work can only come from sharing it with others. ([Location 322](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=322)) - Stallman (who is usually known by his initials and login name, RMS) went on to form the Free Software Foundation and dedicate himself to producing high-quality free software. ([Location 535](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=535)) - The IETF can be described as a membership organization without a defined membership. There are no specific criteria for membership other than to note that people and not organizations or companies are members of the IETF. Any individual who participates in an IETF mailing list or attends an IETF meeting can be said to be an IETF member. ([Location 1018](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=1018)) - The basic publication series for the IETF is the RFC series. RFC once stood for “Request for Comments,” but since documents published as RFCs have generally gone through an extensive review process before publication, RFC is now best understood to mean “RFC.” ([Location 1043](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=1043)) - RFCs fall into two basic categories: standards track and non-standards track. Standards track RFCs can have Proposed Standard, Draft Standard, or Internet Standard status. Non-standards track RFCs can be classified as Informational, Experimental, or Historic. ([Location 1045](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=1045)) - It may not be immediately apparent, but the availability of open standards processes and documentation is vital to the Open Source movement. Without a clear agreement on what is being worked on, normally articulated in standards documents, it is quite easy for distributed development projects, such as the Open Sources movement, to become fragmented and to flounder. There is an intrinsic partnership between open standards processes, open documentation, and open sources. This partnership produced the Internet and will produce additional wonders in the future. ([Location 1100](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=1100)) - A program is free software, for you, a particular user, if: You have the freedom to run the program, for any purpose. You have the freedom to modify the program to suit your needs. (To make this freedom effective in practice, you must have access to the source code, since making changes in a program without having the source code is exceedingly difficult.) You have the freedom to redistribute copies, either gratis or for a fee. You have the freedom to distribute modified versions of the program, so that the community can benefit from your improvements. Since “free” refers to freedom, not to price, there is no contradiction between selling copies and free software. ([Location 1176](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=1176)) - The central idea of copyleft is that we give everyone permission to run the program, copy the program, modify the program, and distribute modified versions — but not permission to add restrictions of their own. ([Location 1243](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=1243)) - the rhetoric of “Open Source” focuses on the potential to make high quality, powerful software, but shuns the ideas of freedom, community, and principle. ([Location 1461](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=1461)) - The basic idea was simple: Open Source would unify the efforts of programmers around the world, and companies that provided commercial services (customizations, enhancements, bug fixes, support) based on that software could capitalize on the economies of scale and broad appeal of this new kind of software. ([Location 1521](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=1521)) - The first step of a software engineering process is to create a document which describes the target customers and their reason for needing this product, and then goes on to list the features of the product which address these customer needs. ([Location 1983](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=1983)) - high-level description of the product, in terms of “modules” (or sometimes “programs”) and of the interaction between these modules. ([Location 1990](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=1990)) - The system-level design document should also outline the system-level testing plan, in terms of customer needs and whether they would be met by the system design being proposed. ([Location 1992](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=1992)) - detailed design is where every module called out in the system-level design document is described in detail. The interface (command line formats, calling API, externally visible data structures) of each module has to be completely determined at this point, as well as dependencies between modules. ([Location 1995](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=1995)) - unit test plan, which tells the implementor what test cases or what kind of test cases they need to generate in their unit testing in order to verify functionality. ([Location 1999](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=1999)) - Every module described in the detailed design document has to be implemented. This includes the small act of coding or programming that is the heart and soul of the software engineering process. ([Location 2002](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=2002)) - An unfunded Open Source effort can have as much rigor and consistency as it wants — users will run the code if it’s functional; most people don’t care if the developer switched styles three times during the implementation process. The developers generally care, or they learn to care after a while. ([Location 2113](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=2113)) - Unfunded open-source software enjoys the best system-level testing in the industry, unless we include NASA’s testing on space-bound robots in our comparison. The reason is simply that users tend to be much friendlier when they aren’t being charged any money, and power users (often developers themselves) are much more helpful when they can read, and fix, the source code to something they’re running. ([Location 2128](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=2128)) - Engineering is an old field, and no matter whether one is building software, hardware, or railroad bridges, the elements of the engineering process are essentially the same: Identify a requirement, and its requirers. Design a solution that meets the requirement. Modularize the design; plan the implementation. Build it; test it; deliver it; support it. ([Location 2153](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=2153)) - Open Source is defined as software that includes source code and a free license — these partially open-source companies provide source code but without a free license. ([Location 2446](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=2446)) - This was Red Hat’s opportunity: to offer convenience, to offer quality, and most importantly to help define, in the minds of our customers, what an operating system can be. At Red Hat, if we do a good job of supplying and supporting a consistently high-quality product, we have a great opportunity to establish a brand that Linux OS customers simply prefer. ([Location 2476](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=2476)) - The benefit an open-source OS offers over the proprietary binary-only OSes is the control the users gain over the technology they are using. ([Location 2529](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=2529)) - To the engineers at NASA, high reliability is not good enough. Extremely high reliability it not good enough. NASA needs perfect reliability. They cannot afford to suffer the “blue screen of death” with twelve trusting souls rocketing at a thousand miles an hour around the earth, depending on their systems to keep them alive. NASA needs access to the source code of the software they are using to build these systems. And they need that software to come with a license that allows them to modify it to meet their needs. ([Location 2556](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=2556)) - That is part of the power of Open Source: it creates this kind of unifying pressure to conform to a common reference point — in effect, an open standard — and it removes the intellectual property barriers that would otherwise inhibit this convergence. ([Location 2643](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=2643)) - The Open Source Definition is a bill of rights for the computer user. It defines certain rights that a software license must grant you to be certified as Open Source. ([Location 3517](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3517)) - programmers feel comfortable contributing to Open Source because they are assured of these rights: The right to make copies of the program, and distribute those copies. The right to have access to the software’s source code, a necessary preliminary before you can change it. The right to make improvements to the program. ([Location 3525](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3525)) - Free Software as a political idea has been popularized by Richard Stallman since 1984, when he formed the Free Software Foundation and its GNU Project. ([Location 3540](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3540)) - Open Hardware has not been as successful as Open Source to date, but it is still operating and you can find information on it at http://www.openhardware.org/. ([Location 3568](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3568)) - canonical version of the Open Source Definition at http://www.opensource.org/osd.html. ([Location 3626](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3626)) - The license may not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. ([Location 3640](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3640)) - The program must include source code, and must allow distribution in source code as well as compiled form. ([Location 3647](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3647)) - The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software. ([Location 3652](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3652)) - The license may restrict source code from being distributed in modified form only if the license allows the distribution of “patch files” with the source code for the purpose of modifying the program at build time. ([Location 3665](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3665)) - The license must not discriminate against any person or group of persons. ([Location 3678](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3678)) - The license must not restrict anyone from making use of the program in a specific field of endeavor. ([Location 3683](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3683)) - The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties. ([Location 3687](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3687)) - The rights attached to the program must not depend on the program’s being part of a particular software distribution. ([Location 3692](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3692)) - License Must Not Contaminate Other Software The license must not place restrictions on other software that is distributed along with the licensed software. ([Location 3697](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3697)) - The GNU GPL, BSD, X Consortium, and Artistic licenses are examples of licenses that we consider conformant to the Open Source Definition. ([Location 3706](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3706)) - A common misconception is that much free software is public-domain. ([Location 3713](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3713)) - A public-domain program is one upon which the author has deliberately surrendered his copyright rights. It can’t really be said to come with a license; it’s your personal property to use as you see fit. Because you can treat it as your personal property, you can do what you want with a public-domain program. You can even re-license a public-domain program, removing that version from the public domain, or you can remove the author’s name and treat it as your own work. ([Location 3716](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3716)) - The text of the GPL is not itself under the GPL. Its license is simple: Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. ([Location 3745](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3745)) - The GPL does not allow you to take modifications private. Your modifications must be distributed under the GPL. Thus, the author of a GPL-ed program is likely to receive improvements from others, including commercial companies who modify his software for their own purposes. ([Location 3751](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3751)) - Information applications are used to computerize tasks that just couldn’t be handled in the old computing model. ([Location 3921](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3921)) - most of the technologies that make the Web possible are Open Source. ([Location 3961](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=3961)) - The Open Source development paradigm is an incredibly efficient way of getting developers to work on features that matter. New software is developed in a tight feedback loop with customer demand, without distortions caused by marketing clout or top-down purchasing decisions. Bottom-up software development is ideal for solving bottom-up problems. ([Location 4045](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=4045)) - the term “free software” had done our movement tremendous damage over the years. Part of this stemmed from the well-known “free-speech/free-beer” ambiguity. Most of it came from something worse — the strong association of the term “free software” with hostility to intellectual property rights, communism, and other ideas hardly likely to endear themselves to an MIS manager. ([Location 4375](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=4375)) - When the twenty-odd community leaders at the Free Software Summit on March 7 voted to adopt the term “open source,” they formally ratified a trend that was already clear at the grass roots among developers. ([Location 4451](https://readwise.io/to_kindle?action=open&asin=B0028N4WKG&location=4451)) ## Book Review - [[4. Archives/Book reviews/Open Sources|Open Sources - Book Review]] ## Related - [[3. Resources/Readwise/Books/Open Source for the Enterprise|Open Source for the Enterprise]] - [[3. Resources/Readwise/Books/The Art of Community|The Art of Community]] - [[3. Resources/Readwise/Books/The Cathedral & the Bazaar|The Cathedral & the Bazaar]] - [[3. Resources/Readwise/Books/Working in Public|Working in Public]]