producingoss - Producing Open Source Software How to Run a...

Info iconThis preview shows pages 1–6. Sign up to view the full content.

View Full Document Right Arrow Icon
Producing Open Source Software How to Run a Successful Free Software Project Karl Fogel
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Producing Open Source Software: How to Run a Successful Free Software Project by Karl Fogel Copyright © 2005, 2006, 2007, 2008, 2009 Karl Fogel, under a CreativeCommons Attribution- ShareAlike (3.0) license
Background image of page 2
i Dedication This book is dedicated to two dear friends without whom it would not have been possible: Karen Underhill and Jim Blandy.
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
ii Table of Contents Preface . ........................................................................................................................... vi Why Write This Book? . ............................................................................................. vi Who Should Read This Book? . .................................................................................... vi Sources . .................................................................................................................. vii Acknowledgments . .................................................................................................... vii Disclaimer . ............................................................................................................... ix 1. Introduction . ................................................................................................................. 10 History . ................................................................................................................... 12 The Rise of Proprietary Software and Free Software . ............................................... 12 "Free" Versus "Open Source" . ............................................................................. 16 The Situation Today . ................................................................................................. 18 2. Getting Started . ............................................................................................................. 19 Starting From What You Have . ................................................................................... 20 Choose a Good Name . ....................................................................................... 21 Have a Clear Mission Statement . ......................................................................... 22 State That the Project is Free . ............................................................................. 22 Features and Requirements List . .......................................................................... 23 Development Status . .......................................................................................... 23 Downloads . ...................................................................................................... 24 Version Control and Bug Tracker Access . ............................................................. 25 Communications Channels . ................................................................................. 25 Developer Guidelines . ....................................................................................... 26 Documentation . ................................................................................................ 26 Example Output and Screenshots . ........................................................................ 29 Canned Hosting . ............................................................................................... 29 Choosing a License and Applying It . ........................................................................... 29 The "Do Anything" Licenses . ............................................................................. 30 The GPL . ........................................................................................................ 30 How to Apply a License to Your Software . ........................................................... 30 Setting the Tone . ...................................................................................................... 31 Avoid Private Discussions . ................................................................................. 32 Nip Rudeness in the Bud . .................................................................................. 33 Practice Conspicuous Code Review . ..................................................................... 34 When Opening a Formerly Closed Project, be Sensitive to the Magnitude of the Change . ........................................................................................................... 35 Announcing . ............................................................................................................ 36 3. Technical Infrastructure . ................................................................................................. 38 What a Project Needs . ............................................................................................... 39 Mailing Lists . ........................................................................................................... 40 Spam Prevention . .............................................................................................. 41 Identification and Header Management . ................................................................ 43 The Great Reply-to Debate . ................................................................................ 44 Archiving . ....................................................................................................... 46 Software . ......................................................................................................... 47 Version Control . ....................................................................................................... 48 Version Control Vocabulary . .............................................................................. 48 Choosing a Version Control System . .................................................................... 51 Using the Version Control System . ...................................................................... 51 Bug Tracker . ............................................................................................................ 57 Interaction with Mailing Lists . ............................................................................ 59 Pre-Filtering the Bug Tracker . ............................................................................. 59
Background image of page 4
Producing Open Source Software iii IRC / Real-Time Chat Systems . ................................................................................... 60 Bots . ............................................................................................................... 61 Archiving IRC . ................................................................................................. 62 RSS Feeds . .............................................................................................................. 62 Wikis . ..................................................................................................................... 63 Web Site . ................................................................................................................ 64 Canned Hosting . ............................................................................................... 64 4. Social and Political Infrastructure . .................................................................................... 67 Benevolent Dictators . ................................................................................................ 68 Who Can Be a Good Benevolent Dictator? . ........................................................... 68 Consensus-based Democracy . ..................................................................................... 69 Version Control Means You Can Relax . ............................................................... 70 When Consensus Cannot Be Reached, Vote . .......................................................... 70 When To Vote . ................................................................................................ 71 Who Votes? . .................................................................................................... 72 Polls Versus Votes . ........................................................................................... 72 Vetoes . ........................................................................................................... 72 Writing It All Down . ................................................................................................. 73 5. Money . ........................................................................................................................ 75 Types of Involvement . ............................................................................................... 76 Hire for the Long Term . ............................................................................................ 77 Appear as Many, Not as One . ..................................................................................... 78 Be Open About Your Motivations . .............................................................................. 79 Money Can't Buy You Love . ...................................................................................... 80 Contracting . ............................................................................................................. 81 Review and Acceptance of Changes . .................................................................... 83 Funding Non-Programming Activities . .......................................................................... 83 Quality Assurance (i.e., Professional Testing) . ....................................................... 84 Legal Advice and Protection . .............................................................................. 85 Documentation and Usability . ............................................................................. 85 Providing Hosting/Bandwidth . ............................................................................. 86 Marketing . ............................................................................................................... 86 Remember That You Are Being Watched . ............................................................. 87 Don't Bash Competing Open Source Products . ....................................................... 88 6. Communications . .......................................................................................................... 89 You Are What You Write . ......................................................................................... 89 Structure and Formatting . ................................................................................... 90 Content . .......................................................................................................... 91 Tone . .............................................................................................................. 92 Recognizing Rudeness . ...................................................................................... 93 Face . .............................................................................................................. 94 Avoiding Common Pitfalls . ........................................................................................ 96 Don't Post Without a Purpose . ............................................................................ 96 Productive vs Unproductive Threads . ................................................................... 97 The Softer the Topic, the Longer the Debate . ......................................................... 98 Avoid Holy Wars . ............................................................................................ 99 The "Noisy Minority" Effect . ............................................................................ 100 Difficult People . ..................................................................................................... 101 Handling Difficult People . ................................................................................ 101 Case study . .................................................................................................... 102 Handling Growth . ................................................................................................... 103 Conspicuous Use of Archives .
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 6
This is the end of the preview. Sign up to access the rest of the document.

This document was uploaded on 08/10/2011.

Page1 / 200

producingoss - Producing Open Source Software How to Run a...

This preview shows document pages 1 - 6. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online