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

Updating changes to Approver and Reviewer #591

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

jbottum
Copy link
Contributor

@jbottum jbottum commented Dec 12, 2022

@kimwnasptd I think we need to review the requirements for approver and approver, especially the number of PRs that each title must work on. Please see my suggestions in this PR.

@kimwnasptd I think we need to review the requirements for approver and approver, especially the number of PRs that each title must work on.   Please see my suggestions in this PR.
@google-oss-prow
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: jbottum
Once this PR has been reviewed and has the lgtm label, please assign theadactyl for approval by writing /assign @theadactyl in a comment. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

- Primary reviewer for at least 5 PRs to the codebase
- Reviewed or merged at least 20 substantial PRs to the codebase
- Primary reviewer for at least 3 PRs to the codebase
- Reviewed or merged at least 5 substantial PRs to the codebase
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would clarify what substantial means:

Perhaps add something like "with the definition of substantial subject to the lead's discretion (e.g. refactors, enhancements rather than grammar correction or one-line pulls)" similar to what we are doing at Argo project.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1. As in the Argo doc, we can also combine these 2 points to one Reviewer for or author of at least 5 substantial PRs to the codebase,

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 to Johnu's wording.

Copy link
Contributor Author

@jbottum jbottum Jan 12, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, I changed to "Reviewer for or author of at least 5 substantial PRs to the codebase" in 2nd commit

@@ -96,8 +96,8 @@ The following apply to the part of codebase for which one would be a reviewer in
an [OWNERS] file (for repos using the bot).

- member for at least 3 months
- Primary reviewer for at least 5 PRs to the codebase
- Reviewed or merged at least 20 substantial PRs to the codebase
- Primary reviewer for at least 3 PRs to the codebase
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3 substantial PRs?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, I changed in "Reviewer for or author of at least 5 substantial PRs to the codebase" in 2nd commit

Comment on lines 142 to 143
- Primary reviewer for at least 5 substantial PRs to the codebase
- Reviewed or merged at least 10 PRs to the codebase
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This only mentioned reviewing PRs. I think we want to promote people who actually authored substantial PRs.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1. Similar comment as before. Combining to one, Reviewer for or author of at least 10 substantial PRs to the codebase

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 to Johnu's wording.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, I updated to "Reviewer for or author of at least 5 substantial PRs to the codebase" in 2nd commit

@kimwnasptd
Copy link
Member

kimwnasptd commented Dec 13, 2022

Thanks for starting this effort @jbottum! I'll take a more detailed look within the week and add some more concrete comments.

The first thing I believe we should improve is the fact that we have a lot of information exposed in different places of kubeflow/community

We should try and have "tracking doc" that ties all these together. This will make it easier for new contributors to understand the governance structure and expectations. That could even be a page in the kubeflow.org site, to have even more exposure.

Then regarding the file in this PR (wgs/community-membership.md) what I believe is missing is:

  • Expose how the subproject owners map to the other files (IIUC it's the workinggroups[i].subprojects[x].owners in wgs.yaml
  • Also expose how someone can become a WG Tech Lead from a subproject owner
  • Expose how a WG Tech Lead can become a chair

@kimwnasptd
Copy link
Member

kimwnasptd commented Dec 13, 2022

I see that folks also mention using terminology and processes from other projects. While I really like the idea of pick and choosing concepts, like identifying inactive contributors, I believe that for now we just need to make sure our current roles/governance-model is exposed in a central visible place and explained in "simple terms".

While I do really like how Argo has a more simplified model (they have just the term of a subproject lead, which represents OWNERS in repos) I think it would introduce too much friction right now to change our roles.

To close this, I'll just end with exposing my current understanding about approvers/reviewers and all the way to WG Chairs:

  • reviewers in folders of a GH repo (subproject) are responsible for the quality of code. We should be relatively lax on allowing members to become reviewers
  • approvers in folders of a GH repo (subproject) are responsible for technical decision making for the code they "own". We need to identify in this PR the threshold and criteria on when a reviewer should become and approver (i.e. commitment measured in PRs/comments per months, number of PRs, showing technical leadership etc)
  • subproject owners, or simply put approvers in the root OWNERS files of a Kubeflow project. At least this is my understanding from the subprojects section in the wgs.yaml
    • We need a clear path on when should an approver in sub-folders of a repo be added in the "root" OWNERS file
    • Make sure we document that the subproject owner role is mostly technical
  • WG Tech Lead is someone that has technical expertise in the subprojects of a WG. They are responsible to distinguish technical problems in the code architecture and work with the WG Chairs on creating a ROADMAP for the WG and breaking down/prioritizing tasks https://github.com/kubeflow/community/blob/master/wgs/wg-governance.md#tech-lead
  • WG Chair is responsible for setting the high level direction of the WG, by working alongside the WG Tech Leads to ensure the agreed goals are viable and decide where to prioritize https://github.com/kubeflow/community/blob/master/wgs/wg-governance.md#chair

Reminder that right now a WG Lead is considered someone that is either a Tech Lead, a Chair, or a Subproject Owner https://github.com/kubeflow/community/blob/master/wgs/wg-governance.md#notes-on-roles

Within this section "Lead" refers to someone who is a member of the union of a Chair, Tech Lead or Subproject Owner role

@zijianjoy
Copy link
Contributor

To @jbottum : I would like to learn more about the reason behind this PR change: is there an individual or a group of individuals who we are trying to promote as reviewer/approver, but they are blocked due to current PR count requirements? Can WG lead make a collective decision to sponsor such individual?

A sidenote: I think @kimwnasptd 's comment in this PR is helpful in terms of exposing current role structure in a centralized place in simple term at the current timeframe, we still have time to improve the detail of role structure after donating to CNCF.

@jbottum
Copy link
Contributor Author

jbottum commented Dec 16, 2022

@zijianjoy this proposed PR change was intended to 1) make sure the WG leads have reviewed the requirements for approver and reviewer 2) find the smallest change possible that is still operational in practice. I am supportive of the ideas in this thread and would like to get to a concrete consensus on something we can understand, explain and follow.

@theadactyl
Copy link
Contributor

theadactyl commented Dec 16, 2022 via email

@jbottum
Copy link
Contributor Author

jbottum commented Dec 17, 2022

@kimwnasptd @johnugeorge @andreyvelich In your opinion, are we using the sub project position? Should we delete it to make things more simple ?

Updated Reviewer and Approver minimum requirements to "Reviewer for or author of at least 5 substantial PRs to the codebase" per previous comments from Terry and Johnu.
@juliusvonkohout
Copy link
Member

since we want to have more hands to help with the community stuff, how can we move forward here?

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

Successfully merging this pull request may close these issues.

8 participants