Build Great Project Contributor & Community Health Reports

As a Project Lead or Maintainer, it is essential to understand and communicate the health of your project through contributor and community growth assessments. These reports are often created and presented to boards for project life cycle graduation.

Projects tend to have different names for project life cycles, but typically you’re either:

· Establishing your community

· Scaling your community

· Maintaining your community

A significant aspect of graduating from project life cycles is to provide reports on your contributor and community’s health.

Building these reports showcases your:

· Current number of contributors and committers

· Number of different organizations contributing to the project

· Demonstrate a sustained flow of commits or merged contributions

With LFX Insights, you can quickly highlight a few charts that allow you to measure your project’s contribution to community health. Using the data from these charts, we can also create credible plans for developing or sustaining your thriving contributor community.

Here are a few charts that will help us build these reports:

Understand your current number of active contributors:

The Contributor Growth and Retention trend chart is a great way to understand your current count of active contributors.

Understand your current number of active contributors:

The Contributor Growth and Retention trend chart is a great way to understand your current count of active contributors.

LFX Insights > Search for your project > Trends > Filter reporting time > Contributor Growth And Retention

A contributor performing code activity (Commits/PRs/Changesets) or submitting/resolving bugs within the last 1 year is marked “active” whereas a contributor not performing any code activity in the last 6 months is marked “drifting away”.

  • Note: A drifting away contributor becomes completely inactive if they no longer qualify as being an active contributor i.e. they have been in drifting away for more than a year continuously.

It is great to show Active contributor growth over time here, if your active contributors are declining it may be a good idea to recognize and reward your active developers to encourage retention.

You can find a post on how to use Insights to do this here: How to find your most active developers in your project - Content & Articles - LFX Community Forums

Showcase the current number of different organizations contributing to the project:

Organization Engagement is a great way to quickly understand how many organizations are affiliated with your project.

LFX Insights > Search for your project > Trends > Filter reporting time > scroll to Organization Engagement

It is good to showcase you have multiple organizations participating in your project. Consistent organizational contributions help show your project’s business impact in the industry or over several industries. Understanding the industries contributing to your project can also aid in defining the scope of your project.

Understand your Committer Diversity

Top 10 Organizations By Commits is a great graph to demonstrate your contributor diversity.

LFX Insights > Search for project > Technical Metrics > Filter time> Top 10 Organizations By Commits

The graphic above was taken by @John_Mertic’s post on how he leverages LFX Insights for the ASWF project. Showcase the value of a foundation with LFX Insights - Get LFX Tool Help / LFX Insights - LFX Community Forums

By changing the time filter of this graph we can showcase the growth of your committer diversity over time. This is a great way to showcase growth in adoption for your project and the more member companies the better, if we see more colors over time this helps in representing a healthy diverse contributor community.

Demonstrate a sustained flow of commits & merged contributions

LFX Insights > Search for your project > Trends > Filter reporting time > scroll to Organization Engagement

A healthy code pipeline will vary from project to project, but this will show the activity and impact your community is having on your project.


With these charts it should be quick and easy to create project health reports for your boards and communities.

Food for thought: Do you consider CI/CD when determining the health of a project for creating project health reports? If so how do you measure a healthy CI/CD process?

2 Likes

Good post @Henry_Quaye! A few thoughts…

  • It would be interesting to look more at the drifting away contributors by tenure. A fair amount of contributions are often one-off, which isn’t a bad thing, but can tell a mixed message if you look at a one-off contributor drifting away vs one who has been contributing multiple times over the course of time.
  • The Code Pipeline seems a bit confusing or out of order. I feel the intention is to demostrate the flow of contributions to what actually lands in the project, correct? If so, it might make sense to rethink that chart.
  • I mentioned this in another post - but CI/CD can be a problematic metric for health as how projects do CI/CD differs based on velocity and processes.

Good stuff!

2 Likes

Thank you @John_Mertic !

This is a good point! What do you believe would be a good amount of time to describe a tenured contributor.

@John_Mertic Is there a specific action in the pipeline you believe is out of order? Personally, I see it as understanding how code gets merged to the project, it would help me possibly understand how active maintainers are. But I would love for you to expound on your thoughts on how the code pipeline can improve or be more clear. How could it be useful to you?

Hey @sgupta, what are your thoughts on the purpose of the code pipeline chart?

Very true, personally I am just very interested/curious in understanding how CI/CD processes are measured from project to project. From my understanding, many projects run Jenkins and some use GitLab CI, a better question may be how do we measure or showcase the continuous success of jobs.

This may be a case-to-case question, based on CI/CD tool, but I would love to know more about this.

1 Like

Thanks @Henry_Quaye!

Regarding tenure, it’s hard to specifically look at but I would think someone who does a single commit and then never again would seem like a one-off; those are probably the most interesting to segment out. If someone does a few commits, they likely have some interest in deeper engagement.

For the pipeline - I think ‘commits’ at the front is throwing me off as it’s not a super useful stat. I think generally ‘Submitted’->‘Reviewed’->‘Approved’->‘Merged’ makes the most sense as a workflow, but in many communities the last two are often one in the same. Not sure if that helps.