Skip to content
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

Governance proposal: Steering Committee and Teams #17

Merged
merged 7 commits into from
Sep 10, 2024

Conversation

Dr-Irv
Copy link
Contributor

@Dr-Irv Dr-Irv commented Mar 31, 2024

These are changes to the governance documents with respect to the beginning and end of the document, and with the details about the Steering Committee and the concept of Teams. The exact list of teams and their responsibilities are in #18

Summary

We are proposing the following changes to the governance model, based on ideas used in other projects:

  • An annually elected Steering Committee (of 5 persons) that coordinates issues among the various Teams
  • A set of Teams responsible for different parts of the project

To manage the project, there are different Teams that each have responsibility for
specific aspects of the project. Collectively, the members of all Teams are referred to
as Stewards of the project.

Compared to the current governance docs, this removes the notion of a BDFL, and the "Core team" (the current set of committers) essentially becomes the initial Core Library Team (with the same responsibilities and rights as the current core team).

@Dr-Irv Dr-Irv marked this pull request as draft March 31, 2024 01:51
@Dr-Irv
Copy link
Contributor Author

Dr-Irv commented Mar 31, 2024

@jorisvandenbossche here is the first PR for the governance document, covering the front and back matter.

@Dr-Irv
Copy link
Contributor Author

Dr-Irv commented Mar 31, 2024

Also see #18 for the material that goes in the middle.

@jorisvandenbossche jorisvandenbossche changed the title Front and back matter update Governance proposal: Steering Committee and Teams Apr 17, 2024
@jorisvandenbossche
Copy link
Member

cc @pandas-dev/pandas-core

Copy link
Member

@WillAyd WillAyd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really nice work on this

governance.md Show resolved Hide resolved
governance.md Show resolved Hide resolved
Copy link
Member

@phofl phofl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some technical comments/questions

governance.md Outdated Show resolved Hide resolved
governance.md Outdated Show resolved Hide resolved
governance.md Show resolved Hide resolved
governance.md Show resolved Hide resolved
governance.md Outdated Show resolved Hide resolved
governance.md Outdated Show resolved Hide resolved
governance.md Outdated

Each Team has defined responsibilities for different aspects of the project. As a
general rule, an Individual Contributor can be nominated by a member of a Team to become
a member of that Team, and the Team must unanimously agree to admitting that person to
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-1 on this whole part. The core team should make the decision on updates to teams. This seems design to allow couple of people to become part of a team, and then decide who can join it, who is kicked out of it... The core team and the interested person should be able to decide who becomes part of a team and who better leaves it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's take the example of the pandas-stubs team (maintaining the pandas-stubs package). If there is a new active contributor that they would like to add to the stubs team, I am fine with the existing stubs team to decide on that, and I don't think the whole "core team" should have a say in that.

So in some way this is indeed "designed" to allow that, but of course not designed to misuse that power. But if that would happen, there are still other mechanisms to do something about that (such as the Steering Council and code of conduct).
Strictly speaking if another team would disagree with the addition of a new member, I think that would already fall under the current description of the general scope of the Steering Council, but we could also explicitly mention the Steering Council here as having an overruling power for team additions in case there are profound concerns.

governance.md Outdated Show resolved Hide resolved
governance.md Outdated Show resolved Hide resolved
governance.md Outdated Show resolved Hide resolved
governance.md Outdated Show resolved Hide resolved
@alimcmaster1
Copy link
Member

Thanks for all the work on this @Dr-Irv - looks great to me.

governance.md Show resolved Hide resolved
governance.md Show resolved Hide resolved
governance.md Outdated Show resolved Hide resolved
@Dr-Irv Dr-Irv marked this pull request as ready for review June 5, 2024 16:20
Copy link
Member

@WillAyd WillAyd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice work on this - I think this will be very helpful

@Dr-Irv
Copy link
Contributor Author

Dr-Irv commented Jun 14, 2024

@pandas-dev/pandas-core pinging for any further comments.

@jorisvandenbossche
Copy link
Member

Moving some of the discussion here, to keep the voting issue purely with actual voting comments (it's fine to explain the reasoning of your vote when voting, to be clear, I just want to keep further discussion here):

@datapythonista explained his -1:

  • the new team definitions are unrealistically complex. In oururrent simpler team structure most teams don't do much in practice, and the ones that work (like finance) is usually a single person doing all the work. We should go into making that simpler and closer to reality, not the opposite

  • Feels like a 5+ member steering commitee is inefficient. I'd rather have a 3 people committee that just helps when consensus isn't possible

with @MarcoGorelli's response to those items:

A few things I'd like to comment on:

  • Regarding Marc's comments: my understanding is that stewards only get equal voting rights for changes to the governance model, and not to pdeps or other matters. I think I'm OK with that

  • I'm also not sure about some teams, but I don't that having them is harmful

  • This wouldn't set the governance model in stone. Things can be revised, and I think this is a step in the right direction (for example, I'd like to propose shortening the voting period, but I'll do that separately)

I think this is a positive though, and a good move away from the current BDFL model: Wes hasn't been active in years, and based on his vote he probably doesn't have interest in acting as BDFL anymore anyway

with which I fully agree. Yes, we listed a lot of teams, and probably too many for the current reality. But 1) the thinking was that we were listing the teams we would like to have, and then actually having them listed might be easier to get people interested in it, and 2) those teams are not set in stone. If one of the teams doesn't work out in practice, then we can just update or remove it from the list later. Personally, I am seeing this as voting on the new structure of having a SC and teams, i.e. the principle of having teams, and then the exact teams and their responsibilities can grow and evolve in practice.

@jorisvandenbossche
Copy link
Member

jorisvandenbossche commented Aug 27, 2024

@datapythonista:

For PDEPs, in the team description it says it's the only team with PDEP voting rights. The steering commitee (except for the first election) and anything else feels like all stewards can vote. So for example people in the CoC team will have voting rights for the steering committee election. Not sure about project expenses since this seems ambiguous if it's fully delegated to the finance team now, or all stewards have a say. But clearly it's not the core dev team who decides who receives a grant anymore for what I understand.

And members of a team are decided by existing members of a team. So, if I was the only member of for example the infrastructure team, I could add a random person to the team, and the person would have voting rights for the steering committe, and possibly decide on the project finances.

I personally don't think this stewards idea, and all the added complexity in the governance, is a step forward. I'd rather keep Wes as the BDFL, even if he prefers this new model. ;)

Anyway, I think people are happy with this and it's virtually approved. I just wanted to clarify that I don't think your first bullet point is a minor thing.

@jorisvandenbossche
Copy link
Member

So for example people in the CoC team will have voting rights for the steering committee election.

No, those are explicitly excluded from having voting rights: "All members of each Team, except the Code of Conduct Team, are eligible to vote."
(I realize now it is not explicit what happens if you are a member of the CoC teams that would also be on another team, but my interpretation is that the membership of the CoC teams does not give you voting rights, i.e. it does not take it away when you already have voting rights otherwise)

And members of a team are decided by existing members of a team. So, if I was the only member of for example the infrastructure team, I could add a random person to the team, and the person would have voting rights for the steering committe, and possibly decide on the project finances.

Specifically for the Finance team, we updated the text to say that the Steering Committee has to approve new members for this team.

Now of course that is only for the Finance team and not in general. I did suggest adding a note that the Steering Committee could overrule team additions if necessary to cover such misuse, the previous time you brought this up: #17 (comment)

@simonjayhawkins
Copy link
Member

Yes, we listed a lot of teams, and probably too many for the current reality. But 1) the thinking was that we were listing the teams we would like to have, and then actually having them listed might be easier to get people interested in it, and 2) those teams are not set in stone. If one of the teams doesn't work out in practice, then we can just update or remove it from the list later.

Just in case the current proposal does not get enough approvals, an alternative based on the Areas of Focus from https://www.opentech.fund/funds/free-and-open-source-software-sustainability-fund/

Proposal for Simplified Team Structure for the Pandas Project

Objective: To streamline the team structure to address complexity, ensure clarity, and enhance long-term sustainability by focusing on three core teams: Maintenance, Operations, and Community.

Proposed Team Structure:

Maintenance Team:

Responsibilities:
Oversee bug fixes, vulnerability remediation, and upgrades.
Assist with patching, adapting to new environments, and enhancing features.
Goals:
Ensure the codebase remains secure and up-to-date.
Provide timely resolutions to issues raised by users and contributors.

Operations Team:

Responsibilities:
Ensure project stability and productivity.
Manage infrastructure, deployment, and continuous integration.
Engage with contributors and users to maintain project viability.
Goals:
Maintain a robust and efficient development environment.
Facilitate smooth and continuous project operations.

Community Team:

Responsibilities:
Focus on contributor health and user engagement.
Promote the project and gather user feedback.
Maintain clear and comprehensive project documentation.
Goals:
Foster a welcoming and supportive community.
Ensure transparency and accessibility of project information.

Discussion Points:

Simplicity and Clarity:

This proposed structure simplifies the current complex proposal, making roles and responsibilities more explicit and easier to manage.

Resource Allocation:

With only three teams, we can ensure that each team is adequately supported.

Steering Committee Concerns:

The current proposal includes a Steering Committee with significant authority, which may centralize too much power.
A simpler team structure may reduce the need for a Steering Committee, as decision-making can be more distributed among the teams.

Conclusion:

By focusing on three core teams, we can create a more manageable and effective framework.

Personally, I am seeing this as voting on the new structure of having a SC and teams, i.e. the principle of having teams, and then the exact teams and their responsibilities can grow and evolve in practice.

My reservations about the current proposal is about the viability of the proposed team structure and the concentration of power in the Steering committee. Both these concerns could be addressed if we also discussed/voted on a much simpler structure as suggested above.

@Dr-Irv
Copy link
Contributor Author

Dr-Irv commented Aug 27, 2024

My reservations about the current proposal is about the viability of the proposed team structure and the concentration of power in the Steering committee. Both these concerns could be addressed if we also discussed/voted on a much simpler structure as suggested above.

In our discussions, we did not give that much "power" to the Steering Committee. The goal of the Steering Committee is to coordinate efforts across multiple teams. From the proposal:

The role of the pandas Steering Committee is to coordinate the activities of the different Teams and to ensure that different policies and procedures are carried out in a consistent manner. The Steering Committee has no routine decision-making authority, except as detailed herein, although in exceptional circumstances it may be called upon from time to time to make decisions that are in the best interest of The Project as a whole. The Steering Committee will itself decide when a circumstance is exceptional. The Steering Committee may not override a PDEP. When the Steering Committee meets to discuss an issue, the members of the Steering Committee are responsible for soliciting input from members of the relevant Teams.

I am struggling to see how this list of responsibilities gives the Steering Committee a "concentration of power". In addition, the Steering Committee is chosen via an election, so if members of the committee did something so egregious that it upset people, the annual vote could remove them.

Also, the Teams structure we came up with was an outcome of the discussions in Basel in August, 2023.

@simonjayhawkins
Copy link
Member

I am struggling to see how this list of responsibilities gives the Steering Committee a "concentration of power". In addition, the Steering Committee is chosen via an election, so if members of the committee did something so egregious that it upset people, the annual vote could remove them.

This does not address the concerns I have about the Steering Committee (SC) potentially having too much power. Let's break down the points:

  1. Advisory Role: The SC is primarily advisory but can make decisions in exceptional circumstances. This means they don't have routine decision-making power, which limits their influence under normal conditions.

  2. Exceptional Circumstances: The SC has the authority to determine what qualifies as an "exceptional circumstance." This discretion could indeed lead to a concentration of power, as they can decide when to exercise their decision-making authority without external checks.

  3. Election Process: While the SC is elected, which provides a democratic element, there are concerns about the potential for abuse of power:

    • Removing Individuals: If the SC has the power to determine exceptional circumstances, they might use this power to remove individuals who oppose them.
    • Postponing/Cancelling Elections: Without clear rules and safeguards, the SC could potentially manipulate the election process to maintain their control.

To address these concerns, we would need to consider implementing the following protections:

  • Clear Definitions: Define what constitutes an "exceptional circumstance" in the governing documents to limit the SC's discretion.
  • Checks and Balances: Establish an independent body or process to review and approve the SC's decisions regarding exceptional circumstances.
  • Election Safeguards: Ensure that the election process is transparent and includes mechanisms to prevent postponement or cancellation without broad consensus.

These measures can help balance the SC's authority and prevent the potential for autocratic behavior.

@simonjayhawkins
Copy link
Member

tl;dr

The Steering Committee will itself decide when a circumstance is exceptional.

I really really don't like this sentence!

@simonjayhawkins
Copy link
Member

In our discussions, we did not give that much "power" to the Steering Committee.

The proposal states that the Steering Committee has “limited” routine decision-making authority.

However, it does have the authority to:

  • Create working groups to consider governance changes.
  • Appoint temporary working groups for issues outside existing Teams’ responsibilities.
  • Change, remove, or consolidate Team responsibilities.
  • Handle conflicts of interest.
  • Use a private mailing list.
  • Nominate and approve Institutional Partnerships.

Each year by October 31, Steering Committee members will be asked if they wish to continue. If a member steps down, new volunteers will be solicited from the Stewards by the SC.

  • How will the Steering Committee ensure that all stakeholders have a voice in decision-making processes?
  • What mechanisms will be in place to allow for transparent and democratic solicitation of new Steering Committee members?
  • If no member steps down, no new volunteers be solicited by the SC?
  • What steps will be taken to prevent and address potential biases in decision-making?
  • How will the Steering Committee ensure that decisions are made based on objective criteria rather than personal interests?
  • How will the Steering Committee promote diversity within the working groups it creates?
  • What measures will be implemented to ensure diverse perspectives are considered in all decisions?

@WillAyd
Copy link
Member

WillAyd commented Aug 29, 2024

@simonjayhawkins you have some really good questions here, although I'm curious if you think this proposal makes those issues worse than they are today, or if they are just things that can improve after this initial structure is set in place?

The potential for abuse of power by the SC can definitely happen, but I think that's less of a risk moving from a BDFL model to an SC model. Of course, we've been fortunate with Wes at the helm to have never faced that issue, but I'm also then hopeful that having a 5 person board that we elect will continue in that same direction

@datapythonista
Copy link
Member

datapythonista commented Aug 29, 2024 via email

@jorisvandenbossche
Copy link
Member

@bashtage answering one of your comments here:

  • There is something wrong with the subsequent election mechanism. It sounds like if the original 5 never step down, then there is no obvious way to infuse new blood. It seems to say that an election will only be called if there is a resignation and new volunteers. Presumably there should be a new election whenever there are new volunteers irrespective of whether the steerco is willing to continue.

It might be something we should clarify, but at least it was not our intention that a steering committee member could just stay on the council if they wanted without being re-elected.
Re-reading the section about "Subsequent elections", the beginning indeed seems to indicate that it is asked who wants to stay / step down (which feels unnecesary if they have to be re-elected anyway), but later in the paragraph it clearly states "Those new volunteers, along with any current Steering Committee members who wish to remain on the Steering Committee, will then be on a slate for an election", i.e. also existing members are part of the subsequent election.
And then at the end of the section it says "Steering Committee members may serve for any number of multiple terms, provided that they are re-elected in each annual election."
We explicitly updated it after some discussions in 4edbfc9

It can probably be simplified by not making such a clear distinction between new volunteers vs existing members, but at least the intent clearly is to always have an election regardless of members stepping down or not.

@WillAyd
Copy link
Member

WillAyd commented Aug 29, 2024

As of today, the actual way of making decisions is that for anything important the core dev is asked. While not always very efficient, I'm personally very happy with this. We decided together spending money in mentorships, signing a sponsoring agreement for our hosting, or creating a Slack instance.

Thanks for clarifying - I understand your point of view more on this now, although I have the exact opposite assessment as to whether that is good or not :-)

In our current state, while our team is very large, I find that very few people actually vote on things, and if they do, its entirely unclear who made what decisions and when, so there is very little to trace decisions back to.

I'll bring up some recent examples that are hopefully non-controversial (and for which I am to blame if there is disagreement):

  1. Back in June I asked on Slack about the team's opinion on if we should opt out of Slack's updates ToS for SlackAI. I received three thumbs up, with only 2 of them actually coming from team members. I went forward with this decision anyway
  2. When we were talking about the ROSES grant (to which I ultimately never applied), I really had no idea who to contact. I almost single-handedly made the decision to submit an NOI, and then ultimately to withdraw our application.
  3. The last two CZI applications were not shared with the entire team, which I don't think anyone even realized until after the second one was rejected, because no one volunteered to help. The submitters asked for any feedback, but never got any

Of course this proposal won't solve all of our problems, but I could only imagine it helping those situations.

Or the finance team can decide to give or deny mentorships without the core team even being notified.

The core team has almost always been about coding, which doesn't mean that its members have interest or want to do anything with finance. For the few that do, they can still join the finance team if they want, but I think this enables the finance team to also add to the larger organization people who don't code, but that can still offer help with finances.

@datapythonista
Copy link
Member

datapythonista commented Aug 30, 2024 via email

@WillAyd
Copy link
Member

WillAyd commented Aug 30, 2024

And given that all our existing teams are in my opinion inactive

Do you think they would be more active if our team included more than core-devs? I think the reason we can't staff teams that aren't dev-related is because of lack of time, interest, and resources, but on the flip side we aren't allowing in resources that are non-devs, which feels like a catch-22

@simonjayhawkins
Copy link
Member

@WillAyd

The potential for abuse of power by the SC can definitely happen, but I think that's less of a risk moving from a BDFL model to an SC model. Of course, we've been fortunate with Wes at the helm to have never faced that issue, but I'm also then hopeful that having a 5 person board that we elect will continue in that same direction

Of course, the benefits of moving from a BDFL model to an SC model are well documented. The BDFL Model concentrates power in one person, which can be risky if that person acts against the project’s best interests. A Steering Committee distributes decision-making power among multiple elected members, which can mitigate the risk of power abuse by any one individual.

However, we are solving a problem that we do not have. Currently, important decisions are made collectively by the core developers. This approach, while sometimes inefficient, ensures that decisions are made with diverse input.

The new proposal seems to shift decision-making power away from the core team to individual teams, which could lead to inconsistent and potentially problematic decisions without broader consultation. The new proposal attempts to mitigate this by giving the Steering Committee the authority to overrule team decisions, but the process for how it will make these decisions is not clearly defined.

So I think the overall result of the proposal in its current form is that the decision making will be less democratic, less transparent, less diverse and less accountable while also being more complex and crucially, untested and unrealistic.

@jorisvandenbossche
Copy link
Member

jorisvandenbossche commented Aug 30, 2024

[Will, comment) In our current state, while our team is very large, I find that very few people actually vote on things, and if they do, its entirely unclear who made what decisions and when, so there is very little to trace decisions back to.

I'll bring up some recent examples that are hopefully non-controversial (and for which I am to blame if there is disagreement):

  1. Back in June I asked on Slack about the team's opinion on if we should opt out of Slack's updates ToS for SlackAI. I received three thumbs up, with only 2 of them actually coming from team members. I went forward with this decision anyway
    ...

[Marc, comment]I don't see how the new governance would help in these examples. You wanted to do something, you asked, nobody objected or cared, and you could move forward, no? I personally think it's better to still share those things, so the rest of the team is informed, and in other cases could potentially contribute.

Continuing on those specific examples, I do think that the new governance helps with this. Not auto-magically with the fact that Will didn't get much response on those specific questions and made a decision (although we also hope that having more explicit teams will improve this somewhat), but to make it clearer that it is OK that Will did this.

In my mind, even if we adopt the governance proposal, we mostly keep working as we are. And I would still expect that Will would ask those questions to the whole team to gather input. But then if there is some (or not much) input, it is explicitly OK that Will makes a decision on this (assuming he is part of the specific team that has slack admin access, or part of the team writing a grant proposal, etc).

One of the motivations of the governance proposal is to make more explicit what is already happening implicitly.

Will is maybe seasoned enough in the project that he then did make those decisions, but he still shouldn't have to wonder about that, and making those aspects more explicit has a lot of value.
For example, I think it improves accountability, makes it clearer who is responsible for what, and it makes it more accessible for newcomers to the project to understand how things work and get decided (they don't (or at least less) have to navigate implicit power structures they are not aware of).

I still expect that people, in this example Will, listen to other people in the project, and takes that into account when making a decision on e.g. the slack setup. And if concerns are raised and Will would just stubbornly and single-handedly ignore those concerns, well, then there is a conflict. And at that point the Steering Committee has a responsibility (and mandate) to intervene in such an "exceptional circumstance" (ask Will and the others what is going on, mediate, and potentially make some intervention).

@simonjayhawkins
Copy link
Member

I still expect that people, in this example Will, listen to other people in the project, and takes that into account when making a decision on e.g. the slack setup. And if concerns are raised and Will would just stubbornly and single-handedly ignore those concerns, well, then there is a conflict. And at that point the Steering Committee has a responsibility (and mandate) to intervene in such an "exceptional circumstance" (ask Will and the others what is going on, mediate, and potentially make some intervention).

Perfect. How do we ensure that these principles are not just expectations but clearly communicated?

@jorisvandenbossche
Copy link
Member

[@simonjayhawkins comment] Of course, the benefits of moving from a BDFL model to an SC model are well documented. ...
However, we are solving a problem that we do not have.

We are still solving the "problem" of having an (inactive) BDFL while we think that there are better models for our community. While we definitely had no specific problem with our BDFL in the past, IMO that doesn't mean that it is not worth addressing the issue.

Currently, important decisions are made collectively by the core developers. This approach, while sometimes inefficient, ensures that decisions are made with diverse input.

And also with this model, the idea is that important decisions are still made with our collective input. But at some point, after potentially lengthy discussions, someone still needs to "call" an actual specific decision. This is the part that in practice has, IMO, often created unclear situations (have we discussed it long enough? is there "enough" consensus? is it OK that I go ahead now? or if there is disagreement but it is an issue that still requires some decision, then who makes that final decision? etc)

We wanted to make this "decision part" (not the discussion part) clearer. And there are of course other options than the steering committee and teams. For example, we could extend the PDEP model to all kinds of (also non-technical) decisions and vote on everything. But in the meetings discussing this proposal, we felt a preference for not voting on every single issue, but rather a model like a steering committee (quite similar to what several other projects in Python community have as well).

Specifically for decisions made by the Steering Committee, this is currently written in the proposal as "members of the Steering Committee are responsible for soliciting input".
(wording can probably be improved, and we welcome concrete text suggestions, but I am trying to explain the intent)

Re-reading our current governance text, I noticed it has an explicit paragraph saying:

"In general all Project decisions are made through consensus among the Core Team with input from the Community. The BDFL can, but rarely chooses to, override the Core Team and make a final decision on a matter."

While something like that isn't stated explicitly anymore. It might be good to still include something along those lines, adapted to the proposed structure (something saying decisions are still made through consensus among Team member with input from the community (for things a specific team can decide on) or through consensus among all members with a final decision by the Steering Committee (for things that fall beyond a single team).)

The new proposal seems to shift decision-making power away from the core team to individual teams, which could lead to inconsistent and potentially problematic decisions without broader consultation. The new proposal attempts to mitigate this by giving the Steering Committee the authority to overrule team decisions, but the process for how it will make these decisions is not clearly defined.

My feeling is that you are overestimating this decision-making power that is shifted. Most of the responsibilities and permissions listed in the proposed teams page are quite obvious things (or how we already work in practice), I think. For example, the core library team can merge PRs and vote on PDEPs, the stubs team can merge PRs in the stubs repo, the infrastructure team manages the server and the passwords and accounts, the triage team can manage github issues, the documentation team can merge PRs specific to documentation, etc.

The one exception is maybe the Finance team, where the decision power they are given feels bigger. But I also want to point out that our current website already describes this team as "Responsibilities: Manage the funding. Coordinate the request of grants. Approve the project expenses." .. (and I didn't add this to the website, to be clear)

So for the "Currently, important decisions are made collectively by the core developers.", I think most of the important decisions (except for technical decisions that are covered by the PDEP process, which probably doesn't leave that many decisions) will not be taken by individual teams but still collectively.
I admit that the proposed text then does not make it very explicit how it works for responsibilities/decisions that are not assigned to a specific team, and whether the Steering Committee has then the final responsibility or not.

@simonjayhawkins
Copy link
Member

Thanks Joris for taking the time to respond to my post.

Firstly, the last thing I want to do is block any changes or discredit any effort by the governance team over the past 12 months. Thanks to all involved.

Changing the governance could potentially be the most important decision made by the project for a while. To not have full consensus and have several positive votes with caveats is a tad worrying. It is important that the transition from a BDFL model to a Steering Committee and Teams ensures that the governance structure remains effective and fair.

I made a comment back in May (#17 (comment)) about a particular sentence. This was my "red line" and while still included in the document would not give a positive vote.

We now have some extra input from the voting process that we did not have during the months of discussion . And to be honest, after my small batch of initial comments, I neither engaged in further detailed review of the document wording as I normally feel that it is important to first let the dust settle on the important discussion points before going more in depth.

I will not address the specific points you have made at this stage because I don't generally disagree with you intentions and views and will first wait for the outcome of the vote. If the proposal does not pass first time, I am more than happy to help with more detailed review so that a subsequent vote is more conclusive.

There has been some mention of losing momentum. I personally think the opposite is true. We have more engagement from the team as a whole now that the vote is underway. To make another iteration of the proposal to incorporate the feedback gained during the vote would probably be better than just saying we can do it later. I think that once the vote passes, the momentum to improve the document is more likely to be lost. This is another reason why I am now comfortable with giving a negative vote in the first round.

@jorisvandenbossche
Copy link
Member

Thanks Simon. Quick question for clarification on one thing:

I made a comment back in May (#17 (comment)) about a particular sentence. This was my "red line" and while still included in the document would not give a positive vote.

Is that about the the Steering Committee being a "small group carte blanche to override a PDEP decision." ?
Because triggered by your comment, we discussed that and explicitly included a sentence that the SC "may not override a PDEP"
Or just about the "exceptional circumstances" in general.

@simonjayhawkins
Copy link
Member

IIRC my intention was that I gave the PDEP as an example.

@jorisvandenbossche
Copy link
Member

@jbrockmendel wrote at #20 (comment):

  1. In the future we should find a way to abstain that isn't a de-facto -1.

The proposal includes that we will use the voting procedure as described in PDEP-1 for future changes to the governance model, and so that includes abstaining votes that count towards the quorum and a majority rule based on non-abstaining votes. So this concern should be covered.

  1. My concern about the [gestures vaguely] governance stuff is that it empowers people who are willing to spend their time in governance meetings and who are willing to wade through or write walls of text.

I certainly understand that concern for changing the governance, but I am not sure what to do about that .. A similar issue happens for PDEP discussions, and it is something we have to be beware of, but to some extent I think it is also unavoidable when you want to build consensus in online (with mostly written communication) projects.
Now, I do think the goal of the proposal is also to empower people to actually do things, see below.

  1. My preferred form of governance is an informal do-ocracy: the people who actually do the work make the decisions. Both as a matter or principle and because they are more likely to actually understand what's going on.

I would say that this is (for "less important" decisions, however you interpret this, like not having project-wide impact, or not requiring explicit buy-in from a majority) more or less compatible with what we propose through the teams (e.g. the people working on the server infrastructure are empowered to make decisions on that, the people working on the website can make decisions about the website, etc). Only that by defining the teams it makes it more explicit who those people are.

  1. I agree with others who have pointed out that the SC deciding what constitutes an exceptional circumstance is bad design.

This concern indeed has come up regularly, and I was planning to explain a bit more the reasoning behind that in a separate post.

@jorisvandenbossche
Copy link
Member

7. I agree with others who have pointed out that the SC deciding what constitutes an exceptional circumstance is bad design.

This concern indeed has come up regularly, and I was planning to explain a bit more the reasoning behind that in a separate post.

For future reference, Irv opened a separate issue to discuss this -> #21

@jorisvandenbossche
Copy link
Member

Based on the positive vote (#20), merging this PR.

If there are any aspects from the above that you think warrant further discussion, please open a separate issue for them (and Irv already did so for the "exceptional circumstances" discussion in #21)

@jorisvandenbossche jorisvandenbossche merged commit f2bd880 into pandas-dev:main Sep 10, 2024
@jorisvandenbossche
Copy link
Member

And thanks Irv for the writing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants