Measure your open source communitys age to keep it healthy

To really grasp a free/open source software project, you need to know how the community that develops and supports it is evolving. Attracting lots of new members will be a reason for celebrating success in a young project but you should also check whether they stick around for a long time. In mature projects, however, you can afford not attracting many new members, as long as you are retaining old ones. The ratio of experienced, long-term members to recent ones also tells you about the quality of the code and need to support members.

Of the many aspects to explore, two important metrics are:

Together, both metrics can be used to estimate engagement, to predict the future structure and size of the community, and to detect early potential problems that could prevent a healthy growth.

Both turnover and age structure can be estimated from data in software development repositories. The main source of this information is the source code management repository (such as Git), which provides information about active developers authoring the software. The issue tracking system and the mailing list archives are interesting sources of information as well.

A single chart can be used to visualize turnover and age structure data obtained from these repositories: the community aging chart. This chart resembles to some extent the population pyramid used to learn about the age of populations. It represents the age of developers in the project, in a way that provides insight on its structure. For instance, Figure 1 shows the community aging chart for contributors in Git repositories of the OpenStack project in July 2014.

Figure 1. Community aging chart for authors of code

In Figure 1, the Y axis shows different generations of project members. The chart is divided into periods of six months, with the oldest generation at the top and the youngest at the bottom. For each generation, the green bar (Attracted) represents the number of people that joined it. In other words, how many people were attracted to the community during the corresponding period say, first semester of 2010. Meanwhile, the blue bar (Retained) represents how many people in that generation are still active in the community. In other words, how many of those that were attracted are still retained.

The aging chart can provide insights on many different aspects of the community. Lets review some of them.

The ratio of the pair of bars for each generation is its retention ratio. By comparing the lengths of each pair of bars, we can quickly learn which generations were most successfully retained, and which ones mostly abandoned the project. For the newest generation, retention will always be 100%, since people recently entering the community are still considered to be active (but that depends on the inactivity period, as Ill explain in a moment). A ratio of 50% means that half the people in the generation are still retained.

Link:
Measure your open source communitys age to keep it healthy

Related Posts
This entry was posted in $1$s. Bookmark the permalink.