Cover image for Open Sources

Book description

Freely available source code, with contributions from thousands ofprogrammers around the world: this is the spirit of the softwarerevolution known as Open Source. Open Source has grabbed thecomputer industry's attention. Netscape has opened the source codeto Mozilla; IBM supports Apache; major database vendors havedported their products to Linux. As enterprises realize the power ofthe open-source development model, Open Source is becoming a viablemainstream alternative to commercial software. Now in OpenSources, leaders of Open Source come together for the firsttime to discuss the new vision of the software industry they havecreated. The essays in this volume offer insight into how the OpenSource movement works, why it succeeds, and where it is going. Forprogrammers who have labored on open-source projects, OpenSources is the new gospel: a powerful vision from themovement's spiritual leaders. For businesses integratingopen-source software into their enterprise, Open Sourcesreveals the mysteries of how open development builds bettersoftware, and how businesses can leverage freely available softwarefor a competitive business advantage. The contributors here havebeen the leaders in the open-source arena:

  • Brian Behlendorf (Apache)

  • Kirk McKusick (Berkeley Unix)

  • Tim O'Reilly (Publisher, O'Reilly &Associates)

  • Bruce Perens (Debian Project, Open SourceInitiative)

  • Tom Paquin and Jim Hamerly (mozilla.org,Netscape)

  • Eric Raymond (Open Source Initiative)

  • Richard Stallman (GNU, Free Software Foundation,Emacs)

  • Michael Tiemann (Cygnus Solutions)

  • Linus Torvalds (Linux)

  • Paul Vixie (Bind)

  • Larry Wall (Perl)

This book explains why the majority of the Internet's servers useopen- source technologies for everything from the operating systemto Web serving and email. Key technology products developed withopen-source software have overtaken and surpassed the commercialefforts of billion dollar companies like Microsoft and IBM todominate software markets. Learn the inside story of what ledNetscape to decide to release its source code using the open-sourcemode. Learn how Cygnus Solutions builds the world's best compilersby sharing the source code. Learn why venture capitalists areeagerly watching Red Hat Software, a company that gives its keyproduct -- Linux -- away. For the first time in print, this bookpresents the story of the open- source phenomenon told by thepeople who created this movement. Open Sources will bringyou into the world of free software and show you the revolution.

Table of Contents

  1. Open Sources: Voices from the Open Source Revolution
    1. SPECIAL OFFER: Upgrade this ebook with O’Reilly
    2. 1. Acknowledgments
    3. 1. Introduction
      1. 1.1. Prologue
      2. 1.2. What Is Free Software and How Does It Relate to Open Source?
      3. 1.3. What Is Open Source Software?
      4. 1.4. The Dark Side of the Force
      5. 1.5. Use the Source, Luke
      6. 1.6. Innovation Through the Scientific Method
      7. 1.7. Perils to Open Source
      8. 1.8. Motivating the Open Source Hacker
      9. 1.9. The Venture and Investment Future of Linux
      10. 1.10. Science and the New Renaissance
    4. 2. A Brief History of Hackerdom
      1. 2.1. Prologue: The Real Programmers
      2. 2.2. The Early Hackers
      3. 2.3. The Rise of Unix
      4. 2.4. The End of Elder Days
      5. 2.5. The Proprietary Unix Era
      6. 2.6. The Early Free Unixes
      7. 2.7. The Great Web Explosion
    5. 3. Twenty Years of Berkeley Unix: From AT&T-Owned to Freely Redistributable
      1. 3.1. Early History
      2. 3.2. Early Distributions
      3. 3.3. VAX Unix
      4. 3.4. DARPA Support
      5. 3.5. 4.2BSD
      6. 3.6. 4.3BSD
      7. 3.7. Networking, Release 1
      8. 3.8. 4.3BSD-Reno
      9. 3.9. Networking, Release 2
      10. 3.10. The Lawsuit
      11. 3.11. 4.4BSD
      12. 3.12. 4.4BSD-Lite, Release 2
    6. 4. The Internet Engineering Task Force
      1. 4.1. The History of the IETF
      2. 4.2. IETF Structure and Features
      3. 4.3. IETF Working Groups
      4. 4.4. IETF Documents
      5. 4.5. The IETF Process
      6. 4.6. Open Standards, Open Documents, and Open Source
    7. 5. The GNU Operating System and the Free Software Movement
      1. 5.1. The First Software-Sharing Community
      2. 5.2. The Collapse of the Community
      3. 5.3. A Stark Moral Choice
      4. 5.4. Free as in Freedom
      5. 5.5. GNU Software and the GNU System
      6. 5.6. Commencing the Project
      7. 5.7. The First Steps
      8. 5.8. GNU Emacs
      9. 5.9. Is a Program Free for Every User?
      10. 5.10. Copyleft and the GNU GPL
      11. 5.11. The Free Software Foundation
      12. 5.12. Free Software Support
      13. 5.13. Technical Goals
      14. 5.14. Donated Computers
      15. 5.15. The GNU Task List
      16. 5.16. The GNU Library GPL
      17. 5.17. Scratching an Itch?
      18. 5.18. Unexpected Developments
      19. 5.19. The GNU HURD
      20. 5.20. Alix
      21. 5.21. Linux and GNU/Linux
      22. 5.22. Challenges in Our Future
        1. 5.22.1. Secret Hardware
        2. 5.22.2. Non-Free Libraries
        3. 5.22.3. Software Patents
        4. 5.22.4. Free Documentation
        5. 5.22.5. We Must Talk About Freedom
      23. 5.23. "Open Source"
      24. 5.24. Try!
    8. 6. Future of Cygnus Solutions: An Entrepreneur's Account
      1. 6.1. Cygnus in the Early Years
      2. 6.2. GNUPro
      3. 6.3. Challenges
      4. 6.4. Getting Funded Beyond Open Source—eCos
      5. 6.5. Reflections and Vision of the Future
    9. 7. Software Engineering
      1. 7.1. The Software Engineering Process
        1. 7.1.1. Marketing Requirements
        2. 7.1.2. System-Level Design
        3. 7.1.3. Detailed Design
        4. 7.1.4. Implementation
        5. 7.1.5. Integration
        6. 7.1.6. Field Testing
        7. 7.1.7. Support
      2. 7.2. Testing Details
        1. 7.2.1. Code Coverage Analysis
        2. 7.2.2. Regression Tests
      3. 7.3. Open Source Software Engineering
        1. 7.3.1. Marketing Requirements
        2. 7.3.2. System-Level Design
        3. 7.3.3. Detailed Design
        4. 7.3.4. Implementation
        5. 7.3.5. Integration
        6. 7.3.6. Field Testing
        7. 7.3.7. Support
      4. 7.4. Conclusions
    10. 8. The Linux Edge
      1. 8.1. Amiga and the Motorola Port
      2. 8.2. Microkernels
      3. 8.3. From Alpha to Portability
      4. 8.4. Kernel Space and User Space
      5. 8.5. GCC
      6. 8.6. Kernel Modules
      7. 8.7. Portability Today
      8. 8.8. The Future of Linux
    11. 9. Giving It Away: How Red Hat Software Stumbled Across a New Economic Model and Helped Improve an Industry
      1. 9.1. Where Did Red Hat Come From?
      2. 9.2. How Do You Make Money in Free Software?
      3. 9.3. We Are in the Commodity Product Business
      4. 9.4. The Strategic Appeal of This Model to the Corporate Computing Industry
      5. 9.5. Licensing, Open Source, or Free Software
      6. 9.6. The Economic Engine Behind Development of Open Source Software
      7. 9.7. Unique Benefits
      8. 9.8. The Great Unix Flaw
      9. 9.9. It's Your Choice
    12. 10. Diligence, Patience, and Humility
    13. 11. Open Source as a Business Strategy
      1. 11.1. It's All About Platforms
      2. 11.2. Analyzing Your Goals for an Open-Source Project
      3. 11.3. Evaluating the Market Need for Your Project
      4. 11.4. Open Source's Position in the Spectrum of Software
      5. 11.5. Nature Abhors a Vacuum
      6. 11.6. Donate, or Go It Alone?
      7. 11.7. Bootstrapping
      8. 11.8. What License to Use?
        1. 11.8.1. The BSD-Style Copyright
        2. 11.8.2. The Mozilla Public License
        3. 11.8.3. The GNU Public License
      9. 11.9. Tools for Launching Open Source Projects
    14. 12. The Open Source Definition
      1. 12.1. History
      2. 12.2. KDE, Qt, and Troll Tech
      3. 12.3. Analysis of the Open Source Definition
        1. 12.3.1. The Open Source Definition (Version 1.0)
      4. 12.4. Analysis of Licenses and Their Open Source Compliance
        1. 12.4.1. Public Domain
        2. 12.4.2. Free Software Licenses in General
        3. 12.4.3. The GNU General Public License
        4. 12.4.4. The GNU Library General Public License
        5. 12.4.5. The X, BSD, and Apache Licenses
        6. 12.4.6. The Artistic License
        7. 12.4.7. The Netscape Public License and the Mozilla Public License
      5. 12.5. Choosing a License
      6. 12.6. The Future
    15. 13. Hardware, Software, and Infoware
    16. 14. Freeing the Source: The Story of Mozilla
      1. 14.1. Making It Happen
      2. 14.2. Creating the License
      3. 14.3. Mozilla.org
      4. 14.4. Behind the Curtain
      5. 14.5. April Fool's Day, 1998
    17. 15. The Revenge of the Hackers
      1. 15.1. Beyond Brooks's Law
      2. 15.2. Memes and Mythmaking
      3. 15.3. The Road to Mountain View
      4. 15.4. The Origins of "Open Source"
      5. 15.5. The Accidental Revolutionary
      6. 15.6. Phases of the Campaign
      7. 15.7. The Facts on the Ground
      8. 15.8. Into the Future
    18. A. The Tanenbaum-Torvalds Debate
    19. B. The Open Source Definition, Version 1.0
      1. B.1. GNU General Public License
        1. B.1.1. Table of Contents
        2. B.1.2. GNU GENERAL PUBLIC LICENSE
          1. B.1.2.1. Preamble
          2. B.1.2.2. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
          3. B.1.2.3. How to Apply These Terms to Your New Programs
    20. C. Contributors
    21. About the Authors
    22. SPECIAL OFFER: Upgrade this ebook with O’Reilly