You can define success for an open source project as a community of developers making steady progress creating software to meet a need. Greg Stein, the chairman of the Apache Software Foundation, who has been deeply involved in many different open source projects, observes that there are two keys to the success of an open source project:
A clear, shared focus for the project’s vision among the developer community (i.e., strong shared values among the developer and user communities)
A project lead who encourages and rewards community participation
From the perspective of an IT department using open source, evaluating leadership quality is crucial, because it is such an important factor in the long-term viability of an open source project.
It is much easier to understand the concept of leadership in the commercial world than in the world of open source. In the commercial world, somebody is writing payroll checks, a formal corporate structure is in place, and people are assigned authority. People come and go, but who is in charge is not really at issue most of the time. Staff generally is motivated by getting paid, the challenge of the work, and the status and rewards of building a successful business.
Take out the formal authority and the getting paid part, and you are left with the motivation for most open source developers. They are working for the love of the craft and for the rewards of creating a successful open source project.
When a project leader is rigid, doesn’t accept and acknowledge the contributions of others, and is hostile to new directions for a project, it is much harder for a community to form.
“When someone comes to a project lead with an idea, the right attitude is to respond ‘Cool idea, why don’t you run with it’ in most cases,” says Stein. “Reconciling differences of opinion and at the same time keeping people motivated requires diplomacy, an inclusive attitude, and a generous, secure personality.”
This can be hard to achieve, given that people are working for the love of it and to fulfill their particular vision of what the software can do.
For the purposes of this book, the important point is that when evaluating open source projects, a key thing to look for is the presence of an open, accepting, community-oriented project leader. In Chapter 2, we will discuss in greater detail what specific evidence to look for.