I think the wiki update adequately represents what we’ve concluded in this thread.
On 1/8/16, 9:35 AM, "larry mccay" <lmc...@apache.org> wrote: >All - > >Please review the contributing page updates that I just added. Not sure how >to do drafts in the wiki... >https://cwiki.apache.org/confluence/display/KNOX/Contribution+Process > >Note the new section at the top called: Code Change Governing Policy > >This is the overall description or our policy, its definition, our >additional guidelines and our [REVIEW] notification mechanism. > >I also made minor language problems to align with this policy throughout >the document. > >I notice that the Committer Workflow and Committer Workflow with git >Branches seem redundant. Is there any meaningful difference between the two? >Given that most of our commits do not use feature branches, perhaps we >should change the first one to be patch based instead? > >thanks, > >--larry > >On Fri, Jan 8, 2016 at 8:43 AM, larry mccay <lmc...@apache.org> wrote: > >> Great - I will spend some time today putting something together that we >> can iterate over. >> >> On Thu, Jan 7, 2016 at 2:29 PM, Sumit Gupta <sumit.gu...@hortonworks.com> >> wrote: >> >>> +1. I’m good with this. >>> >>> >>> On 1/7/16, 12:42 PM, "larry mccay" <larry.mc...@gmail.com> wrote: >>> >>> >Okay - let's bring this to a close - with a slight clarification on the >>> >[REVIEW] emails... >>> > >>> >As long as we are all in agreement on the following, I will attempt to >>> >document it as our contribution policy (with a follow up email for the >>> >draft): >>> > >>> >* Knox has a CTR policy for committers >>> >* For any patches that make fundamental architectural or security related >>> >changes - committers should solicit feedback on the design >>> >* For any patches that are extensions to existing patterns for features - >>> >such as adding new service API support, the committer may commit freely - >>> >given sufficient tests and documentation (to the committer's discretion) >>> >* For any patches that are simple bug fixes, the committer may commit >>> >freely >>> > >>> >* In order to facilitate reviews from other community members post >>> commit, >>> >we will use an email with a [REVIEW] tag to indicate that comments are >>> >being provided for a merged change and that it needs attention. >>> > >>> >There is nothing saying that we can't revisit the CTR policy in the >>> future >>> >and we will continue to leverage the contributions of the community at >>> >large. If at any point, any of our development process seems to be >>> barrier >>> >for contributors we will need to be open to change. >>> > >>> >@Sumit - note that the above does not describe a [REVIEW] email for every >>> >feature. >>> > >>> >Features continue to be described in JIRA and designs in attached >>> >documents >>> >or wiki. >>> >Reviews should also be conducted in JIRA. >>> >Reviews for something already committed and the JIRA is closed can have a >>> >[REVIEW] email as a flag to the committers to give attention to the >>> >feedback. >>> > >>> >If everyone is good with the above, I will draw up a draft. >>> > >>> >On Thu, Jan 7, 2016 at 11:42 AM, Sumit Gupta < >>> sumit.gu...@hortonworks.com> >>> >wrote: >>> > >>> >> Sorry for coming late to the discussion. Like Kevin, I seem to be >>> >> constantly missing email from the dev list (the email server doesn¹t >>> >>like >>> >> me). >>> >> >>> >> I¹m not sure how having a CTR policy for most things and then a >>> >>selective >>> >> RTC policy helps drive community involvement. It seems hard to >>> >>implement. >>> >> If anything, I can see more [DISCUSS] threads and like Larry suggested >>> a >>> >> [REVIEW] email for all features. This would help awareness as well as >>> be >>> >> useful in obtaining critical feedback. I would have preferred a JIRA >>> >> mechanism for asking for a review since we get JIRA emails on the dev >>> >>list >>> >> anyway, but I can see a review tag or comment getting lost in swarm of >>> >> JIRA email. >>> >> >>> >> In short, I would prefer a single straightforward policy of CTR and >>> >>other >>> >> means of raising awareness and soliciting input. >>> >> >>> >> >>> >> On 1/7/16, 8:40 AM, "larry mccay" <lmc...@apache.org> wrote: >>> >> >>> >> >I am not looking to change our policy at this point but instead to >>> >>define >>> >> >the expectations of CTR in the Knox community - largely based on what >>> >>has >>> >> >been done all along unofficially. The [REVIEW] email to dev@ seems a >>> >> >decent >>> >> >way to raise attention to a review for committed code. >>> >> > >>> >> >On Thu, Jan 7, 2016 at 12:15 AM, Kevin Minder >>> >> ><kevin.min...@hortonworks.com> >>> >> >wrote: >>> >> > >>> >> >> So in short: Bugs==CTR, Features==RTC? >>> >> >> >>> >> > >>> >> >I don't know that Features==RTC is required for extensions of existing >>> >> >patterns. >>> >> >For instance, adding support for a new service shouldn't require RTC. >>> >> > >>> >> >This does bring something to mind though. If there is complicated >>> >>custom >>> >> >HA >>> >> >related dispatch code then that should probably be documented or >>> >> >communicated to the dev@ and it would be up to the committer to >>> >>determine >>> >> >whether they would like to ask for a review. >>> >> > >>> >> >Understanding the HA dispatch algorithms for services by the dev >>> >>community >>> >> >or at least the ability to get to an understanding through readily >>> >> >available documentation. >>> >> > >>> >> > >>> >> >> >>> >> >> From: larry mccay <lmc...@apache.org<mailto:lmc...@apache.org>> >>> >> >> Date: Wednesday, January 6, 2016 at 11:06 PM >>> >> >> To: Kevin Minder <kevin.min...@hortonworks.com<mailto: >>> >> >> kevin.min...@hortonworks.com>> >>> >> >> Cc: "dev@knox.apache.org<mailto:dev@knox.apache.org>" >>> >> >><dev@knox.apache.org >>> >> >> <mailto:dev@knox.apache.org>> >>> >> >> Subject: Re: [DISCUSS] CTR, Requiring Patch Attachments and Cool Off >>> >> >>Period >>> >> >> >>> >> >> Hi Lars - >>> >> >> >>> >> >> Thanks for bumping this thread again - we do need to bring it to a >>> >> >>close. >>> >> >> >>> >> >> I certainly agree with Kevin on CTR as the current and well working >>> >> >>policy >>> >> >> for this project. >>> >> >> >>> >> >> @Kevin - I believe that we need to also consider the cool off period >>> >> >>yet. >>> >> >> I do not believe that external contributions are being blocked by >>> the >>> >> >>lack >>> >> >> of a cool off period. >>> >> >> >>> >> >> We have numerous externally contributed features, enhancements to >>> >> >>existing >>> >> >> features and bug fixes. >>> >> >> >>> >> >> Sorry to hear that you have had bad experiences with other projects >>> >> >> ignoring reviews. >>> >> >> Let me make sure that I understand what you describe... >>> >> >> >>> >> >> I think that you are saying that you provided review comments and >>> >> >> suggestions to someone's patch for some apache project and that the >>> >> >>review >>> >> >> comments were never responded to and the patch was committed without >>> >> >> acknowledgement. Maybe you provided a review for code that was >>> >>already >>> >> >> committed and it was ignored. >>> >> >> >>> >> >> I can see the review being easier to miss/ignore when the code and >>> >>JIRA >>> >> >>is >>> >> >> already committed and closed. >>> >> >> >>> >> >> My proposal is that we document the following (most of which is from >>> >>my >>> >> >> original email): >>> >> >> >>> >> >> * Changes, that are aligned with existing design patterns and Knox >>> >> >> architecture, that are either incremental enhancements/features or >>> >>bug >>> >> >> fixes can be purely CTR >>> >> >> * Changes that necessitate architectural changes, have significant >>> >> >> security implications, or are generally large should be reviewed. >>> >>This >>> >> >>is >>> >> >> to facilitate communication of such changes as well as to have >>> >>another >>> >> >>set >>> >> >> of eyes for the code. >>> >> >> * Architectural changes and completely new features should be >>> >> >>communicated >>> >> >> via the dev@ list and possibly within a wiki page for design >>> >> >> discussion/communication. >>> >> >> * Review feedback for patches that have already been committed and >>> >>JIRAs >>> >> >> closed/resolved should also be sent to the dev@ list with a >>> [REVIEW] >>> >> tag >>> >> >> in the subject. Committers will need to assess the points raised and >>> >> >> respond. Optionally, based on discussion the JIRA can be reopened, >>> >> >>possibly >>> >> >> commit reverted or new JIRAs filed to address the reviewer's >>> >>feedback. >>> >> >> >>> >> >> I think that this will fully communicate our development process and >>> >> >> provide rules of engagement for post commit reviews. >>> >> >> >>> >> >> Let me know your thoughts on this plan. >>> >> >> >>> >> >> thanks, >>> >> >> >>> >> >> --larry >>> >> >> >>> >> >> On Wed, Jan 6, 2016 at 10:31 PM, Kevin Minder < >>> >> >> kevin.min...@hortonworks.com<mailto:kevin.min...@hortonworks.com>> >>> >> >>wrote: >>> >> >> First apologies. Seems my mail server has been randomly eating >>> >>Apache >>> >> >> mail. I didn¹t see the original mail here. >>> >> >> >>> >> >> First point, attached patches. I used to attach patches to all my >>> >>jira. >>> >> >> Then I realized that a) the jira had links with diffs for the lazy >>> >>and >>> >> >>³git >>> >> >> format-patch <commit-sha>² will generate the patch for those that >>> >>want >>> >> >>to >>> >> >> use their favorite tool on a local patch file. At that point >>> >>requiring >>> >> >> patch generation from committers for a CTR project just seemed like >>> >> >>process >>> >> >> for the sake of process. This being said we could do a better job >>> of >>> >> >> documenting this for those unfamiliar with git if Larry hasn¹t >>> >>already >>> >> >> taken care of that. >>> >> >> >>> >> >> Second point, CTR. We have been CRT from the beginning and this >>> >>model >>> >> >> certainly made sense given the rapid pace of development. Things >>> >>have >>> >> >> certainly slowed down recently and we can continue the discussion. >>> >> >> However, the core of the question you are really asking is would >>> more >>> >> >> people contribute if we were RTC. I don¹t think so. We fairly bend >>> >>of >>> >> >> backwards to embrace traffic on user@knox and dev@knox. I think >>> that >>> >> is >>> >> >> far more significant than a CTR vs RTC policy. >>> >> >> >>> >> >> >>> >> >> >>> >> >> On 1/6/16, 7:49 PM, "Lars Francke" <lars.fran...@gmail.com<mailto: >>> >> >> lars.fran...@gmail.com>> wrote: >>> >> >> >>> >> >> >Does anyone have anything further to add here? Looking forward to a >>> >>few >>> >> >> >more opinions. >>> >> >> > >>> >> >> >On Fri, Dec 11, 2015 at 3:52 PM, Lars Francke >>> >><lars.fran...@gmail.com >>> >> >> <mailto:lars.fran...@gmail.com>> >>> >> >> >wrote: >>> >> >> > >>> >> >> >> Hi, >>> >> >> >> >>> >> >> >> thanks Larry. >>> >> >> >> >>> >> >> >> Lars provided the Knox community with some feedback into our >>> >> >>development >>> >> >> >>> practices and JIRA usage [1]. >>> >> >> >>> >>> >> >> >>> I wanted to bring up a DISCUSS thread on how our CTR policy may >>> >>or >>> >> >>may >>> >> >> >>> not relate to a couple points made in his feedback. In >>> >>particular: >>> >> >> >>> >>> >> >> >>> 1. Whether a CTR based policy should require actual patches >>> >> >>attached to >>> >> >> >>> every JIRA or does the git link to a commit provide the same >>> >> >>ability to >>> >> >> >>> review post commit >>> >> >> >>> >>> >> >> >> >>> >> >> >> I think having a patch attached before commit is a good thing >>> >> >>because: >>> >> >> >> * It allows feedback before a change goes in. In my experience >>> >>that >>> >> >>is >>> >> >> >> easier to change than committed code >>> >> >> >> * It allows looking at the exact change set in a standardised >>> form >>> >> >>(diff >>> >> >> >> format) without having to use whatever web frontend (pure Git, >>> >> >>Github, >>> >> >> ...) >>> >> >> >> is currently being used (so a patch file is useful even when only >>> >> >> attached >>> >> >> >> after committing)[1] >>> >> >> >> * Should the Git web interface change (or be down) at some point >>> >>in >>> >> >>the >>> >> >> >> future all those links might go stale (say Apache switches to >>> >>Github >>> >> >>or >>> >> >> >> Gitlab or whatever) >>> >> >> >> >>> >> >> >> The downsides I can come up with is the extra work required to >>> >>attach >>> >> >> the >>> >> >> >> patch (before or after commit). >>> >> >> >> >>> >> >> >> >>> >> >> >>> 2. Whether a cool off period of 24 hrs would encourage more >>> >>external >>> >> >> >>> contributions and if so, how >>> >> >> >>> >>> >> >> >> >>> >> >> >> This one is probably a matter of weighing off between fast >>> >>iteration >>> >> >>and >>> >> >> >> possible feedback on patches. I assume with a project the size of >>> >> >>Knox >>> >> >> >> there is not much feedback coming in for each patch so the >>> >>benefits >>> >> >>of >>> >> >> >> immediate commits probably outweigh the (assumed) benefits of >>> >> >>waiting. >>> >> >> >> >>> >> >> >> My personal opinion though is that a wait period is a good thing. >>> >> >>I've >>> >> >> >> been bitten (and frustrated) in the past by reviews that have >>> been >>> >> >> ignored >>> >> >> >> by certain communities/members/companies where it was clear that >>> a >>> >> >> release >>> >> >> >> schedule had to be met. Ignoring reviews is easier with code >>> >>that's >>> >> >> already >>> >> >> >> been committed. Again this is my personal (bad) experience and I >>> >> >>have no >>> >> >> >> reason to believe that the Knox community behaves the same. A >>> cool >>> >> >>off >>> >> >> >> period doesn't mean that reviews are mandatory, it just >>> >> >>invites/allows >>> >> >> >> feedback in my opinion. >>> >> >> >> >>> >> >> >> One "real" benefit for pre-commit reviews is that there's tools >>> >> >> available >>> >> >> >> and in use at Apache for that (Reviewboard and JIRA to a degree) >>> >>but >>> >> >> >> there's currently no tooling support for post-commit reviews. >>> >> >> >> >>> >> >> >> Caveat to all of this: I'm only here for a few days a year >>> >>probably >>> >> >>and >>> >> >> >> won't contribute much if at all so you should decide carefully >>> >> >>whether >>> >> >> you >>> >> >> >> want to change working practices for an unknown benefit. >>> >> >> >> >>> >> >> >> Cheers, >>> >> >> >> Lars >>> >> >> >> >>> >> >> >> [1] I know that the current web interface has an option to >>> >>download >>> >> >>the >>> >> >> >> patch but it's a different process than most other "Hadoop >>> >>related" >>> >> >> >> projects. >>> >> >> >> >>> >> >> >>> >> >> >>> >> >>> >> >>> >>> >>