[openstack-dev] [keystone][all] Move from active distrusting model to trusting model

Clint Byrum clint at fewbar.com
Tue Nov 24 05:55:23 UTC 2015


Excerpts from Adam Young's message of 2015-11-23 20:21:47 -0800:
> On 11/23/2015 11:42 AM, Morgan Fainberg wrote:
> > Hi everyone,
> >
> > This email is being written in the context of Keystone more than any 
> > other project but I strongly believe that other projects could benefit 
> > from a similar evaluation of the policy.
> >
> > Most projects have a policy that prevents the following scenario (it 
> > is a social policy not enforced by code):
> >
> > * Employee from Company A writes code
> > * Other Employee from Company A reviews code
> > * Third Employee from Company A reviews and approves code.
> >
> > This policy has a lot of history as to why it was implemented. I am 
> > not going to dive into the depths of this history as that is the past 
> > and we should be looking forward. This type of policy is an actively 
> > distrustful policy. With exception of a few potentially bad actors 
> > (again, not going to point anyone out here), most of the folks in the 
> > community who have been given core status on a project are trusted to 
> > make good decisions about code and code quality. I would hope that 
> > any/all of the Cores would also standup to their management chain if 
> > they were asked to "just push code through" if they didn't sincerely 
> > think it was a positive addition to the code base.
> >
> > Now within Keystone, we have a fair amount of diversity of core 
> > reviewers, but we each have our specialities and in some cases 
> > (notably KeystoneAuth and even KeystoneClient) getting the required 
> > diversity of reviews has significantly slowed/stagnated a number of 
> > reviews.
> >
> > What I would like us to do is to move to a trustful policy. I can 
> > confidently say that company affiliation means very little to me when 
> > I was PTL and nominating someone for core. We should explore making a 
> > change to a trustful model, and allow for cores (regardless of company 
> > affiliation) review/approve code. I say this since we have clear steps 
> > to correct any abuses of this policy change.
> >
> > With all that said, here is the proposal I would like to set forth:
> >
> > 1. Code reviews still need 2x Core Reviewers (no change)
> > 2. Code can be developed by a member of the same company as both core 
> > reviewers (and approvers).
> > 3. If the trust that is being given via this new policy is violated, 
> > the code can [if needed], be reverted (we are using git here) and the 
> > actors in question can lose core status (PTL discretion) and the 
> > policy can be changed back to the "distrustful" model described above.
> >
> > I hope that everyone weighs what it means within the community to 
> > start moving to a trusting-of-our-peers model. I think this would be a 
> > net win and I'm willing to bet that it will remove noticeable 
> > roadblocks [and even make it easier to have an organization work 
> > towards stability fixes when they have the resources dedicated to it].
> >
> > Thanks for your time reading this.
> 
> So, having been one of the initial architects of said policy, I'd like 
> to reiterate what I felt at the time.  The policy is in place as much to 
> protect the individual contributors as the project.  If I was put in a 
> position where I had to review and approve a coworkers code changes, it 
> is is easier for me to push back on a belligerent manager to say "this 
> violates project policy."
> 
> But, even this is a more paranoid rationale than I feel now.  Each of us 
> has a perspective based on our customer base.   People make decisions 
> based on what they feel to be right, but right for a public cloud 
> provider and right for an Enterprise Software vendor will be different.  
> Getting a change reviewed by someone outside your organization is for 
> perspective.  Treat it as a brake against group think.
> 
> I know and trust all of the current Keystone core very well.  I have no 
> expectation that any of them would violate the policy, even given the 
> looser interpretation.
> 

Adam this has been enlightening. I'm not sure I would do things the same
way, but I do have a greater understanding now of why things are the way
they are, and I fully respect that it has worked out O-K thus far. Thanks.



More information about the OpenStack-dev mailing list