Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introducing "Maintainers in Training" program to introduce new maintainers #195

Open
sandeshkr419 opened this issue Mar 20, 2024 · 7 comments
Labels
discuss Issues calling for discussion

Comments

@sandeshkr419
Copy link
Contributor

sandeshkr419 commented Mar 20, 2024

Is your feature request related to a problem? Please describe

OpenSearch is a vast repo with several complex internal features and requires in-depth knowledge of code bases pertaining to different segments such as search, indexing, plugins, cluster management. From a practical stand point, it is not feasible for all contributors or maintainers to gain expertise in all of them. Although we have 25 maintainers for this repo, the number of maintainers having expertise on major core areas like search, indexing can certainly have more experts helping out contributors with reviews and help speed up contributions.

Describe the solution you'd like

Proposing a Maintainer in Training (MiT) program that can assist contributors to step up as maintainers with a clear, actionable plan.

The Maintainers in Training in no way replaces the existing process to become a maintainer. This however intends to streamline the process of becoming a maintainer for active contributors. This will require existing maintainers to pair up with active contributors (number depending upon their bandwidth), to help them with implementation of the training plan by constantly providing them feedback over a period of time. The maintainers can then nominate the trainees to be part of maintainer group with supporting points through the existing process.

Nomination for MiT:

Can be initiated either by existing maintainers or by self.
Issue Template highlighting nomination criteria for MiT nomination [to be drafted] - this can be used to track progress and note down feedback with MiT process.

Roles and Responsibilities:

[to be drafted based on feedback on this issue]
In brief, paired up with a mentor, the mentee would assist in reviewing open PRs, discuss their feedback with the mentor, and mentor would have to provide feedback on the mentee’s assessment on their reviews. It is assumed that the mentee here is already an active contributor to the repo and has demonstrated good understanding on some areas of code base.

Feedback Template:
[to be drafted]
We would want to capture actionable feedback which can be taken into consideration by the mentee in next actions.

Related component

Other

Describe alternatives you've considered

No response

Additional context

Requesting feedback from active maintainers on their views and likelihood to participate in this practice. The goal is to pace up development in features and performance, increase engagement by having more maintainers for the repo. The Maintainers in Training program should ensure that the quality of feedbacks provided by new maintainers upholds high bar in quality but at the same time provide opportunity to demonstrate & hone these skills.

The above information after discussion will be drafted and should be appended to https://github.com/opensearch-project/OpenSearch/blob/main/MAINTAINERS.md

@sandeshkr419 sandeshkr419 added enhancement New feature or request discuss Issues calling for discussion untriaged and removed enhancement New feature or request untriaged labels Mar 20, 2024
@dblock
Copy link
Member

dblock commented Mar 20, 2024

I like the idea of adding some words into https://github.com/opensearch-project/.github/blob/main/RESPONSIBILITIES.md about mentoring maintainers. However, I don't think we need any formal program, what stops you from doing what you propose today ad-hoc?

@sandeshkr419
Copy link
Contributor Author

Hi @dblock - The main blocker I see is absence of a feedback mechanism on my contributions on others contributions - not counting my own code contributions because they are anyway reviewed. So an active and dedicated feedback mechanism can help an active code contributor step up as maintainer. This in no way stopping someone from following their own path to be qualify as a maintainer.

Also, one more point which came out on 3/20 Search meetup (with @andrross, @reta) was that this might subdue the diversity that different maintainers bring with them as having a structure to qualify as a maintainer might narrow down the way people showcase their skills. I'd loop in @msfroh for his views as well as this idea was primarily a casual lunch chat on how other contributors can be coached for better reviews, so as to existing maintainers can prioritize their bandwidth better given the lack of expertise in core areas which creates a huge dependency on some maintainers more.

I do however agree that the process in no way should discourage the individuals to showcase their skills in their own way.

@dblock
Copy link
Member

dblock commented Mar 22, 2024

@sandeshkr419

I'd start small. I think it would be good to have a project-wide call to training/mentoring maintainers before we introduce any formal process How do you feel about adding a new section to https://github.com/opensearch-project/.github/blob/main/RESPONSIBILITIES.md called "Training Other Maintainers" (an additional responsibility)? I'd merge a change that describes in short the spirit of what you said above minus the whole process.

@peternied
Copy link
Member

@sandeshkr419 I like the bias for action a focused pull request in the .github project would be a good way to kick off discussion and iterate towards agreement.

For your broader thoughts, maybe you could write up what you believe a contributor -> maintainer workflow looks like a post it on a personal blog? For me, I know my process for considering a nominating includes many subjective elements - that vary by repository that would be hard to capture well in project-wide guidance.

@sandeshkr419
Copy link
Contributor Author

Hi @dblock @peternied

Thanks for the inputs. I discussed the same in one of our previous Search meetup and the discussions were coherent with your views. Coming up with an additional maintainer responsibility (in .github project) seems like the accurate small step in this direction.

Let me draft up a small wording for review.

@dblock
Copy link
Member

dblock commented Apr 12, 2024

@sandeshkr419 I'm moving this to .github

@dblock dblock transferred this issue from opensearch-project/OpenSearch Apr 12, 2024
@dbwiddis
Copy link
Member

dbwiddis commented Jul 7, 2024

A bit slow to respond to this, but I want to both appreciate the intent (yay, let's bring more people onboard) and hesitate to formalize a process that creates a barrier.

I'm all for documenting "hey, here's 'in general' what we look for in maintainers" and trying to create some sort of mentorship program with some guidelines. Happy to discuss with @sandeshkr419 how to move this forward, we really do need to make an intentional effort here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discuss Issues calling for discussion
Projects
None yet
Development

No branches or pull requests

4 participants