That makes a lot of sense to me, thanks Chip. For those public repos for non-committers, I presume that they can't use Apache infrastructure, so Github would be the natural choice. We have a mirror there now (as of last week) so people can clone and work there. How does that sound?
Regarding the third point, I don't know what the ASF requires in terms of authorship indicators in commit messages. We obviously need all authors to have signed the ICLA, but other than that I don't know of a written policy. Unless there's something contradictory, putting the Author names in the commit message seems reasonable to me. Cheers, Ewan. > -----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. > > > >