<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jun 3, 2015 at 9:33 AM, James Bottomley <span dir="ltr"><<a href="mailto:James.Bottomley@hansenpartnership.com" target="_blank">James.Bottomley@hansenpartnership.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Wed, 2015-06-03 at 09:29 +0300, Boris Pavlovic wrote:<br>
> *- Why not just trust people*<br>
><br>
> People get tired and make mistakes (very often).<br>
> That's why we have blocking CI system that checks patches,<br>
> That's why we have rule 2 cores / review (sometimes even 3,4,5...)...<br>
><br>
</span>> In ideal work Lieutenants model will work out of the box. In real life all<br>
> checks like:<br>
> person X today has permission to do Y operation should be checked<br>
> automatically.<br>
><br>
> This is exactly what I am proposing.<br>
<br>
This is completely antithetical to the open source model.  You have to<br>
trust people, that's why the project has hierarchies filled with more<br>
trusted people.  Do we trust people never to make mistakes?  Of course<br>
not; everyone's human, that's why there are cross checks.  It's simply<br>
not possible to design a system where all the possible human mistakes<br>
are eliminated by rules (well, it's not possible to imagine: brave new<br>
world and 1984 try looking at something like this, but it's impossible<br>
to build currently in practise).<br>
<br>
So, before we build complex checking systems, the correct question to<br>
ask is: what's the worst that could happen if we didn't?  In this case,<br>
two or more of your lieutenants accidentally approve a patch not in<br>
their area and no-one spots it before it gets into the build.<br>
Presumably, even though it's not supposed to be their areas, they<br>
reviewed the patch and found it OK.  Assuming the build isn't broken,<br>
everything proceeds as normal.  Even if there was some subtle bug in the<br>
code that perhaps some more experienced person would spot, eventually it<br>
gets found and fixed.<br>
<br>
You see the point?  This is roughly equivalent to what would happen<br>
today if a core made a mistake in a review ... it's a normal consequence<br>
we expect to handle.  If it happened deliberately then the bad<br>
Lieutenant eventually gets found and ejected (in the same way a bad core<br>
would).  The bottom line is there's no point building a complex<br>
permission system when it wouldn't really improve anything and it would<br>
get in the way of flexibility.<br>
<span class="HOEnZb"><font color="#888888"><br>
James<br></font></span></blockquote><div><br></div><div>I agree with what James is saying here. The entire system is built on trust and accountability. If either of those things are breached, the system will need some help to self correct. Building things into the process which slow it down shouldn't be the goal. Building the trust and accountability at a human level should be the goal.<br><br></div><div>Thanks,<br></div><div>Kyle<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="HOEnZb"><font color="#888888">
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div></div></blockquote></div><br></div></div>