I think that in practical terms, these patches would be module by
module, not author by author.  Ex:  API changes as 1 patch, and UI
changes as another.  I think that approach works better for the
committers too, since we've already broken the CS modules into areas
of "maintainer responsibility".  IMO, it allows larger features to be
cleanly reviewed / integrated by those best suited to review each
portion of the work.

-chip

On Tue, Aug 7, 2012 at 7:42 PM, Kevin Kluge <kevin.kl...@citrix.com> wrote:
> Chip , thanks for this proposal, I like 1 and 2.  On #3, are you assuming 
> that in the event a team of committers and non-committers are working on  a 
> large feature, the changesets for the feature will be applied incrementally 
> into the Apache repo by one of the committers?  If that is the case then 
> could we not set author for that commit as the actual author rather than the 
> whole team?
>
> -kevin
>
>> -----Original Message-----
>> From: Chip Childers [mailto:chip.child...@sungard.com]
>> Sent: Monday, August 06, 2012 8:26 AM
>> To: cloudstack-dev@incubator.apache.org
>> Subject: Re: where features are developed was: Review Request: Merge
>> Kelven's VPC code for Vmware into asf vpc branch
>>
>> Ewan / Brett,
>>
>> I've been watching this thread closely, but holding off on commenting until I
>> was able to get some thoughts straightened out in my own head over the
>> weekend.  This is a critical discussion for the community, since there are
>> going to be an increasing number of organization-sponsored developers
>> wanting to contribute to the project.  I don't see this as a "Citrix-only" 
>> issue at
>> all, although it's the first group to run into the problem here.
>>
>> I tend to look for "first principals" in any discussion like this.
>> IMO, our goals should be to (1) apply the "Apache Way" to the ongoing
>> development of CloudStack (including fostering an environment where
>> individuals collaborate, are given rights based on merit, discuss work
>> transparently with the rest of the community, etc...), and (2) to enable
>> organization-sponsored development teams to meaningfully contribute to
>> the project's evolution.  We are also constrained a bit by ASF process:
>> specifically around commit rights to the repo for contributors.
>>
>> Given those goals, I'd like to float a proposal for the community's
>> consideration:
>>
>> 1 - Decisions and collaboration is always done "on list", including 
>> discussions
>> between contributors that are not currently committers.
>> To me, this is the most important part of this proposal...  focused on 
>> building
>> the community.
>> 2 - Groups of developers that include non-committers should be encouraged
>> to use a public git repo for their work (and share the location with the dev
>> list).  This provides transparency for the rest of the community.
>> 3 - Work coming into the project from one of these collaborative projects 
>> will
>> be credited to all developers that were part of the collaboration.  This can 
>> be
>> done by asking that group of collaborators to take their "clean patches"
>> through the review board process.
>> Whichever committer applies them into the ASF repo would include the
>> names of all contributors in the commit message.
>>
>> I'm not sure if this approach solves all of the issues, but can we use it as 
>> a
>> starting point to work towards an agreement?  Does it cover the ASF policy
>> requirements?
>>
>> -chip
>>
>>
>> On Sun, Aug 5, 2012 at 11:17 PM, Ewan Mellor <ewan.mel...@eu.citrix.com>
>> wrote:
>> >> -----Original Message-----
>> >> From: Brett Porter [mailto:br...@porterclan.net] On Behalf Of Brett
>> >> Porter
>> >> Sent: 05 August 2012 05:35
>> >> To: cloudstack-dev@incubator.apache.org
>> >> Cc: cloudstack-dev@incubator.apache.org
>> >> Subject: Re: where features are developed was: Review Request: Merge
>> >> Kelven's VPC code for Vmware into asf vpc branch
>> >>
>> >>
>> >>
>> >> On 04/08/2012, at 12:16 PM, Ewan Mellor <ewan.mel...@eu.citrix.com>
>> >> wrote:
>> >>
>> >> >> What happens if there's a rockstar NetScaler developer lurking
>> >> >> here - how do they get involved in that? What if the people
>> >> >> buddy-coding are working on the same feature as someone that
>> >> >> doesn't work with them - how will they collaborate?
>> >> >
>> >> > My point wasn't that people won't be collaborating.  My point was
>> >> > that by
>> >> the time things land in master, they may have multiple authors
>> >> associated with them.  The people working on this branch have been
>> >> prototyping, making mistakes along the way, and keeping up with
>> >> changes in the systems that they're talking to.  And while all that
>> >> has been going on, master has been moving forward at a great lick.
>> >>
>> >> But where will they collaborate, in an inclusive manner, if not in
>> >> the ASF repo and list, with the usual project patch submission
>> mechanism?
>> >
>> > They'll be collaborating in private branches.  Most people working on
>> CloudStack aren't committers, so this will be the only way it can work.  Your
>> proposal implies that either:
>> > 1. Developers can't commit regularly and often (bad), 2.
>> > Non-committers are allowed to commit to feature branches (currently
>> > not allowed), or 3. We have committers review patches to unfinished
>> feature branches as well as master (obviously not workable).
>> >
>> > Are you proposing that we change one of those?
>> >
>> >> >
>> >> > By the time the feature lands in master, we're not going to see all
>> >> > those
>> >> prototypes and mistakes, because it would be impossible to merge them
>> >> all by now, and we certainly don't want to review changes that are wrong.
>> >> We're going to see a small number of clean changesets that apply
>> >> against HEAD.  That's what we will be reviewing for submission into
>> master.
>> >>
>> >> That's part of the problem I see with this - the thought processes,
>> >> prototypes and even mistakes are helpful for others to understand why
>> >> something ended up the way it did. Early review is far more effective
>> >> than reviewing a large final commit if you have suggestions,
>> >> especially if they are fundamental to the change. All that
>> >> information is useful to keep in the ASF repository history.
>> >
>> > It's arguable whether that history is useful to anyone, but anyway that's
>> not the point.  The issue is whether people have to perform peer-review on
>> those mistakes.  The mistakes might be useful for historical reasons, but 
>> they
>> certainly aren't something that we want our committers to be peer-
>> reviewing.  By the time it's ready for review, those changesets have to be
>> collapsed into a logical, consistent, and mistake-free set, otherwise they're
>> impossible to review.
>> >
>> >> > The consequence of that is that a single changeset will have
>> >> > multiple
>> >> authors.  This is what happened to Vijay B the other day -- he turned
>> >> up with a sanitized, ready-for-merge changeset, and he got shouted at
>> >> for submitting someone else's code.  We have to figure out how to
>> >> handle this.  Telling him to go away isn't going to work.
>> >>
>> >> Let's be clear - no one is being shouted at, and no one is being told
>> >> to go away - quite the opposite. I certainly apologise if I've come off 
>> >> that
>> way.
>> >
>> > No, you weren't coming off that way at all.  Other people on this list 
>> > were,
>> though.
>> >
>> > Cheers,
>> >
>> > Ewan.
>> >
>> >
>

Reply via email to