Get the highlights in your inbox every week.
Best practices for open source projects based on satisfaction study
What makes your developers stick around?
Community is a big part of the open source way. An open source project is nothing without a vibrant community of users and contributors. And participant satisfaction is a major factor in having a vibrant community. So, what are the factors that contribute to participant satisfaction with open source projects?
Brenda Chawner, currently the IST Programmes Director at Victoria University of Wellington's School of Information Management, researched that very question in the thesis she wrote for her PhD. Chawner's thesis, Factors Influencing Participant Satisfaction with Free/Libre and Open Source Software Projects, is an in depth exploration of participant satisfaction with free/libre and open source software projects and the various roles participants take in FLOSS projects.
Chawner's central research question was: What factors influence participant satisfaction with a free/libre and open source application software project?
In addition, Chawner's research had two sub-questions:
- What types of contributions do participants make to free/libre and open source software projects?
- Do the factors that influence satisfaction vary for different types of participation? If so, in what way?
Chawner begins by relating a tale that is probably familiar to many in the open source world. It is the story of Richard Stallman's battle with a closed source Xerox printer. The printer was subject to frequent paper jams, but because the source code was not available, he could not modify the printer's software to report the jams to inconvenienced users waiting on their print jobs. This event, along with a general trend towards closed source software, caused Stallman to start the GNU Project and found the Free Software Foundation. The story of that troublesome printer and the subsequent developments in the free software and open source movements led Chawner to explorer her research questions in an attempt to understand participant satisfaction with FLOSS projects.
To conduct her study, Chawner used a multi-staged approach. First she reviewed various FLOSS projects to select a relevant cross section of projects to use in her research. She ended up selecting 10: Greenstone, EPrints, Koha, Evergreen, MARC-Record, MyLibrary, PhpMyBibli, reSearcher, DSpace, and Open Journal Systems. From there she selected participants to interview for stage one of her research. She interviewed 24 people, and the findings from these interviews informed the creation of the survey she used for stage two of her research. In stage two, she sent out emails to various relevant mailing lists asking people to fill out her survey. She received 183 responses.
In the chapter "Contributing to a FLOSS Project" (Chapter 5), Chawner categorizes the various methods of contributing to open source project. She separates contributions into use, interaction with code, supporting the community, outreach, sponsorship, management, and governance. Chawner also covers attributes that cover more than one category. These attributes include things like how formal a participant's role is and whether or not the participant receives payment for their work.
The next two chapters, "Individual Perspectives on Satisfaction" (Chapter 6) and "Survey Results and Model Testing" (Chapter 7), explore the results of the interview and the survey respectively. Chapter 6 tells a more personal story based on the replies given by the various interviewees, while Chapter 7 is full of detailed charts and statistics from the survey results. Both chapters are very informative and worth a read. Anyone interested in understanding participation in open source will find a lot of useful information in these two chapters.
Chapter 8, "Discussion and Interpretation of Findings," brings everything together. Chawner succinctly explains her findings and provides a brief review of each of her hypotheses. Out of nine hypotheses, only four of her hypotheses ended up being supported by the data, they are:
- The higher the perceived quality of developer communication, the higher the participant satisfaction.
- There is a positive relationship between the extent of participation and participant satisfaction.
- There is a positive relationship between process openness and participant satisfaction.
- There is a positive relationship between product openness and participant satisfaction.
In her "Conclusion" section, Chawner makes several suggestions for best practices based on her research findings:
- Ensure that the project’s "About" page and documentation include information about what types of contributions are most needed, and how to contribute.
- Acknowledge and celebrate contributions, so that people who do contribute feel appreciated and motivated to continue.
- Monitor questions in the project's email discussion list and/or forums, particularly those from newcomers, to ensure that they are answered.
- Provide information to the project’s community about the project’s future development, perhaps in the form of a "road map" that lists the planned changes and enhancements.
- Ensure that documentation is up-to-date, and that aspects of the software that may be perceived as complex are explained clearly.
- Find out what barriers participants encounter when making a contribution to the project, and take steps to minimize or eliminate them.
There is a lot of good information in Chawner's thesis for anyone interested in the community and participation aspects of open source. The one major caveat is that Chawner's research relies heavily on open source software for libraries, so her findings might not necessarily apply to other open source projects (she readily acknowledges this fact when covering the limitations of her research.) Though it seems most projects would benefit from many of her findings.
You can download Chawner's thesis from the Victoria University of Wellington's online research repository. Her thesis is licensed under a Creative Commons Attribution-ShareAlike 3.0 New Zealand License.