On Fri, Jul 1, 2011 at 11:08 AM, Itamar Turner-Trauring <itamar@itamarst.org> wrote:
In order to have at least some anecdotal evidence --

If you've submitted a patch to Twisted (or started a branch) and it never
made it in, how did that happen? I imagine reasons might include a review
request to write tests, redesign requests, getting distracted, "it works
for me", design discussions that never got anywhere... What happened in
your case?

(I'd also like someone -- lvh? -- to go through report 16 and see if we
can come up with a summary of how those tickets ended up where they are.)

I've had a few of these.  I've also worked on others, reviewed a few, tried to resurrect some from abandonment, etc.

Reasons include:
- the finish line gets moved: A reviewer says "do this and then it'll be good to go into trunk".  The contributor does "this" and then another reviewer says "oh just one more thing...".  Rinse.  Repeat.  This is hugely demotivational.  In many cases a better response from follow on reviewers would be to land the ticket, and then create another ticket for whatever other changes are needed.  This is not always possible but I think it should be done where it is possible.

- compatibility with some other unfinished ticket: The reviewer insists on compatibility with some other ticket, or waiting on some other ticket to land.  This is not necessarily a bad thing, but if the other ticket takes 6 months to land...well, can we blame people for wandering off and/or forgetting about things?  (to be fair, I think I've only seen this once, and I can't recall what it was or find the ticket at the moment).

- I've seen a lot of tickets that "die" at the "this needs tests" phase.  Requiring tests is a good thing, though.  I think the only way to help this problem is for reviewers to provide more guidance as to how exactly to create those tests.  Even figuring out where to put the tests is sometimes very difficult.  Exarkun has been pretty good about this in the last year or so, IIRC.

(It might be worth it to create a Trac keyword for this situation, maybe "needs-tests".  This would make it easy to find those tickets, which might be a decent entry point for certain types of new contributors)

- Some people just seem to wander off.

- I can think of at least one ticket where the author stopped using Windows, and it was a Windows ticket. 

- That same Windows ticket is still open, though I tried to revive it.  It basically tries to do 2 things.  One of them is pretty nice (makes the StdIO protocol work on windows), but it's not even clear what the other one is trying to do.  So the ticket is in limbo until someone has the time to either figure it out or split the ticket in two. 

- I recall one ticket that got stalled, because noone was entirely sure who exactly had written the patch.  There was a third party who had contributed it to Twisted.  This was easily resolved with a google search and an email.  Of course the ticket is still open because it needs tests...

- One ticket was stalled because it required a "merge forward".  Which is not really obvious how to do, especially since the DIvmod site died.

I'm sure there are dozens of other reasons, but these are cases I can recall off the top of my head.

Kevin Horn