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

Committer Policy #8

Closed
wants to merge 5 commits into from
Closed

Committer Policy #8

wants to merge 5 commits into from

Conversation

paulidale
Copy link
Contributor

Based over #6 to share the definitions.

Aiming to replace: https://www.openssl.org/policies/committers.html

@paulidale paulidale added the policy change A change to a policy is being proposed label Feb 2, 2022
@paulidale paulidale self-assigned this Feb 2, 2022
@paulidale
Copy link
Contributor Author

Markdown conversion and basic import of the current policy (with a few minor corrections).
Links and other updates to occur in due course.

@paulidale
Copy link
Contributor Author

Still some more definitions/cross referencing to be done.

policies/committer-policy.md Outdated Show resolved Hide resolved
policies/committer-policy.md Outdated Show resolved Hide resolved
policies/committer-policy.md Outdated Show resolved Hide resolved
@paulidale paulidale force-pushed the committers branch 3 times, most recently from f445ba7 to 416fcbf Compare February 4, 2022 04:04
@paulidale
Copy link
Contributor Author

Feedback addressed.

@paulidale paulidale force-pushed the committers branch 3 times, most recently from b70f426 to 62717c2 Compare February 4, 2022 05:47
policies/committer-policy.md Outdated Show resolved Hide resolved
policies/committer-policy.md Outdated Show resolved Hide resolved
policies/committer-policy.md Outdated Show resolved Hide resolved
the author's review does count towards the two needed.

In the case where two committers make a joint submission, they can review
each other's code but not their own. A third reviewer will be required.
Copy link
Member

Choose a reason for hiding this comment

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

So, to be clear, does this mean that in the case where a single PR contains commits from 2 different committers, we only need one additional reviewer? The 2 authors each review the commits authored by the other person, and a 3rd committer reviews all of them?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes. Or a 4th also reviews everything (in which case there is no issue at all).

I had trouble capturing this intent without creating a word jam of undue complexity.

Copy link
Member

Choose a reason for hiding this comment

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

I'm not sure that this exception actually makes sense in practical terms. It would require a clearer view of who does what and a separate set of reviews for each commit and in practical terms that doesn't really seem to happen in PRs in general. I would leave this whole concept out and always have two reviewers who are not the author(s) and see how that works out in practical terms. i.e. this is a premature optimisation for a problem we haven't yet experienced with the changed review rule. We should IMHO put in the simple rule and adjust based on experience with the new rule over time.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm in total agreement that wording isn't ideal as it currently stands.

I also believe that two completely independent reviewers will be problematic in pretty much any instance where this clause applies.

Copy link
Member

Choose a reason for hiding this comment

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

I don't actually see this changing anything, 3 people are needed for the normal case and this case.

Copy link
Member

Choose a reason for hiding this comment

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

I'm with @paulidale that to require 2 additional people to review something done by joint work of 2 committers would be seriously problematic. And I do not think the current wording is unclear or anything.

policies/committer-policy.md Outdated Show resolved Hide resolved
policies/committer-policy.md Outdated Show resolved Hide resolved
policies/committer-policy.md Outdated Show resolved Hide resolved
policies/committer-policy.md Outdated Show resolved Hide resolved
policies/committer-policy.md Outdated Show resolved Hide resolved
policies/committer-policy.md Outdated Show resolved Hide resolved
…r own work

Instead there must be two independent reviews for each submission.
With some special cases to handle more complicated but less common situations.
@paulidale
Copy link
Contributor Author

Unless Kurt has further objections, I'd like to call a vote on this:

Topic: Accept the committer policy as of 3766d6ba2648e716e973af6e1821687ad46ee57c
Proposed by: Pauli
Issue link: https://github.com/openssl/general-policies/issues/8
Public: yes
Opened: 2022-02-17
Closed: YYYY-MM-DD
Accepted:  yes/no  (for: X, against: Y, abstained: Z, not voted: W)

  Kurt       [  ]
  Mark       [  ]
  Matt       [  ]
  Pauli      [+1]
  Richard    [  ]
  Tim        [  ]

@paulidale
Copy link
Contributor Author

Paul: [+1]

@t-j-h
Copy link
Member

t-j-h commented Feb 17, 2022

Vote: [+1]

@t8m
Copy link
Member

t8m commented Feb 17, 2022

The bigger number of formal reviews will be required by the process the more formal and less thorough those reviews will be. IMO that is inevitable. However I think this change in requirements to always have two independent reviewers of a code someone wrote is still well within reasonable limits. I would just not expect this change to have as big impact on the code quality as perhaps someone might expect.

Comment on lines +39 to +41
All submissions must be reviewed and approved by at least two committers,
one of whom must also be an OTC member. Neither of the reviewers can
be the author of the submission.
Copy link

Choose a reason for hiding this comment

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

As a non-OMC member I ask myself: What is the rationale behind this significant tightening of the rules? 🤔

Copy link
Member

Choose a reason for hiding this comment

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

+1.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Mostly it represents a slackness in the current review process.

Copy link
Member

Choose a reason for hiding this comment

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

Well... I'm afraid it will not add much energy to it.

Copy link
Member

Choose a reason for hiding this comment

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

It's about improving quality and ensuring enough eyes look at every change.

Copy link
Member

Choose a reason for hiding this comment

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

I understand intentions but have doubts about results.

Copy link
Member

Choose a reason for hiding this comment

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

I had the same doubts when we introduced the original review process - but I would not go back now. We always have the option of reverting this change if it doesn't work out well.

Copy link
Member

Choose a reason for hiding this comment

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

I agree with the original process, but I think this change will not increase the quality but just processing time.
Could we establish some metrics?

Copy link
Member

Choose a reason for hiding this comment

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

Feasibly we could establish metrics for review time (e.g. measure time from PR Open to PR Close). I'm not sure how you would establish metrics for quality.

Copy link

Choose a reason for hiding this comment

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

In some specific cases, it would be possible to improve the quality of the review by not just looking at the code but also download and build it locally, and then test it independently of the author. But I doubt that such an option could be turned into in a general requirement.

each other's code but not their own. A third reviewer will be required.

An OMC member may apply a _hold: needs OMC decision_ label to a submission.
An OTC member may apply a _hold: needs OTC decision_ to a submission.
Copy link
Member

Choose a reason for hiding this comment

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

Didn't think of this until now (so probably something to think about after the vote) - but do we mean to restrict things so that only OMC can place an OMC hold and only OTC can place an OTC hold? Shouldn't it be possible for any committer to refer a decision to OMC or OTC if they think it is appropriate?

Copy link

@mspncp mspncp Feb 17, 2022

Choose a reason for hiding this comment

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

Only OMC/OTC members should be able to force an OMC/OTC vote by placing a hold. Anyone else (committer or normal community member) still has the possibility to convince one or more OMC/OTC members of his opinion and get them to place the hold.

@mattcaswell
Copy link
Member

Accept the committer policy as of 3766d6b

Question: This PR seems to have a new unrelated commit in it to define perlasm. Its the same commit as is present in #10. The vote that has been called mentions a commit hash which includes that new commit. Was this intentional? I don't object to the new commit per se but it seems strange to be including it in a vote about committer policy.

@mspncp
Copy link

mspncp commented Feb 17, 2022

Question: This PR seems to have a new unrelated commit in it to define perlasm. Its the same commit as is present in #10. The vote that has been called mentions a commit hash which includes that new commit. Was this intentional? I don't object to the new commit per se but it seems strange to be including it in a vote about committer policy.

I don't see such a commit in this PR. Where did you notice it?

@mspncp
Copy link

mspncp commented Feb 17, 2022

Ah! I understand: Paul referred to the wrong commit id in the vote topic.

@paulidale
Copy link
Contributor Author

It should have been 76bb566.
I don't object to 3766d6b also going in, one less vote is good :)

@mattcaswell
Copy link
Member

If the vote is actually for 76bb566 then I vote +1. If it is for 3766d6b then I vote 0 since I don't think its a good idea to be mixing votes like this, but I don't actively object to the content.

@kroeckx
Copy link
Member

kroeckx commented Feb 19, 2022

I'm voting +1

@paulidale
Copy link
Contributor Author

paulidale commented Feb 20, 2022

I went with 76bb566 for simplicity #10 has the other text.

Topic: Accept the committer policy as of 76bb566cf401e05bc54cd81ce429e83e2827278a
Proposed by: Pauli
Issue link: https://github.com/openssl/general-policies/issues/8
Public: yes
Opened: 2022-02-17
Closed: 2022-02-21
Accepted:  yes  (for: 4, against: 0, abstained: 0, not voted: 2)

  Kurt       [+1]
  Mark       [  ]
  Matt       [+1]
  Pauli      [+1]
  Richard    [  ]
  Tim        [+1]

@paulidale paulidale closed this Feb 20, 2022
@levitte
Copy link
Member

levitte commented Mar 1, 2022

Vote: 0

@levitte
Copy link
Member

levitte commented Mar 1, 2022

(the label "ready to vote" was never set on this one...)

@iamamoose
Copy link
Member

[0]

@paulidale paulidale deleted the committers branch May 9, 2022 01:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
policy change A change to a policy is being proposed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants