On Sat, May 4, 2019, 16:48 Eric Fried <openstack@fried.cc> wrote:
(NB: I tagged [all] because it would be interesting to know where other
teams stand on this issue.)

Etherpad: https://etherpad.openstack.org/p/nova-ptg-train-governance

Summary:
- There is a (currently unwritten? at least for Nova) rule that a patch
should not be approved exclusively by cores from the same company. This
is rife with nuance, including but not limited to:
  - Usually (but not always) relevant when the patch was proposed by
member of same company
  - N/A for trivial things like typo fixes
- The issue is:
  - Should the rule be abolished? and/or
  - Should the rule be written down?

Consensus (not unanimous):
- The rule should not be abolished. There are cases where both the
impetus and the subject matter expertise for a patch all reside within
one company. In such cases, at least one core from another company
should still be engaged and provide a "procedural +2" - much like cores
proxy SME +1s when there's no core with deep expertise.
- If there is reasonable justification for bending the rules (e.g. typo
fixes as noted above, some piece of work clearly not related to the
company's interest, unwedging the gate, etc.) said justification should
be clearly documented in review commentary.
- The rule should not be documented (this email notwithstanding). This
would either encourage loopholing or turn into a huge detailed legal
tome that nobody will read. It would also *require* enforcement, which
is difficult and awkward. Overall, we should be able to trust cores to
act in good faith and in the appropriate spirit.

efried
.

Keystone used to have the same policy outlined in this email (with much of the same nuance and exceptions). Without going into crazy details (as the contributor and core numbers went down), we opted to really lean on "Overall, we should be able to trust cores to act in good faith". We abolished the rule and the cores always ask for outside input when the familiarity lies outside of the team. We often also pull in cores more familiar with the code sometimes ending up with 3x+2s before we workflow the patch.

Personally <non-core/non-leadership hat> I don't like the "this is an unwritten rule and it shouldn't be documented"; if documenting and enforcement of the rule elicits worry of gaming the system or being a dense some not read, in my mind (and experience) the rule may not be worth having. I voice my opinion with the caveat that every team is different. If the rule works, and helps the team (Nova in this case) feel more confident in the management of code, the rule has a place to live on. What works for one team doesn't always work for another.