John, A few comments. I think a couple of crucial points are missing. I think we need two +1 votes from different organizations responsible for different environment. Like SUSE for SLES and Mirantis for PFS, opencloud for hyper-V, Dell for Ubuntu and/or RHEL.
Agree with Adam that we need more precise SME definition. We really use SME in two ways. One code expert to review and vote on proposals. Another is maintainer, component owner who has discretion to merge in simple pulls and urgent git fixes. I think we will end up with 2 layers of SME. Overall and individual components. Arkady -----Original Message----- From: crowbar-bounces On Behalf Of Vincent Untz Sent: Tuesday, July 02, 2013 10:46 AM To: Terpstra, John Cc: crowbar Subject: Re: [Crowbar] Pull-Request Review and Merge Process Hi John, A few comments: Le vendredi 28 juin 2013, à 16:04 -0500, john_terps...@dell.com a écrit : > Proposed Process: > > a. All community participants/members are encouraged to provide patch > (pull-request) feedback > > a. On the mailing list > > b. Over IRC channel #crowbar > > c. Via Github pull-request responses > > b. It is proposed that each participating organization is encourage to > appoint a subject matter expert (SME) for each key area of the crowbar code > base To make this simpler, we can have one or two known contacts at each organization, and they can be pinged to find out who can review a pull request. My rationale for this is that this makes the list of names to maintain much smaller :-) That means some tweaks to the details you've put below, but that could work. > b. Assure that pull-requests are either handled (action is being taken) > within 3 days of the submission > > i. Delegate to others > to handle if the SME is unable to do it > > ii. Notify the Crowbar > mailing list that of significant processing delays > > iii. Provide periodic > feedback to the mailing list if a pull-request is held up It's probably a responsability we should all share: if anyone notices that a pull request is old and still not merged, that person should really just ping on the list. > c. Code Review Cases > > a. Simple patch - action SME will merge the pull-request with minimum > fuss > > i. No voting required > > ii. SME exercises > total discretion > > b. Complex Pull-Request - patches are not potentially controversial > > i. SME seeks/waits > for a minimum of two (2) votes [+1 == OK, 0 == Neutral, -1 == Blocks] > > ii. SME polls > community for feedback is none is received within 48 hours > > iii. SME merges > pull-request if no objections are received, closes pull-request at own > discretion > > c. Potentially Controversial Patches > > i. SME refers the > potential controversy to the community and engages the submitter to defend > the case to merge > > ii. SME referees the > resolution process I'd add a fourth cases: - Patch fixing failure in git: this should be fast-tracked. > Key Questions: > > I. How should community code review discussions be conducted? > (Meetings, Conference calls, IRC, other) In general, this should really be on the pull request. But if there's more to discuss, then IRC or the mailing list is a good first step, imho. > II. Should the community create its own code releases > (independently from contributor organizations)? Ideally, yes :-) It's a matter of resources, though. > III. What criteria shall the community adopt in respect of > pre-release code freeze, QA, etc.? I'd leave this topic up to the people who would lead the community releases. > IV. How should SME appointments be handled? Bootstrap with people who are active, and then make these people delegate the power when there's a new person who'd do a good job. Cheers, Vincent -- Les gens heureux ne sont pas pressés. _______________________________________________ Crowbar mailing list Crowbar@dell.com https://lists.us.dell.com/mailman/listinfo/crowbar For more information: http://crowbar.github.com/ _______________________________________________ Crowbar mailing list Crowbar@dell.com https://lists.us.dell.com/mailman/listinfo/crowbar For more information: http://crowbar.github.com/