Create a "Triage" team for Jupyter/JupyterHub/IPython

I recently discover that GitHub has in beta the ability to create team with only “Triage” rights.
That is to say close and labels PRs and issue – with some nuances, like can’t close a PR from a person with more permissions.

Critically “Triage” team cannot merge, or push on a branch, and exact permission range need to be tested and may vary – edit other’s comment, edit labels, milestone, lock threads… are many things we haven’t tried.

I’m suggesting to create a “triage” team on the orgs; and be “relatively open” to adding people to it.

3 Likes

I think this would be super great. It’s an excellent role that people can help with (where we sorely need help) without folks having to worry about the responsibility of a commit bit.

1 Like

I think this sounds good as well, though we should put effort into guiding these people (either with documentation or mentoring) if we can find bandwidth for it. I agree that this would be a really helpful role.

1 Like

I like the idea.

We should aim for very clear instructions and simple tasks. For example sorting bug reports from support questions from feature requests is easy. Judging how critical a bug is or what the priority of a feature request is with respect to others is hard.

The harder tasks actually require quite a lot of experience with the project and people involved. Which means it isn’t a good “on boarding” activity.

Kinda similar to how writing documentation is often given to newcomers but in reality requires a lot of knowledge of the project, and hence benefits from having experienced people involved.

Maybe overall the conclusion is that we should start with simple and fast to do tasks for the triaging team and include some (very) experienced people in the team.

How would we start recruiting people for this?

I think a first step is to scope out the role title, duties, expectations, and our plan for their trajectory after they finish these roles (so we aren’t just slotting people into never-ending triage jobs). Choose a couple repositories (maybe just one, at first) to see how it goes, and then reach out to some folks that we think might be interested in helping out.

I’ve thought a few times that our JupyterHub/Binder teams jump too quickly from “not affiliated at all with the team” to “you have a lot more expectations and an implied authority”…perhaps roles such as these are good ways to give people a chance to engage more without it being quite as intimidating.

1 Like

Another idea - this might be something that we could pitch a CZI “Essential in Open Science” grant for. I think that the Jupyter community has an opportunity to apply for several different roles in this, and we are well-positioned to make a case that JupyterHub/Notebook/Lab/IPython are all crucial scientific infrastructure.

In the jupyterhub team compass we were discussing using this grant to hire a “Binder fellow” that would be tasked with reviewing PRs, responding to issues, doing the things that need doing every day but that aren’t super sexy and fancy. I wonder if we could task this person with overseeing the triage team as well? Just a thought

1 Like

I was thinking more in term of a reward than a dutie;
I think that the community is relatively well meaning that I do not mind giving labelling privileges to anybody; or even a more straitforward: “You got one PR merged, you get ability to triage”.

Once people have shown that they know how to responsibly label; respond, close issues… etc then we can reward them with more.

If getting the triage bit comes with “Strings attached” then I don’t think it is worth it.

There is also a large number of people who I would give the triage-bit to now w/o hesitation like all the maintainers of scipy-ecosystem projects. If they have commit rights to matplotlib, pandas, spyder, numba… then likely we can trust them to close/reopen or label properly any issue they come across.

Of course we could have a reminder to follow the CoC and “guideline” or “goals”.

Side-note; from a security standpoint; I would also be totally fine to be moved to the triage team on repo like JupyterLab, or Hub. I’m not that active there; and me having commit rights is a security exposure.

So maybe this “Triage” bit can set for different reasons for different people; and we can even have different teams names with triage bit depending on expectations.

I think giving out “triage team membership” liberally is a good idea. The reason I was thinking that we should have some clearly defined tasks and/or rules is to help people so that they don’t have to think (too much) while doing this.

For example a rule like “support questions should always be closed with a message pointing to the forum”. Then there is no ambiguity or stress about going through issues and doing what the rule says. Without the rule I’d personally worry that maybe some should stay as issues and some not and if I accidentally close one that should have remained an issue someone is going to be annoyed and then I have to deal with the stress of that. And if that happens a few times I’ll just stop doing it because I don’t need more stress in my life :slight_smile:

Some other ideas for simple rules:

  • no or not good enough steps for reproducing the problem -> tell poster to improve, link to https://stackoverflow.com/help/minimal-reproducible-example, no help till done
  • issue with good steps to reproduce but no response from maintainers -> ping maintainers about the issue with a note that this is ready for someone to look at or post a message to the reporter about when they can expect someone to look at it
  • duplicate issue -> close and lock with link to earliest copy of the dupe
  • issue with no activity for 30 days -> stale issue, post message that this will get closed in 3 business days unless something substantial happens
  • issue that has been stale for more than three days -> close with a message about how people can help out to generate more free time for the maintainers so they can look at these issues
  • same “about to go stale” and “now stale” for PRs

Even if we don’t have a triage team I’d like it if we could have simple rules like these that no one hates to remove the potential for doing things like this to cause stress.

Ok, I think we just disagree on what a “Rule” is; I’d like to be lenient on rules and prefer “advices” or “guidelines”

I kind of don’t like to close all stales issues after 30 days. I would prefer to leave it at the better judgements of triagers. I guess these guidelines can varies by repos.

1 Like