[openstack-dev] auto-abandon changesets considered harmful (was Re: [stable][all] Revisiting the 6 month release cycle [metrics])
kuvaja at hp.com
Tue Mar 3 14:18:15 UTC 2015
> -----Original Message-----
> From: Thierry Carrez [mailto:thierry at openstack.org]
> Sent: 03 March 2015 10:00
> To: openstack-dev at lists.openstack.org
> Subject: Re: [openstack-dev] auto-abandon changesets considered harmful
> (was Re: [stable][all] Revisiting the 6 month release cycle [metrics])
> Doug Wiegley wrote:
> > [...]
> > But I think some of the push back in this thread is challenging this notion
> that abandoning is negative, which you seem to be treating as a given.
> > I don't. At all. And I don't think I'm alone.
> I was initially on your side: the "abandoned" patches are not really deleted,
> you can easily restore them. So "abandoned" could just mean "inactive" or
> "stale" in our workflow, and people who actually care can easily "unabandon"
> them to make them active again. And since "abandoning" is currently the
> only way to permanently get rid of stale / -2ed / undesirable changes
> anyway, so we should just use that.
> But words matter, especially for new contributors. For those contributors,
> someone else "abandoning" a proposed patch of theirs is a pretty strong
> move. To them, abandoning should be their decision, not yours (reviewers
> can -2 patches).
> Launchpad used to have a similar struggle between real meaning and
> workflow meaning. It used to have a single status for rejected bugs
> ("Invalid"). In the regular bug workflow, that status would be used for valid
> bugs that you just don't want to fix. But then that created confusion to
> people outside that workflow since the wrong word was used.
> So "WontFix" was introduced as a similar "closed" state (and then they added
> "Opinion" because "WontFix" seemed too harsh, but that's another story).
> We have (like always) tension around the precise words we use. You say
> "Abandon" is generally used in our community to "set inactive". Jim says
> "Abandon" should mean abandon and therefore should probably be left to
> the proposer, and other ways should be used to "set inactive".
> There are multiple solutions to this naming issue. You can rename "abandon"
> so that it actually means "set inactive" or "mark as stale".
> Or you can restrict "abandon" to the owner of a change, stop defaulting to
> "is:open" to list changes, and introduce features in Gerrit so that a "is:active"
> query would give you the right thing. But that query would need to be the
> Gerrit default, not some obscure query you can run or add to your dashboard
> -- otherwise we are back at step 1.
> Thierry Carrez (ttx)
I'd like to ask few questions regarding this as I'm very much pro cleaning the review queues of abandoned stuff.
How often people (committer/owner/_reviewer_) abandon changes actively? Now I do not mean the reviewer here only cores marking other peoples abandoned PSs as abandoned I mean how many times you have seen person stating that (s)he will not review a change anymore? I haven't seen that, but I've seen lots of changes where person has reviewed it on some early stage and 10 revisions later still not given ones input again. What I'm trying to say here is that it does not make the change any less abandoned if it's not marked abandoned by the owner. It's rarely active process.
Regarding the contributor experience, I'd say it's way more harmful not to mark abandoned changes abandoned than do so. If the person really don't know and can't figure out how to a) join the mailing list b) get to irc c) write a comment to the change or d) reach out anyone in the project in any other means to express that (s)he does not know how to fix the issue flagged in weeks, I'm not sure if we will miss that person as a contributor so much either? And yes, the message should be strong telling that the change has passed the point it most probably will have no traction anymore and active action needs to be taken to continue the workflow. Same time lets turn this around. How many new contributors we drive away because of the reaction "Whoa, this many changes have been sitting here for weeks, I have no chance to get my change quickly in"?
Specifically to Nova, Swift & Cinder folks:
How much do you see benefit on bug lifecycle management with the abandoning? I would assume bugs that has message their proposed fix abandoned getting way more traction than the ones where the fix has been stale in queue for weeks. And how many of those abandoned ones gets reactivated?
Last I'd like to point out that life is full of disappointments. We should not try to keep our community in bubble where no-one ever gets disappointed nor their feelings never gets hurt. I do not appreciate that approach on current trend of raising children and I definitely do not appreciate that approach towards adults. Perhaps the people with "bad experience" will learn something and get over it or move on. Neither is bad for the community.
More information about the OpenStack-dev