Promote Stefan Behnel as a core developer
I propose to promote Stefan Behnel (aka scoder on the tracker and GitHub) as a core developer. Perhaps not one from us is surprised that he is not yet a core developer. Stefan is a core developer of Cython and lxml, two important projects in Python ecosystem. He is a coauthor of PEP 489. His first patch is dated by 2010. He is not so active as other candidates in writing patches (I have counted less than 20 of his commits), but he is active on the bug tracker and mailing lists (reported 95 issues and commented much more). His expertise in XML-related issues was very important. He is assigned as an expert for the xml.etree package.
Maybe you can add more about Stefan's merits. This is just what I know personally. I worked a much with him and have very good impression about him.
Ah, and the PSF also just granted him their quarterly community service award for 2019-Q1. https://www.python.org/community/awards/psf-awards/#march-2019
Opened an anonymous vote on https://discuss.python.org/t/vote-to-promote-stefan-behnel-as-a-core-develop... . But if you have concerns or objections, it is better to express them publicly or in private to me.
Le 24/03/2019 à 17:14, Serhiy Storchaka a écrit :
I propose to promote Stefan Behnel (aka scoder on the tracker and GitHub) as a core developer. Perhaps not one from us is surprised that he is not yet a core developer. Stefan is a core developer of Cython and lxml, two important projects in Python ecosystem. He is a coauthor of PEP 489. His first patch is dated by 2010. He is not so active as other candidates in writing patches (I have counted less than 20 of his commits), but he is active on the bug tracker and mailing lists (reported 95 issues and commented much more). His expertise in XML-related issues was very important. He is assigned as an expert for the xml.etree package.
I don't know. If he's not very active in writing or reviewing PRs, then perhaps he doesn't _need_ core developer rights.
I have a lot of respect for Stefan's experience, and his involvement especially in Cython development (where he's generally eager to solve bugs and other issues). But there are other people for whose experience I have a lot of respect for, yet don't think important to give CPython core developer rights to.
Regards
Antoine.
On 3/24/2019 12:14 PM, Serhiy Storchaka wrote:
I propose to promote Stefan Behnel (aka scoder on the tracker and GitHub) as a core developer.
Have you asked Stefan if he would like the privilege, accept it, and would at least occasionally use it?
Perhaps not one from us is surprised that he is not yet a core developer.
I'm not. While it might benefit us if he were more active with the core, I presume that he has chosen to remain focused on Cython and lxml and has never asked to become one. Hence my question above.
Stefan is a core developer of Cython and lxml, two important projects in Python ecosystem. He is a coauthor of PEP 489. His first patch is dated by 2010. He is not so active as other candidates in writing patches (I have counted less than 20 of his commits), but he is active on the bug tracker and mailing lists (reported 95 issues and commented much more). His expertise in XML-related issues was very important. He is assigned as an expert for the xml.etree package.
In other words, he has been more active with the core than most other 'ecosystem' developers and thus seems like a better candidate than most to join the core, even if his main focus remains on cython and lxml.
Maybe you can add more about Stefan's merits. This is just what I know personally. I worked a much with him and have very good impression about him.
So do I from what I have read of his posts.
Ah, and the PSF also just granted him their quarterly community service award for 2019-Q1. https://www.python.org/community/awards/psf-awards/#march-2019
I am forwarding this response by Stefan to my previous response since he cannot post directly. [I cannot thread this properly because I have not yet received a copy of what I sent, as sometimes happens on this list.)
Hi Terry!
(python-committers is a closed list, so I'm replying directly)
Terry Reedy schrieb am 24.03.19 um 19:27:
On 3/24/2019 12:14 PM, Serhiy Storchaka wrote:
I propose to promote Stefan Behnel (aka scoder on the tracker and GitHub) as a core developer.
Have you asked Stefan if he would like the privilege, accept it, and would at least occasionally use it?
Yes, we discussed it. I would be happy to receive the privilege, and "occasionally" use it.
In other words, he has been more active with the core than most other 'ecosystem' developers and thus seems like a better candidate than most to join the core, even if his main focus remains on cython and lxml.
Thanks! Yes, that sums it up quite well, I think.
Stefan
Le dim. 24 mars 2019 à 17:40, Antoine Pitrou antoine@python.org a écrit :
I don't know. If he's not very active in writing or reviewing PRs, then perhaps he doesn't _need_ core developer rights.
IMHO it's wrong to restrict the group of code developers to developers who only produce codes. CPython is way more than code. You need the infra, you need to tooling around CPython, you need the CI, etc. Without these things, the code is way less atractive. It's like trying to separate the code and the documentation, both strick together and the two are important. We need more diversity in general ;-)
The PEP 13 defines who deserves to become a core developer: https://www.python.org/dev/peps/pep-0013/#membership
Extract:
- Managing the continuous integration infrastructure
- Managing the servers (website, tracker, documentation, etc.)
- Maintaining related projects (alternative interpreters, core infrastructure like packaging, etc.)
- Creating visual designs
Technically, I don't think that any of these 3 "roles" require the "commit bit" (merge a PR).
Victor
Night gathers, and now my watch begins. It shall not end until my death.
Le 24/03/2019 à 22:12, Victor Stinner a écrit :
The PEP 13 defines who deserves to become a core developer: https://www.python.org/dev/peps/pep-0013/#membership
Or here's the introductory sentence:
"""Here's an incomplete list of areas where contributions may be considered for joining the core team, in no particular order:"""
(note "may", not "will" or "should". IOW, it will depend on the exact involvement ahd whether it's directly relevant to core development)
Regards
Antoine.
Hi,
Le dim. 24 mars 2019 à 17:14, Serhiy Storchaka storchaka@gmail.com a écrit :
I propose to promote Stefan Behnel (aka scoder on the tracker and GitHub) as a core developer. Perhaps not one from us is surprised that he is not yet a core developer.
I discussed with Stefan this week and I told him that I was surprised that he is not a core developer yet. I didn't follow Stefan's recent work, so I didn't feel able to propose him (and I am already proposing another Stéphane, Stéphane Wirtel, this week :-)). It seems like Serhiy offers to propose to promote him, good! Stefan has my +1 (I voted at discuss.python.org).
Stefan is a core developer of Cython (...)
Cython became a major project in the Python community (see the PSF award). I noticed that sometimes Cython is slow to be updated to support new Python changes (like the new way to store exceptions in PyThreadState of Python 3.7).
It became frequent that major projects like numpy fail to be build on "python nightly" because Cython doesn't work on the master branch of Python.
I don't expect Stefan to be suddenly more active upstream in term of fixing random Python issues. I would like to see Stefan working more closely with developers who are modifying Python internals. For example, the change moving PyInterpreterState to the internal API (Include/internal). If such change breaks Cython, it would help to see the authors of such changes helping Stefan to fix Cython. Or at least, Stefan notify the authors. Slowly, I hope that Cython will collaborate more with Python upstream.
Victor
Night gathers, and now my watch begins. It shall not end until my death.
24.03.19 18:40, Antoine Pitrou пише:
I don't know. If he's not very active in writing or reviewing PRs, then perhaps he doesn't _need_ core developer rights.
I understand you. He does not _need_ core developer rights just for this. But I have a grounded hope that Stefan can be the next maintainer of the xml.etree package (and maybe other XML modules). And I think it would be good to have a person who is a core developer of both CPython and Cython. We need more tight collaboration with Cython.
24.03.19 23:23, Victor Stinner пише:
Cython became a major project in the Python community (see the PSF award). I noticed that sometimes Cython is slow to be updated to support new Python changes (like the new way to store exceptions in PyThreadState of Python 3.7).
It is not slow. But it took a time to update Cython version in dependencies of other projects.
I asked Stefan some questions and here is he answer.
27.03.19 10:25, Stefan Behnel пише:
Hi Serhiy!
It's actually good that you asked. Please forward this to the committers list for me.
Maybe it's my fault that I did not introduce you well enough, but there were some questions. No problem. They are good questions, and the discussion around them was
Serhiy Storchaka schrieb am 27.03.19 um 07:40: probably also necessary at some point.
Why do you want to be the core developer? Why do you need these rights? Do you fully understand that this is not just rights, but above all certain responsibilities. Do you want to be a maintainer of the xml.etree package (and maybe other XML modules)? I understand that it's a responsibility. I accept that responsibility, and yes, I think the XML packages would benefit from a couple more hands and heads, as would other parts of CPython. I also understand the difference between writing a PR and being able to merge it. :)
Besides that, I think the position also gives a different standing, both in the circle of core devs and in the community, even though some core-devs are arguing against codifying that. I find it perfectly ok to strive for recognition in an unpaid job. The PSF is one way of giving out recognition, but it's not the only way. Being equal can sometimes be more valuable than being special.
Regarding the process, I think it's good to have a grey zone in the ways how to become a core developer. It should be easy enough to not scare away candidates (because we need them!), but still have a bar that keeps people out who just want a nice title for their resume and then drop away after a couple of months.
Why is that? Because there are costs associated with new core devs:
They need initial support and training, thus eating up the contributed time of other core developers. Adding new core devs should have the ultimate goal of *reducing* the time that others need to put into the project to get work done, not increase it.
Adding a new core dev increases the chance of dissent between people who can click merge buttons and revert commits. Managing groups of people is difficult, at least if there is more than one person involved.
Revoking the rights of a former contributor is a major social problem, thus leading to stale entries in the list of core-devs. (*)
Thus, IMHO, the main questions to answer when deciding whether to add a new core dev are: 1) Is that person knowledgeable enough for the job and capable/expected to take over tasks from others? 2) Can that person be expected to participate in decision processes in a constructive way, and without starting merge wars? 3) Has that person been around for long enough to safely assume that it's not just a flash in the pan?
Apart from that, given the social bar that someone has to promote a person (and probably wouldn't do that if that person is unlikely to pass the acceptance test), I think it's an acceptable process.
It's a bet on the future, after all. Life and conditions change, and you can never be sure how a person will behave in a year's time, if that person will still be willing and capable of contributing then, or if that person will even be alive at all. Predictions are hard, especially about the future. We have to live with that, and adjust the tradeoffs accordingly.
Stefan
(*) The German language has the beautiful word "Karteileiche" for this, literally a dead body in a register.
If Stefan is willing to become a XML maintainer, it sounds like a good reason to make him core developer.
Regards
Antoine.
Le 27/03/2019 à 10:03, Serhiy Storchaka a écrit :
I asked Stefan some questions and here is he answer.
27.03.19 10:25, Stefan Behnel пише:
Hi Serhiy!
It's actually good that you asked. Please forward this to the committers list for me.
Maybe it's my fault that I did not introduce you well enough, but there were some questions. No problem. They are good questions, and the discussion around them was
Serhiy Storchaka schrieb am 27.03.19 um 07:40: probably also necessary at some point.
Why do you want to be the core developer? Why do you need these rights? Do you fully understand that this is not just rights, but above all certain responsibilities. Do you want to be a maintainer of the xml.etree package (and maybe other XML modules)? I understand that it's a responsibility. I accept that responsibility, and yes, I think the XML packages would benefit from a couple more hands and heads, as would other parts of CPython. I also understand the difference between writing a PR and being able to merge it. :)
Besides that, I think the position also gives a different standing, both in the circle of core devs and in the community, even though some core-devs are arguing against codifying that. I find it perfectly ok to strive for recognition in an unpaid job. The PSF is one way of giving out recognition, but it's not the only way. Being equal can sometimes be more valuable than being special.
Regarding the process, I think it's good to have a grey zone in the ways how to become a core developer. It should be easy enough to not scare away candidates (because we need them!), but still have a bar that keeps people out who just want a nice title for their resume and then drop away after a couple of months.
Why is that? Because there are costs associated with new core devs:
They need initial support and training, thus eating up the contributed time of other core developers. Adding new core devs should have the ultimate goal of *reducing* the time that others need to put into the project to get work done, not increase it.
Adding a new core dev increases the chance of dissent between people who can click merge buttons and revert commits. Managing groups of people is difficult, at least if there is more than one person involved.
Revoking the rights of a former contributor is a major social problem, thus leading to stale entries in the list of core-devs. (*)
Thus, IMHO, the main questions to answer when deciding whether to add a new core dev are: 1) Is that person knowledgeable enough for the job and capable/expected to take over tasks from others? 2) Can that person be expected to participate in decision processes in a constructive way, and without starting merge wars? 3) Has that person been around for long enough to safely assume that it's not just a flash in the pan?
Apart from that, given the social bar that someone has to promote a person (and probably wouldn't do that if that person is unlikely to pass the acceptance test), I think it's an acceptable process.
It's a bet on the future, after all. Life and conditions change, and you can never be sure how a person will behave in a year's time, if that person will still be willing and capable of contributing then, or if that person will even be alive at all. Predictions are hard, especially about the future. We have to live with that, and adjust the tradeoffs accordingly.
Stefan
(*) The German language has the beautiful word "Karteileiche" for this, literally a dead body in a register.
python-committers mailing list python-committers@python.org https://mail.python.org/mailman/listinfo/python-committers Code of Conduct: https://www.python.org/psf/codeofconduct/
On Mar 24, 2019, at 9:14 AM, Serhiy Storchaka storchaka@gmail.com wrote:
I propose to promote Stefan Behnel (aka scoder on the tracker and GitHub) as a core developer.
Strong +1 from me. Stefan has demonstrated deep knowledge, good judgment, and will be around for the long-term. IMO, he is a first rate developer.
Raymond
24.03.19 18:19, Serhiy Storchaka пише:
Opened an anonymous vote on https://discuss.python.org/t/vote-to-promote-stefan-behnel-as-a-core-develop... . But if you have concerns or objections, it is better to express them publicly or in private to me.
The results of the voting:
30 votes for promote.
3 votes for not promote.
So the majority of core developers supports promoting. But votes against should not be ignored.
The main concern is that with such low rate we do not need to grant him the permission rights to merge. The answer is that we need a maintainer for the xml.etree package, and Stefan is already an expert of it. It need the core developer status to be an official maintainer.
Maybe this answer convinced those who voted against. If you have other concerns, please tell me privately or in public, so that we will know what should be changed to make Stefan satisfying the requirements of a code developer.
In any case the vote just gives some information for the Steering Council. Itsresult does not oblige to certain decisions.
Just a quick update: 3 of us on the council were travelling this week so we have not privately voted/decided about either candidate yet. My hope is we will have an answer for both candidate no later than early next week.
On Thu, Apr 4, 2019 at 2:50 AM Serhiy Storchaka storchaka@gmail.com wrote:
24.03.19 18:19, Serhiy Storchaka пише:
Opened an anonymous vote on https://discuss.python.org/t/vote-to-promote-stefan-behnel-as-a-core-develop... . But if you have concerns or objections, it is better to express them publicly or in private to me.
The results of the voting:
30 votes for promote.
3 votes for not promote.
So the majority of core developers supports promoting. But votes against should not be ignored.
The main concern is that with such low rate we do not need to grant him the permission rights to merge. The answer is that we need a maintainer for the xml.etree package, and Stefan is already an expert of it. It need the core developer status to be an official maintainer.
Maybe this answer convinced those who voted against. If you have other concerns, please tell me privately or in public, so that we will know what should be changed to make Stefan satisfying the requirements of a code developer.
In any case the vote just gives some information for the Steering Council. Its result does not oblige to certain decisions.
python-committers mailing list python-committers@python.org https://mail.python.org/mailman/listinfo/python-committers Code of Conduct: https://www.python.org/psf/codeofconduct/
PEP 13 says: """ [Core team membership] is granted by receiving at least two-thirds positive votes in a core team vote and no veto by the steering council. """
Since both Stéphane and Stefan reached the 2/3 positive votes threshold, the only question is whether the SC decides to veto their membership (for I suppose should be an extremely important reason). Otherwise, they should be welcome as core developers.
Regards
Antoine.
Le 05/04/2019 à 21:33, Brett Cannon a écrit :
Just a quick update: 3 of us on the council were travelling this week so we have not privately voted/decided about either candidate yet. My hope is we will have an answer for both candidate no later than early next week.
On Thu, Apr 4, 2019 at 2:50 AM Serhiy Storchaka
mailto:storchaka@gmail.com> wrote: 24.03.19 18:19, Serhiy Storchaka пише:
Opened an anonymous vote on https://discuss.python.org/t/vote-to-promote-stefan-behnel-as-a-core-developer/1054 . But if you have concerns or objections, it is better to express them publicly or in private to me.
The results of the voting: * 30 votes for promote. * 3 votes for not promote. So the majority of core developers supports promoting. But votes against should not be ignored. The main concern is that with such low rate we do not need to grant him the permission rights to merge. The answer is that we need a maintainer for the xml.etree package, and Stefan is already an expert of it. It need the core developer status to be an official maintainer. Maybe this answer convinced those who voted against. If you have other concerns, please tell me privately or in public, so that we will know what should be changed to make Stefan satisfying the requirements of a code developer. In any case the vote just gives some information for the Steering Council. Itsresult does not oblige to certain decisions. _______________________________________________ python-committers mailing list python-committers@python.org <mailto:python-committers@python.org> https://mail.python.org/mailman/listinfo/python-committers Code of Conduct: https://www.python.org/psf/codeofconduct/
python-committers mailing list python-committers@python.org https://mail.python.org/mailman/listinfo/python-committers Code of Conduct: https://www.python.org/psf/codeofconduct/
On Fri, Apr 5, 2019 at 12:40 PM Antoine Pitrou antoine@python.org wrote:
PEP 13 says: """ [Core team membership] is granted by receiving at least two-thirds positive votes in a core team vote and no veto by the steering council. """
Since both Stéphane and Stefan reached the 2/3 positive votes threshold, the only question is whether the SC decides to veto their membership (for I suppose should be an extremely important reason). Otherwise, they should be welcome as core developers.
Correct, so we as the SC need to decide among ourselves if we are going to veto so I'm not quite following what point this reply is trying to make.
-Brett
Regards
Antoine.
Le 05/04/2019 à 21:33, Brett Cannon a écrit :
Just a quick update: 3 of us on the council were travelling this week so we have not privately voted/decided about either candidate yet. My hope is we will have an answer for both candidate no later than early next week.
On Thu, Apr 4, 2019 at 2:50 AM Serhiy Storchaka
mailto:storchaka@gmail.com> wrote: 24.03.19 18:19, Serhiy Storchaka пише:
Opened an anonymous vote on
https://discuss.python.org/t/vote-to-promote-stefan-behnel-as-a-core-develop...
. But if you have concerns or objections, it is better to express them publicly or in private to me.
The results of the voting: * 30 votes for promote. * 3 votes for not promote. So the majority of core developers supports promoting. But votes against should not be ignored. The main concern is that with such low rate we do not need to grant him the permission rights to merge. The answer is that we need a maintainer for the xml.etree package, and Stefan is already an expert of it. It need the core developer status to be an official maintainer. Maybe this answer convinced those who voted against. If you have other concerns, please tell me privately or in public, so that we will know what should be changed to make Stefan satisfying the requirements of a code developer. In any case the vote just gives some information for the Steering Council. Itsresult does not oblige to certain decisions. _______________________________________________ python-committers mailing list python-committers@python.org <mailto:python-committers@python.org> https://mail.python.org/mailman/listinfo/python-committers Code of Conduct: https://www.python.org/psf/codeofconduct/
python-committers mailing list python-committers@python.org https://mail.python.org/mailman/listinfo/python-committers Code of Conduct: https://www.python.org/psf/codeofconduct/
python-committers mailing list python-committers@python.org https://mail.python.org/mailman/listinfo/python-committers Code of Conduct: https://www.python.org/psf/codeofconduct/
Le 05/04/2019 à 21:44, Brett Cannon a écrit :
On Fri, Apr 5, 2019 at 12:40 PM Antoine Pitrou
mailto:antoine@python.org> wrote: PEP 13 says: """ [Core team membership] is granted by receiving at least two-thirds positive votes in a core team vote and no veto by the steering council. """ Since both Stéphane and Stefan reached the 2/3 positive votes threshold, the only question is whether the SC decides to veto their membership (for I suppose should be an extremely important reason). Otherwise, they should be welcome as core developers.
Correct, so we as the SC need to decide among ourselves if we are going to veto so I'm not quite following what point this reply is trying to make.
It was not very clear in your message where you talked about "voting" about either candidate.
Regards
Antoine.
On Fri, Apr 5, 2019 at 12:53 PM Antoine Pitrou antoine@python.org wrote:
Le 05/04/2019 à 21:44, Brett Cannon a écrit :
On Fri, Apr 5, 2019 at 12:40 PM Antoine Pitrou
mailto:antoine@python.org> wrote: PEP 13 says: """ [Core team membership] is granted by receiving at least two-thirds positive votes in a core team vote and no veto by the steering
council.
""" Since both Stéphane and Stefan reached the 2/3 positive votes
threshold,
the only question is whether the SC decides to veto their membership (for I suppose should be an extremely important reason). Otherwise, they should be welcome as core developers.
Correct, so we as the SC need to decide among ourselves if we are going to veto so I'm not quite following what point this reply is trying to
make.
It was not very clear in your message where you talked about "voting" about either candidate.
For new core devs we basically ask each of the five of us whether anyone has a reason to object and if they do then we have a discussion and decide as a group whether that reason warrants a veto. So we "vote" as to whether anyone has a reason to veto.
I don't think you meant it to come off this way, but that email felt like a lecture because you didn't ask for clarification and instead just stated back at me what the process is as if you didn't believe me or any one of the five of us knew what PEP 13 said on how to handle proposed new core devs (which we have already handled once with Cheryl; this happens to be the first time we need to handle two candidates simultaneously). If people want to ask questions or desire some clarification from the council then please feel free to ask, but I do ask that we be given the benefit of the doubt that at least one of the five of us knows what we are doing. ;)
Le 05/04/2019 à 22:14, Brett Cannon a écrit :
I don't think you meant it to come off this way, but that email felt like a lecture because you didn't ask for clarification and instead just stated back at me what the process is as if you didn't believe me or any one of the five of us knew what PEP 13 said on how to handle proposed new core devs (which we have already handled once with Cheryl; this happens to be the first time we need to handle two candidates simultaneously). If people want to ask questions or desire some clarification from the council then please feel free to ask, but I do ask that we be given the benefit of the doubt that at least one of the five of us knows what we are doing. ;)
Ah, sorry. No, I was just misunderstanding your original message.
Regards
Antoine.
participants (6)
-
Antoine Pitrou
-
Brett Cannon
-
Raymond Hettinger
-
Serhiy Storchaka
-
Terry Reedy
-
Victor Stinner