As one commenter correctly pointed out in my blog post on risk, I hadn’t provided any information on how Pony Factor was calculated. To that end, the below has a explanation, written by Daniel Gruno. Many thanks for him giving me permission to use his work here:
Measuring the diversity of projects using equine mathematics
In order to to a deeper analysis of how ASF projects fare compared to other FOSS projects out there, we created a term we have coined “Pony Factor” (because ASF is full of ponies, or people who think they are ponies).
In laymans terms, Pony Factor (PF) shows the diversity of a project in terms of the division of labor among committers in a project. The higher the PF, the more resilient the project is towards one or more contributors leaving or taking a vacation from a project.
In more mathematical terms, PF is determined as; “The lowest number of committers whose total contribution constitutes the majority of the codebase”. The specific formula we use in this write-up is called Augmented Pony Factor (APF) and takes into account whether or not a committer is still active or not. If not, then these contributions are ignored when determining the overall score of a project.
Pony Factor can be written as:
Where P is the Pony Factor, Cn is the number of commits by committer number n when sorting descending by number of commits, K is the percentage of the codebase we are looking for, and V is the total commit volume.
Let’s take an example: Apache Foo has 30 active committers. Bob, who is still an active committer, has contributed with 8% of the code. Bill, who originally wrote Foo, hasn’t been active for 4 years, but wrote 32% of the overall codebase. Jane, who joined 2 years ago, has written 12% of the codebase, and Rich, Ellen and Joe have each written 10% of the codebase. The rest of the codebase is written by 24 other people. Thus, when ignoring Bill’s contribution, Bob, Jane, Rich, Ellen and Joe have written 50% of the codebase that actively involved contributors have made, and the APF is 5: