-
-
Notifications
You must be signed in to change notification settings - Fork 18.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes to pandas governance #47694
Comments
+1 to all the topics you listed here. I'll save my specific feedback for the upcoming, separate issues related to each topic.
Maybe more generally, the topic can address membership (in & out) into different membership teams (like https://github.com/orgs/pandas-dev/teams) which overlaps with committee. Maybe too heavy to discuss all in 1 github issue, but I kinda see these as specifics to people organization. |
As a mostly inactive dev, I definitely agree. It doesn't make sense that the casual visitor sees me in https://pandas.pydata.org/about/team.html just like active devs. We could even maybe be more precise on the definition of "inactivity" as "not contributing code". I have been sporadically commenting in issues, probably at least once a year, but I do think I should be considered inactive. |
With more people you might encounter different unique cases. For example, I am currently inactive in contributing code and have been for a while, but I am monitoring issues and if issues arise related to my area of developement will submit code fixes. I also intend to revisit code contributions when I have more free time. Perhaps some kind of automatic self certification of status might be useful? |
IMHO, there are different levels of activities that members of the "core team" do, which maybe indicates that different labels should be applied (my labels are suggested and open for discussion, and the qualifications could certainly be adjusted):
If you aren't at least "Casual", then it's time to drop you off the team, unless you are Retired. To become a member of the core team, use the current process, which means you make code contributions that are considered significant. But once on the core team, your level of involvement could change the label over time. |
I'm unclear on what failure(s) the increased formality is aimed at
addressing.
…On Wed, Jul 13, 2022 at 5:58 AM Irv Lustig ***@***.***> wrote:
IMHO, there are different levels of activities that members of the "core
team" do, which maybe indicates that different labels should be applied (my
labels are suggested and open for discussion, and the qualifications could
certainly be adjusted):
- *Principal* : Responsible for design decisions, attends all monthly
meetings, etc.
- *Senior* : Creates or reviews/approves PRs at least once per month
on average
- *Junior* : Comments on PRs and/or creates/comments on issues once
per month on average
- *Casual*: Has activity on PRs and/or issues at least once per quarter
- *Retired*: Previously a Principal, but no longer even qualifies as
Casual.
If you aren't at least "Casual", then it's time to drop you off the team,
unless you are Retired.
To become a member of the core team, use the current process, which means
you make code contributions that are considered significant. But once on
the core team, your level of involvement could change the label over time.
—
Reply to this email directly, view it on GitHub
<#47694 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB5UM6CATN3LGYQOAIFRR6DVT24ONANCNFSM53NFDAMA>
.
You are receiving this because you are on a team that was mentioned.Message
ID: ***@***.***>
|
I am also hoping not too much unneeded formality and complexity is added in the end. @datapythonista may have other thoughts, but I see this as rather responding to failures, an opportunity to
|
Thanks all for the feedback. I think what @mroeschke about having a general topic of membership makes a lot of sense, and I started by that. It made sense to me to also add the sponsors there, as I think the same format as maintainers and committees is useful to use. I was writing an issue, but at the end it made more sense to open a PR with an initial proposal, I think it'll make the discussion easier: #47706 While what @Dr-Irv says makes sense to me, I'd personally keep things simpler, at least for the initial version of the new governance. But happy to continue the discussion about the roles in the PR, maybe there is value in that division that I didn't immediately see, compared to just using active/inactive maintainers. |
@jbrockmendel suggested in the team call today using Emeritus instead of Retired, which is a good idea.
The goal of my labels was to help define active/inactive into categories, based on different levels of activity. If you want to have just "active" and "inactive", then we need to agree on what "active" means. |
Thanks for the clarification. In my initial proposal I added that a maintainer is inactive based on their own decision. To me this should work well enough and make things much simpler. I trust in this case people will make more sensible decisions than metrics, and also, to me it doesn't seem feasible that any of us spends time counting the number of PRs (or whatever) of pandas maintainers. But I'm more than happy to hear other opinions, and continue the discussion. |
we need to have discussions around any changes in governance this is actually a big deal and we need consensus of pretty much everyone |
Agree. The current governance requires this And just to be clear, so far #47706 is not much about changing the project governance, but in better defining what we've got now, so things are clearer for everyone, and decision making is more efficient. |
The governance changes are happening and other issues are being used, so closing this one. |
I was reading the pandas governance document and I think it could benefit from some improvements. The team is much bigger now, and we've got more experience in things like which kind of sponsoring we're receiving, which policies were haven't been enforced and others. I think having more up to date and precise governance policies should make decision making more efficient.
In this issue I compile the points I think we could update. Feel free to propose additions and changes to the list. Once we've got the big picture on what topics we want to discuss, I'll be creating separate issues for each of the topics.
Decision making
So far the policy is to find consensus and have the BDFL to unblock decision when needed. Keeping this is surely an option but I see couple of things that changed since this was decided:
For me personally, the main thing to improve in this area is to know when a decision is ready to be made. And even more, with the introduction of PDEPs (see #47444), where few people expressed interest on defining the voting process. I think there are couple of things that maybe could be changed:
Personally I don't have a strong opinion on what the policy should be, but I think adding clarity and avoiding ambiguity on when a decision is made, or what is missing to move forward with one decision, would be very beneficial.
Committees
So far we have a CoC committee and a NumFOCUS committee. I'd personally make couple of changes:
Sponsors
I personally find the institutional partners policy overcomplicated and still ambiguous. I'd simplify thins and simply have a policy like "A pandas sponsor is worth being listed in the website (plus any other benefit we want) if it employs a person to work at least 20% of their time to work in unrestricted work in the project, or provides $10,000 or more in funding to the project (in cash or in kind). A sponsor remains a sponsor for a year (or X period we want) until the last contribution to the project has been made).
Inactive core devs
The governance has a clear policy that core devs remove commit rights after one year of inactivity. I don't think this has been enforced for many years. Should we enforce it, or review the policy?
Personally, I think a good idea would be to have a figure of "inactive maintainer". I don't care much if someone has commit rights that aren't being used. But I think it'd be good to have the list of active core developers somehow updated. Mainly for two reasons:
I personally prefer something like "Inactive core dev" that doesn't sound like you were a core dev once, but you lost the badge. And makes changing status less of a big deal and changing the question from "do you want to stop being a core dev" to "are you currently active". Of course that would be with a long term view, someone who is inactive for a month should still be an active core dev.
CC: @pandas-dev/pandas-core
The text was updated successfully, but these errors were encountered: