In the past few days, I’ve been in conversations in two different open source communities around the question: Who are the active maintainers?
There’s a variety of reasons to ask this question, mostly around who we hold accountable, how we measure the health of a project, and who to go to for answers. But in each case, it’s become clear to me that this is a much more complicated question than it appears on the surface. Let’s unpack that just a little.
Here’s a few of the things you should consider before even asking this question.
You should think a lot about why you’re even asking the question. That is, what will you do with the answer once you have it? How will it change how you interact with the project? Be specific. Because if you don’t understand that, then you’re likely measuring the wrong thing. Will you treat people differently based on how you have categorized them? Are there actual different levels of privileges, rights, or whatever, when someone switches “active” status? Does it actually matter if someone hangs around and isn’t active? (ie, does it actually have any costs – financial or social or otherwise – for someone to remain on the roll who isn’t “active”?) What *problem* are you trying to solve? If you cannot answer that, then the rest of this conversation isn’t very meaningful.
Understand that “Active” is a judgement call. What qualifies as active? Is it, in fact, something that you can measure empirically? Does it value certain kinds of actions more than others? Who does that benefit?
Keep in mind that “Active” is not binary, and changes over time. Particularly in open source where engagement is voluntary, people will be active one day, and inactive the next, which doesn’t mean that they’ll never come back.
Labels matter to people, and to their employers. Categorizing someone as an active maintainer, and putting that on your website, may have real impact on them, both personally and professionally. Not doing so, likewise. If you categorize someone as “not active”, you will likely make them feel pressured to do something that maybe they just can’t right now. This will often kill joy, rob passion, and drive people away who could be very valuable to your project. It may even have a direct impact on their employment. Maybe consider not doing this. Particularly not without the consent and knowledge of everyone involved.
Often, there is an implicit class system between people who are paid to work on $thing full time, and people who do it part time. The full time folks often look down on the part timers, who are not able to move at the same pace. This is not because they are less competent, it’s just because they have less time for it. Saying that those people are less active might be true for some definition, but it’s not True, and it’s not helpful. Be very careful what you measure.
You will feel tempted, because you are an engineer, to build tooling to measure “active”. Consider not doing that. Because any measurement that you encode in metrics makes assumptions about everyone that are sure not to be true for some people, and are likely to punish some subset for being human, and subject to human considerations.
Let people self-designate, and ask the question in a non-binary way. For example, possible answers might be:
- Yes, I’m active
- Yes, I’m here, but only partially paying attention. I can respond in an emergency
- No, not really here. I peek in occasionally, but no longer feel like I can respond meaningfully
- No, I have left, and am not coming back.
But, even then, be sure to allow people to change their answer easily. Don’t put them in a bucket forever and make them re-earn their merit before switching back. Life is chaotic, and unpredictable. People’s availability, interests, and needs change moment by moment.
Note that maybe this is the same conversation as “who is a committer/maintainer/member of my project” but it might not be, depending on what governance of your project looks like. At Apache, people gain committer status, and we have a saying that “merit doesn’t expire.” But people’s priorities, skills, and time availability, do change over time.