|
Producing open Source Software
The corporate market is now embracing free, "open source"
software like never before, as evidenced by the recent
success of the technologies underlying LAMP (Linux, Apache,
MySQL, and PHP). Each is the result of a publicly
collaborative process among numerous developers who
volunteer their time and energy to create
better software.
The truth is, however, that the overwhelming majority of
free software projects fail. To help you beat the odds,
O'Reilly has put together Producing Open Source Software, a
guide that recommends tried and true steps to help free
software developers work together toward a common goal. Not
just for developers who are considering starting their own
free software project, this book will also help those who
want to participate in the process at any level.
The book tackles this very complex topic by distilling it
down into easily understandable parts. Starting with the
basics of project management, it details specific tools used
in free software projects, including version control, IRC,
bug tracking, and Wikis. Author Karl Fogel, known for his
work on CVS and Subversion, offers practical advice on how
to set up and use a range of tools in combination with open
mailing lists and archives. He also provides several
chapters on the essentials of recruiting and motivating
developers, as well as how to gain much-needed publicity for
your project.
While managing a team of enthusiastic developers -- most of
whom you've never even met -- can be challenging, it can
also be fun. Producing Open Source Software takes this into
account, too, as it speaks of the sheer pleasure to be had
from working with a motivated team of free software
developers.
Chapter 1
Foreword
Preface
1. Introduction
History
The Situation Today
2. Getting Started
First, Look Around
Starting from What You Have
Choosing a License and Applying It
Setting the Tone
Announcing
3. Technical Infrastructure
What a Project Needs
Mailing Lists
Version Control
Bug Tracker
IRC/Real-Time Chat Systems
Wikis
Web Site
4. Social and Political Infrastructure
Forkability
Benevolent Dictators
Consensus-Based Democracy
Writing It All Down
5. Money
Types of Involvement
Hire for the Long Term
Appear as Many, Not as One
Be Open About Your Motivations
Money Can't Buy You Love
Contracting
Funding Non-Programming Activities
Marketing
6. Communications
You Are What You Write
Avoiding Common Pitfalls
Difficult People
Handling Growth
No Conversations in the Bug Tracker
Publicity
7. Packaging, Releasing, and Daily Development
Release Numbering
Release Branches
Stabilizing a Release
Packaging
Testing and Releasing
Maintaining Multiple Release Lines
Releases and Daily Development
8. Managing Volunteers
Getting the Most Out of Volunteers
Share Management Tasks as Well as Technical Tasks
Transitions
Committers
Credit
Forks
9. Licenses, Copyrights, and Patents
Terminology
Aspects of Licenses
The GPL and License Compatibility
Choosing a License
Copyright Assignment and Ownership
Dual Licensing Schemes
Patents
Further Resources
A. Free Version Control Systems
B. Free Bug Trackers
C. Why Should I Care What Color the Bikeshed Is?
D. Example Instructions for Reporting Bugs
Index
|