Following up, I checked the workflow policies for top-level ASF projects
JClouds and DeltaCloud.

    https://github.com/deltacloud/deltacloud-core/wiki/GIT-Workflow

    http://wiki.apache.org/jclouds/How%20to%20Contribute

In both cases the projects have their own GitHub repos that are separate
from the official ASF mirror repos, they accept PRs and commits that occur
at GitHub and they sync them back to the ASF Git repo (but with some manual
steps). They do not appear to be following the rule that "the commit has to
occur to an ASF server from an Apache committer and not to Github and then
synced over to the ASF."

- Dave




On Fri, May 30, 2014 at 7:16 AM, Dave <[email protected]> wrote:

>
> On Thu, May 29, 2014 at 11:06 PM, Jake Farrell <[email protected]>
> wrote:
>
>> Hey Dave
>> The commit has to occur to an ASF server from an Apache committer and not
>> to Github and then synced over to the ASF. Asking on Github if someone 
>> "agrees
>> to license this under the terms of the ASL" on an external Github
>> organization is not the same as someone contributing a piece of code to ASF
>> owned services. Having that action get recorded on the mailing list is just
>> another indicator of the record of contribution.
>>
>
> I have not seem that specific rule "the commit has to occur to an ASF
> server from an Apache committer and not to Github and then synced over to
> the ASF" -- when as it added to the ASF policy and where is it documented?
>
>
>
>>
>> Github currently shows only 5 members, the initial proposal had 5 mentors
>> and 10 initial committers (you overlapped both), and since entering the
>> incubator 2 new committers have been voted in. By this not all PPMC
>> members have access to the external repository.
>>
>
> Let's fix that immediately.
>
> Thanks,
> Dave
>
>
>
>>
>> -Jake
>>
>>
>> On Thu, May 29, 2014 at 10:45 PM, Dave <[email protected]> wrote:
>>
>>> Excellent. I've been trying to get feedback about our contributor
>>> workflow by documenting it on our website and by talking about it at
>>> ApacheCon last month. I would love to work to make the process even easier
>>> for contributors and committers.
>>>
>>>     How to contribute to Apache Usergrid presentation
>>>
>>> http://www.slideshare.net/snoopdave/how-to-contribute-to-apache-usergrid
>>>
>>>     How to contribute to Apache Usergrid on our website
>>>     https://usergrid.incubator.apache.org/docs/contribute-code
>>>
>>>     Usergrid workflow policy on our website
>>>
>>> https://cwiki.apache.org/confluence/display/usergrid/Contributor+Workflow+Policy
>>>
>>> More comments in-line below...
>>>
>>>
>>>
>>> On Thu, May 29, 2014 at 10:20 PM, Jake Farrell <[email protected]>
>>> wrote:
>>>
>>>> Hey guys
>>>> It has come up on board and infra mailing lists that the git workflow
>>>> that
>>>> is currently in place can not be used. Several issues with it where
>>>> raised
>>>> including
>>>>
>>>> * Canonical location for source code must be at the ASF
>>>>
>>>
>>> That's how our process works and we state that in the docs above. The
>>> plan is to release from the Apache Git repo.
>>>
>>> We use GitHub as our code review system for all "external" contributors
>>> and committers. That's where code comes in and that's where we engage with
>>> contributors, ask them if they agree to the ASL or if they have an ICLA on
>>> file, carefully checkout they code they are contributing, make comments on
>>> specific lines of code, etc.
>>>
>>> We periodically sync the GitHub repo to our Apache Git repo as needed.
>>> We would like to automate this process so that commits get pushed to Apache
>>> Git as soon as they pass code review at GitHub (i.e. we accept the PR).
>>>
>>>
>>> * Mailing lists are not being updated/touched with these changes
>>>>
>>>
>>> Yes, this is a problem. The mailing lists are notified when commits
>>> happen, but we need to make sure all PR comments get echoed to the mailing
>>> lists as well. I believe there is a JIRA for this task.
>>>
>>>
>>>
>>>> * The method of syncing the remote repository
>>>>
>>>
>>> Yes, this is also a problem. I was using a cronjob to automate this, but
>>> that approach was not secure. We need to create a JIRA and ask Infra to
>>> help with this. At this point, I'm syncing manually every couple of days.
>>>
>>>
>>> * Process for tracking CLAs and Apache IDs for commits
>>>>
>>>
>>> That is covered in the docs on the website and the presentation. When we
>>> get a PR we engage with the contributor and carefully review the submitted
>>> changes and each commit that is included in the PR. For small changes, we
>>> ask "do you agree to license this under the terms of the ASL" and for
>>> larger changes we ask the submitter to file an ICLA.
>>>
>>>
>>>
>>>> * External org management (Who has access which can merge/secure)
>>>>
>>>
>>>  All Usergrid PPMC members and only those PPMC members have admin access
>>> to our GitHub account.
>>>
>>>
>>>>
>>>> The documentation on the policies around git [1] are currently not well
>>>> defined as the git service has been a work in progress. Even with this
>>>> being the case it is up to us as the PMC for Apache Usergrid to ensure
>>>> we
>>>> are compliant with all ASF policies and any contributions meet IP
>>>> requirements.
>>>>
>>>> We need to work to
>>>> * Ensure remediation of the outlined issues
>>>> * Discuss and come up with a workflow that meets our needs and is in
>>>> compliance with ASF policy and any board, infra, and IPMC requirements
>>>> * Review and ensure that the IP from the initial import to now for all
>>>> commits meets the ASF policies for contributions
>>>>
>>>
>>> That would be great because I spent a great deal of time trying to
>>> understand what policies were in place at the time we drafted and voted in
>>> the contribution process. We designed our workflow specifically to confirm
>>> with policy.
>>>
>>> Can we get some more specific feedback than simply "the git workflow
>>> that is currently in place can not be used."  Other projects have very
>>> similar workflows, what specific things do we need to fix to come into
>>> compliance with ASF policy?
>>>
>>> Thanks,
>>> - Dave
>>>
>>>
>>
>

Reply via email to