Open source software peer review practices

Peter C. Rigby, Daniel M. Germán, Margaret‐Anne Storey

2008 · 233 citations · 17 references

Concepts

TL;DR

Peer review is a key quality assurance mechanism in both industrial development and the open source software community, yet its practices are better understood in industry than in OSS. This study investigates the two peer review techniques employed by the mature Apache server project—review‑then‑commit and commit‑then‑review. By analyzing archival email discussions and version‑control logs, the authors constructed metrics analogous to traditional inspection experiments, measuring review frequency, participation, artifact size, review time, and defect detection. The comparison shows that Apache’s reviews are early, frequent, small, independent, complete contributions reviewed asynchronously by a small group of self‑selected experts, making the process both efficient and effective.

Abstract

Peer review is seen as an important quality assurance mechanism in both industrial development and the open source software (OSS) community. The techniques for performing inspections have been well studied in industry; in OSS development, peer reviews are less well understood. We examine the two peer review techniques used by the successful, mature Apache server project: review-then-commit and commit-then-review. Using archival records of email discussion and version control repositories, we construct a series of metrics that produces measures similar to those used in traditional inspection experiments. Specifically, we measure the frequency of review, the level of participation in reviews, the size of the artifact under review, the calendar time to perform a review, and the number of reviews that find defects. We provide a comparison of the two Apache review techniques as well as a comparison of Apache review to inspection in an industrial project. We conclude that Apache reviews can be described as (1) early, frequent reviews (2) of small, independent, complete contributions (3) conducted asynchronously by a potentially large, but actually small, group of self-selected experts (4) leading to an efficient and effective peer review technique.

References

17