<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Good, wide ranging discussion.<div class=""><br class=""></div><div class="">From my point of view, this isn’t about trusting cores, rather (as was pointed out by others) ensuring people with different customer perspectives be part of the approval. Of course, you could argue they could have -1’d it anyway, but I think ensuring cross-company approval helps us overall, and so I’m comfortable and support with the existing approach.</div><div class=""><br class=""><div class="">Henry</div></div><div><blockquote type="cite" class=""><div class="">On 24 Nov 2015, at 09:06, Henry Nash <<a href="mailto:henry.nash@icloud.com" class="">henry.nash@icloud.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Good, wide ranging discussion.<div class=""><br class=""></div><div class="">From my point of view, this isn’t about trusting cores, rather (as was pointed out by others) ensuring people with different customer perspectives be part of the approval. Of course, you could argue they could have -1’d it anyway, but I think ensuring cross-company approval helps us overall, and so I’m comfortable and support with the existing approach.</div><div class=""><br class=""><div class="">Henry<br class=""><div class=""><blockquote type="cite" class=""><div class="">On 24 Nov 2015, at 05:55, Clint Byrum <<a href="mailto:clint@fewbar.com" class="">clint@fewbar.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Excerpts from Adam Young's message of 2015-11-23 20:21:47 -0800:</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">On 11/23/2015 11:42 AM, Morgan Fainberg wrote:<br class=""><blockquote type="cite" class="">Hi everyone,<br class=""><br class="">This email is being written in the context of Keystone more than any<span class="Apple-converted-space"> </span><br class="">other project but I strongly believe that other projects could benefit<span class="Apple-converted-space"> </span><br class="">from a similar evaluation of the policy.<br class=""><br class="">Most projects have a policy that prevents the following scenario (it<span class="Apple-converted-space"> </span><br class="">is a social policy not enforced by code):<br class=""><br class="">* Employee from Company A writes code<br class="">* Other Employee from Company A reviews code<br class="">* Third Employee from Company A reviews and approves code.<br class=""><br class="">This policy has a lot of history as to why it was implemented. I am<span class="Apple-converted-space"> </span><br class="">not going to dive into the depths of this history as that is the past<span class="Apple-converted-space"> </span><br class="">and we should be looking forward. This type of policy is an actively<span class="Apple-converted-space"> </span><br class="">distrustful policy. With exception of a few potentially bad actors<span class="Apple-converted-space"> </span><br class="">(again, not going to point anyone out here), most of the folks in the<span class="Apple-converted-space"> </span><br class="">community who have been given core status on a project are trusted to<span class="Apple-converted-space"> </span><br class="">make good decisions about code and code quality. I would hope that<span class="Apple-converted-space"> </span><br class="">any/all of the Cores would also standup to their management chain if<span class="Apple-converted-space"> </span><br class="">they were asked to "just push code through" if they didn't sincerely<span class="Apple-converted-space"> </span><br class="">think it was a positive addition to the code base.<br class=""><br class="">Now within Keystone, we have a fair amount of diversity of core<span class="Apple-converted-space"> </span><br class="">reviewers, but we each have our specialities and in some cases<span class="Apple-converted-space"> </span><br class="">(notably KeystoneAuth and even KeystoneClient) getting the required<span class="Apple-converted-space"> </span><br class="">diversity of reviews has significantly slowed/stagnated a number of<span class="Apple-converted-space"> </span><br class="">reviews.<br class=""><br class="">What I would like us to do is to move to a trustful policy. I can<span class="Apple-converted-space"> </span><br class="">confidently say that company affiliation means very little to me when<span class="Apple-converted-space"> </span><br class="">I was PTL and nominating someone for core. We should explore making a<span class="Apple-converted-space"> </span><br class="">change to a trustful model, and allow for cores (regardless of company<span class="Apple-converted-space"> </span><br class="">affiliation) review/approve code. I say this since we have clear steps<span class="Apple-converted-space"> </span><br class="">to correct any abuses of this policy change.<br class=""><br class="">With all that said, here is the proposal I would like to set forth:<br class=""><br class="">1. Code reviews still need 2x Core Reviewers (no change)<br class="">2. Code can be developed by a member of the same company as both core<span class="Apple-converted-space"> </span><br class="">reviewers (and approvers).<br class="">3. If the trust that is being given via this new policy is violated,<span class="Apple-converted-space"> </span><br class="">the code can [if needed], be reverted (we are using git here) and the<span class="Apple-converted-space"> </span><br class="">actors in question can lose core status (PTL discretion) and the<span class="Apple-converted-space"> </span><br class="">policy can be changed back to the "distrustful" model described above.<br class=""><br class="">I hope that everyone weighs what it means within the community to<span class="Apple-converted-space"> </span><br class="">start moving to a trusting-of-our-peers model. I think this would be a<span class="Apple-converted-space"> </span><br class="">net win and I'm willing to bet that it will remove noticeable<span class="Apple-converted-space"> </span><br class="">roadblocks [and even make it easier to have an organization work<span class="Apple-converted-space"> </span><br class="">towards stability fixes when they have the resources dedicated to it].<br class=""><br class="">Thanks for your time reading this.<br class=""></blockquote><br class="">So, having been one of the initial architects of said policy, I'd like<span class="Apple-converted-space"> </span><br class="">to reiterate what I felt at the time.  The policy is in place as much to<span class="Apple-converted-space"> </span><br class="">protect the individual contributors as the project.  If I was put in a<span class="Apple-converted-space"> </span><br class="">position where I had to review and approve a coworkers code changes, it<span class="Apple-converted-space"> </span><br class="">is is easier for me to push back on a belligerent manager to say "this<span class="Apple-converted-space"> </span><br class="">violates project policy."<br class=""><br class="">But, even this is a more paranoid rationale than I feel now.  Each of us<span class="Apple-converted-space"> </span><br class="">has a perspective based on our customer base.   People make decisions<span class="Apple-converted-space"> </span><br class="">based on what they feel to be right, but right for a public cloud<span class="Apple-converted-space"> </span><br class="">provider and right for an Enterprise Software vendor will be different.  <br class="">Getting a change reviewed by someone outside your organization is for<span class="Apple-converted-space"> </span><br class="">perspective.  Treat it as a brake against group think.<br class=""><br class="">I know and trust all of the current Keystone core very well.  I have no<span class="Apple-converted-space"> </span><br class="">expectation that any of them would violate the policy, even given the<span class="Apple-converted-space"> </span><br class="">looser interpretation.<br class=""><br class=""></blockquote><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Adam this has been enlightening. I'm not sure I would do things the same</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">way, but I do have a greater understanding now of why things are the way</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">they are, and I fully respect that it has worked out O-K thus far. Thanks.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">__________________________________________________________________________</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">OpenStack Development Mailing List (not for usage questions)</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Unsubscribe:<span class="Apple-converted-space"> </span></span><a href="mailto:OpenStack-dev-request@lists.openstack.org" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">OpenStack-dev-request@lists.openstack.org</a><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">?subject:unsubscribe</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></div></blockquote></div><br class=""></div></div></div></div></blockquote></div><br class=""></body></html>