Return-Path: X-Original-To: apmail-couchdb-dev-archive@www.apache.org Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E9D959B7A for ; Sun, 4 Mar 2012 09:36:06 +0000 (UTC) Received: (qmail 14478 invoked by uid 500); 4 Mar 2012 09:36:06 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 14441 invoked by uid 500); 4 Mar 2012 09:36:06 -0000 Mailing-List: contact dev-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list dev@couchdb.apache.org Received: (qmail 14421 invoked by uid 99); 4 Mar 2012 09:36:05 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 04 Mar 2012 09:36:05 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_NEUTRAL,TO_NO_BRKTS_PCNT X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [209.85.220.180] (HELO mail-vx0-f180.google.com) (209.85.220.180) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 04 Mar 2012 09:36:00 +0000 Received: by vcbfl10 with SMTP id fl10so783823vcb.11 for ; Sun, 04 Mar 2012 01:35:39 -0800 (PST) Received-SPF: pass (google.com: domain of jhs@iriscouch.com designates 10.52.179.10 as permitted sender) client-ip=10.52.179.10; Authentication-Results: mr.google.com; spf=pass (google.com: domain of jhs@iriscouch.com designates 10.52.179.10 as permitted sender) smtp.mail=jhs@iriscouch.com Received: from mr.google.com ([10.52.179.10]) by 10.52.179.10 with SMTP id dc10mr28345781vdc.118.1330853739409 (num_hops = 1); Sun, 04 Mar 2012 01:35:39 -0800 (PST) Received: by 10.52.179.10 with SMTP id dc10mr24220570vdc.118.1330853739171; Sun, 04 Mar 2012 01:35:39 -0800 (PST) MIME-Version: 1.0 Received: by 10.220.156.212 with HTTP; Sun, 4 Mar 2012 01:35:19 -0800 (PST) In-Reply-To: References: From: Jason Smith Date: Sun, 4 Mar 2012 09:35:19 +0000 Message-ID: Subject: Re: Advice on policy merging non-committer branches To: dev@couchdb.apache.org Content-Type: text/plain; charset=UTF-8 X-Gm-Message-State: ALoCoQl25Krt9tQNTWsRxlnNYcywwCoRnNmwOA3jSyBTkIQAJfjaopaUuzp9GAPDc2ZujNtl/Th6 X-Virus-Checked: Checked by ClamAV on apache.org Converted to a wiki page: http://wiki.apache.org/couchdb/CommitPolicy On Sun, Mar 4, 2012 at 2:42 AM, Paul Davis wrote: > Noah, > > Sure, let me write that up and send it in an email to dev@. > > Paul > > On Sat, Mar 3, 2012 at 7:33 PM, Noah Slater wrote: >> Paul, can you document this somewhere? It looks like a great candidate for >> our Git proposal to the ASF. >> >> On Wed, Feb 29, 2012 at 4:34 AM, Paul Davis wrote: >> >>> On Tue, Feb 28, 2012 at 9:57 PM, Jason Smith wrote: >>> > I would like to merge a branch from a non-committer[1]. The log shows >>> > a non-apache author, but an apache committer. >>> > >>> > What is the policy regarding this? I was thinking the following: >>> > >>> > 1. Merge freely and promiscuously from anybody in my GitHub (or >>> > whatever) repo (community engagement) >>> >>> Not quite. More below. >>> >>> > 2. As the branch nears time for "promotion," ask the non-committer to >>> > git format-patch and attach to JIRA, signing (checking) the license >>> > transfer. >>> >>> Unnecessary. >>> >>> > 3. With that settled, either git rebase or `git am` (I'm unclear about >>> > this). The point is, get an @apache.org committer id on each commit. >>> >>> Unnecessary. >>> >>> > 4. Push where appropriate into the ASF repo >>> > >>> >>> Included in discussion of 1 below. >>> >>> > Questions: >>> > >>> > Must the non-committer attach the exact same commit id? Or is it >>> > sufficient that it merely be the same diff (delta)? (I changed the ID >>> > when I rebased his commit and added my email to the committer header.) >>> > >>> >>> No. Commit SHA's are in no way important from a license perspective. >>> >>> > Before the JIRA license agreement, may we push non-committers' code to >>> > the repo at all? >>> > >>> >>> Kinda, see below. >>> >>> > Before the JIRA license agreement, may we push non-committers' code to >>> > the more official branches: master, 1.2.x, etc.? >>> > >>> > May we push whatever we want so long as the license agreement is >>> > signed (checked) before voting on a release artifact? >>> >>> For the last two questions, definitely not. Never push code to ASF >>> hardware that you're not 100% certain is OK to be in the repository. >>> That doesn't necessarily mean that it has to have the ASF license >>> attached, but if you don't know that it can be in the repo, don't push >>> it. >>> >>> First things first, as a committer you have to remember the ICLA that >>> you signed. Its your responsibility to make sure that all code you >>> push to the repository is compliant with ASF policies and the legal >>> aspects those entails. >>> >>> Before Git, the general policy we used in CouchDB was to request that >>> non-trivial patches be submitted to JIRA and have people click the >>> checkbox. While this captures the general intent of things, it has >>> been declared an official position of the board that this is >>> unnecessary for accepting contributions. It has also been decided that >>> the committer and author fields do not have to be tied to specific >>> Apache accounts. >>> >>> The policy as it stands now is that we must be able to demonstrate >>> that there was a clear intent for the code in question to be >>> contributed. While there hasn't been an official position on how to >>> demonstrate intent I think there are a couple things that are fairly >>> obvious: >>> >>> Traditional: >>> >>> 1. Same as always: Anything submitted to JIRA. The check box has been >>> declared not a necessity though I think the input field is required, >>> and if someone said "not-intended for inclusion" we should just >>> clarify if that was an accident or not. >>> >>> 2. Patches submitted to a mailing list. >>> >>> New with Git: >>> >>> 3. If someone posts a link to a publicly available Git branch with >>> language indicating their intent for it to be included, then we should >>> feel free to add the repo as a remote and yank it in. While not >>> absolutely necessary, it might be a good idea to rewrite the commit >>> message to reference either the email or the original contributed >>> commit sha (in case of a rebase) so that we can link the two. >>> >>> 4. Jukka Zitting has recently been doing work on connecting GitHub >>> Pull Requests to the dev@ mailing lists. Assuming this is the case I >>> think we should feel free to take any code submitted in this manner. >>> Thus our old "Submit that to JIRA" would be a "Send us a Pull >>> Request". >>> >>> In contrast, we shouldn't feel free to just find code in a random >>> GitHub fork and push that onto ASF hardware. If there's something we >>> see that we want then we should ask for clarification (plus that's >>> only polite). >>> >>> Bottom line, as a committer you're responsible for the code that you >>> push to the repository. If you're not sure on a specific patch or >>> situation, bring it up to dev@ or similar venue and we can run it up >>> the flag pole until we find an answer. >>> -- Iris Couch