Open Source: Technology and Policy
The open source movement is a worldwide effort to promote an open style of software development more aligned with the accepted intellectual style of science than the proprietary modes of invention that have been characteristic of modern business.
The idea is to keep the scientific advances created by software development openly available for everyone to use, understand, and improve. The very process of open source creation is highly transparent.
This book addresses prominent projects in the open source movement, along with its enabling technologies, social characteristics, legal issues, business venues, and public and educational roles.
Review By: Mark Cole
09/29/2008
The premise of this book is that open source software is better than proprietary software because it is "more aligned with the accepted scientific style of science rather than the proprietary mode of invention that have been characteristic of modern business," as stated by the authors on the first page of this book. And the authors then do a good job of defending their premise!
How is open source better? Well, its code is openly available for people to improve on it. Proprietary code is private and shielded; only a few people have access to the actual source code. Open source programs are usually free. Proprietary programs are usually expensive. Open source can be updated for free and can be reused more easily than proprietary software.
The authors also point out that open source code, such as mySQL, has six times fewer bugs than comparable proprietary databases because, as Eric Raymond says, "Given enough eyeballs, all bugs are shallow."
Eric Raymond's classic paper "The Cathedral and the Bazaar," which discusses the development of an open source application called FetchMail, is discussed in this book. Eric's story is an example of Raymond's second law of open source development, "Good programmers know what to write. Great ones know what to rewrite (and reuse)." This is the huge advantage that open source has over proprietary software. In open source there is "a bazaar" of differing approaches and agendas to solve problems--a huge code base. In proprietary systems there is only your company's proprietary software and other company's undisclosed software. If it is disclosed, you must deal with licensing in order to re-use. (This is key in thinking about my own software work: How can I best re-use and re-write code that other people have written?)
The book also lists some successful open source projects. For example, the Apache Web server was developed by a team led by Tim Berners-Lee (the guy who truly invented the Web since he wrote the first Web server and browser and created HTML and HTTP, thus forming the basic concepts of the Internet at CERN physics laboratory in Switzerland). One of Berner-Lee's best ideas was to release his inventions to the public domain--thus encouraging businesses who might be concerned of licensing problems to adopt usage of World Wide Web. Berner-Lee has since become the founder and director of W3C (World Wide Web Consortium) that develops and maintains standards for the WWW. Mosaic, Netscape Navigator, and Firefox are other open source success stories.
Chapter 3 discusses the open source platform. In this chapter, Unix and Linux development history is covered. Chapter 4 discusses technologies that are used in open source development, such as CVS, which is a source code version control system.
Section 2 of this book deals with the "social, psychological, legal, and economic aspects of open source." In this section, the authors ask questions like: "How do you get people to work for you for free?", "What are the economics of open source?", and “What are the legal issues of software copyright laws?” One interesting notion is "copyleft" licensing. Copyleft means that you can freely use the software in your own work but only if you agree that your software will also be distributed freely and not under "copyright."
Section 3 discusses the free software movement, open source in the public sector, and the future of the open source movement. There is a glossary that defines terms such as Microsoft's "Halloween Document," "wiki," "paradigm shift," and other useful terms.
The most useful part of this book was the mention of engineering principles used in large, open source projects where its programmers and coders are scattered all over the planet. The open source success stories make for fun reading; therefore, I found sections 2 and 3 to be much more tedious and more aimed at administrators. Is open source the way of the future? I don't know; but greater collaboration using better and less expensive software, rewriting for re-use, and re-using code that works certainly is part of software’s future. This book should be useful to anyone using open source software technology or defining policies for it.