About multiprocessing maintainership
Hello, In a recent message, Raymond dramatically pretends that I would have "edited out" Davin of the maintainers list for the multiprocessing module. What I did (*) is different: I asked to mark Davin inactive and to stop auto-assigning him on bug tracker issues. Davin was /still/ listed in the experts list, along with me and others. IOW, there was no "editing out". (*) https://github.com/python/devguide/pull/435 The reason I did this is simple: Davin does not do, and has almost never done, any actual maintenance work on multiprocessing (if you are not convinced, just go through the git history, and the PRs that were merged in the ~4 last years). He usually does not respond to tracker issues opened by users. He does not review PRs. The only sizable piece of work he committed is, as I mentioned in the previous thread, still untested and undocumented. Auto-assigning someone who never (AFAICT) responds to issues ultimately does a disservice to users, whose complaints go unanswered; while other people, who /do/ respond to users, are not aware of those stale issues. Regards Antoine.
Antoine's change to the devguide was made on the basis that "he doesn't contribute anymore" which, going by Antoine's own description in this thread, he contradicts. My current effort, mentioned in Antoine's other thread, is not my single largest contribution. I have been impressed by the volume of time that Antoine is able to spend on the issue tracker. Because he and I generally agree on what actions to take on an issue, when he is quick to jump on issues it is uncommon for me to feel the need to say something myself just to play a numbers game or to make my presence felt -- that's part of being a team. There have been incidents where I disagree with Antoine and explain the reasoning in an issue but later Antoine goes on to do whatever he wants, disregarding what I wrote -- because I am not in a position to necessarily react or respond as frequently, I've generally only discovered this much later. I regard this latter interaction as unhealthy. I have been part of several group discussions (among core developers) now regarding how to balance the efforts of contributors with copious time to devote versus those which must be extra judicious in how they spend their more limited time. We recognize this as an ongoing concern and here it is again. If we are supportive of one another, we can find a way to work through such things. I joined the core developer team to help others and give back especially when it involved the then-neglected multiprocessing module. When I am personally attacked in a discussion on an issue by someone I do not know, it hurts and demoralizes me -- I know that all of the core developers experience this. When I am spending time on multiprocessing only to be surprised by a claim that I don't contribute anymore, it hurts and demoralizes me. When I read hand-picked statistics to support a slanted narrative designed to belittle my contributions, it hurts and demoralizes me. I know different people react to such things differently but in my case I have occasionally needed to take time away from cpython to detox -- in 2018, such incidents led to my losing more than a month of time more than once. Regarding support for one another: At the core developer sprint last year, I volunteered to remotely host Antoine on my laptop so that he could video-conference into the governance discussions we were having there. A few weeks later, Antoine is "editing me out" of the maintainers list without any further communication. If we only let the loudest people contribute then we lose the quiet contributors and push them out. Davin On Mon, Feb 4, 2019 at 4:39 AM Antoine Pitrou <solipsis@pitrou.net> wrote:
Hello,
In a recent message, Raymond dramatically pretends that I would have "edited out" Davin of the maintainers list for the multiprocessing module.
What I did (*) is different: I asked to mark Davin inactive and to stop auto-assigning him on bug tracker issues. Davin was /still/ listed in the experts list, along with me and others. IOW, there was no "editing out".
(*) https://github.com/python/devguide/pull/435
The reason I did this is simple: Davin does not do, and has almost never done, any actual maintenance work on multiprocessing (if you are not convinced, just go through the git history, and the PRs that were merged in the ~4 last years). He usually does not respond to tracker issues opened by users. He does not review PRs. The only sizable piece of work he committed is, as I mentioned in the previous thread, still untested and undocumented.
Auto-assigning someone who never (AFAICT) responds to issues ultimately does a disservice to users, whose complaints go unanswered; while other people, who /do/ respond to users, are not aware of those stale issues.
Regards
Antoine.
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/python%2Bpython_dev%40dis...
Hello Davin, I would like this discussion to be constructive and not vindicative. So I would ask that we leave personal attacks out of this.
I have been part of several group discussions (among core developers) now regarding how to balance the efforts of contributors with copious time to devote versus those which must be extra judicious in how they spend their more limited time.
It is a misconception to think that I would have "copious time" to devote to the bug tracker and general contribution work. I don't. Actually, I find I am not responsive enough on such issues when they fall in my areas of expertise. For users and contributors, it is generally demotivating to have to wait several weeks before a response comes.
A few weeks later, Antoine is "editing me out" of the maintainers list without any further communication.
You haven't been "edited out". You were left in the maintainers list (really an "experts list"), together with Richard Oudkirk who is the original author of multiprocessing, but also Jesse Noller and me. Again, I have found that frequently multiprocessing issues get neglected. This is in part because you are auto-assigned on such issues, and therefore users and other contributors think you'll deal with the issues, which you don't. I could not guess by myself that you have been busy working in private on a feature for the past 1.5 years. So by all accounts you definitely seemed to be "inactive" as far as multiprocessing maintenance goes. My concern is to improve the likelihood of users getting a response on multiprocessing issues. One important factor is to be honest to users who is actually available to respond to issues. If you have another suggestion as to how act on this, please do. Regards Antoine.
On Mon, Feb 4, 2019 at 4:39 AM Antoine Pitrou <solipsis@pitrou.net> wrote:
What I did (*) is different: I asked to mark Davin inactive and to stop auto-assigning him on bug tracker issues. Davin was /still/ listed in the experts list, along with me and others. IOW, there was no "editing out".
Auto-assignment (and auto-add-to-nosy-list, for that matter) is handled by the "components" of the bug tracker, see bugs.python.org/component. The experts list is used just for populating the auto-completion for the nosy-list (that is, typing "multi" in the nosy list entry field brings up "multiprocessing: davin,pitrou" currently). Marking a dev as "(inactive)" in the experts list removes them from that auto-completion. We've long discussed the possibility of rearranging how bpo does auto-nosy/auto-assign such that a reporter can tag the affected module(s) and auto-nosy based on the experts list. That would take significant effort which probably isn't worth doing unless PEP581 winds up rejected, but in the meantime we could easily add a `multiprocessing` component that does whatever auto-nosy and/or auto-assignment we want. -- Zach
On Mon, 4 Feb 2019 09:45:39 -0600 Zachary Ware <zachary.ware+pydev@gmail.com> wrote:
On Mon, Feb 4, 2019 at 4:39 AM Antoine Pitrou <solipsis@pitrou.net> wrote:
What I did (*) is different: I asked to mark Davin inactive and to stop auto-assigning him on bug tracker issues. Davin was /still/ listed in the experts list, along with me and others. IOW, there was no "editing out".
Auto-assignment (and auto-add-to-nosy-list, for that matter) is handled by the "components" of the bug tracker, see bugs.python.org/component. The experts list is used just for populating the auto-completion for the nosy-list (that is, typing "multi" in the nosy list entry field brings up "multiprocessing: davin,pitrou" currently). Marking a dev as "(inactive)" in the experts list removes them from that auto-completion.
Thanks for the clarification. In any case, here is how things usually happen. A user files a bug report for a certain module M. A triager takes notice, looks up the relevant expert(s) in the developer's guide. If an expert is listed with issue assignment allowed (the asterisk "*" besides the name), then the triager assumes that expert is available and assigns the issue to them. If the expert with an asterisk doesn't respond to the issue, the issue may very well get forgotten. So it's important that experts with an asterisk are actually available to deal with user reports. Regards Antoine.
participants (4)
-
Antoine Pitrou -
Antoine Pitrou -
Davin Potts -
Zachary Ware