Skip to content

Teams Responsibilities, permissions, criteria #18

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

Merged
merged 4 commits into from
Oct 7, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
224 changes: 224 additions & 0 deletions teams.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,224 @@
# Teams

This document describes the responsibilities, permissions and criteria for membership
for each of the Teams associated with the _pandas_ project. The Teams are:

- Core library Team
- pandas-stubs Team
- Finance Team
- Infrastructure Team
- Documentation Team
- Code of Conduct Team
- Triage Team
- Contributor Community Team
- Website Team
- Outreach Team

Individuals may be on more than one Team. If it is difficult to find enough people
for any particular Team, the Steering Committee may assign the responsibilities of that
underserved Team to another Team.

### Core Library Team

#### Responsibilities

* Maintain and develop the _pandas_ library (the
[https://github.com/pandas-dev/pandas/](https://github.com/pandas-dev/pandas/)
repository)
* Review and Approve or Reject Pull Requests
* Current guidelines on merging PRs:
[https://pandas.pydata.org/docs/dev/development/maintaining.html#merging-pull-requests](https://pandas.pydata.org/docs/dev/development/maintaining.html#merging-pull-requests)
* Finalizes Releases of the _pandas_ library

#### Permissions

* Has permission to merge anything to the main branch of the _pandas_ repository
* Only Team with PDEP voting rights
Copy link
Member

Choose a reason for hiding this comment

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

Yes, I can see how in the majority of cases this would be true. There are a couple of examples in the Clear examples for potential PDEPs and Borderline examples section of the PDEP such as Changing the build system to meson where this may no longer be appropriate?

I guess that once the governance documents are updated we will need to revisit the PDEP process to update some wording such as core development team anyway?

Is it worth starting that revision of PDEP-1 now in parallel with the governance revisions so that the language and responsibilities are consistent and not ambiguous ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think we have to agree that once the governance changes are accepted, then we'll update PDEP-1.


#### Criteria for Membership

* New Members are nominated after a period of sustained and qualitative contributions
* Joining heuristic: "is there some aspect of _pandas_ where we trust this person to
get something in without anyone's help?".
* An existing Member of the Team proposes to promote a new member
* [https://pandas.pydata.org/docs/dev/development/maintaining.html#becoming-a-pandas-maintainer](https://pandas.pydata.org/docs/dev/development/maintaining.html#becoming-a-pandas-maintainer)

### pandas-stubs Team

#### Responsibilities

* Maintenance of `pandas-stubs` repository
([https://github.com/pandas-dev/pandas-stubs](https://github.com/pandas-dev/pandas-stubs))
* Triage of issues
* Reviews of pull requests
* Merges
* Releases
* Delegated to 2 or 3 members

#### Permissions

* Only Team with permission to merge to the main branch of the _pandas-stubs_ repository

#### Criteria for Membership

* New Members are nominated after a period of sustained and qualitative contributions
* Joining heuristic: "is there some aspect of _pandas-stubs _where we trust this
person to get something in without anyone's help?".
* An existing Member of the Team proposes to promote a new member

### Finance Team

#### Responsibilities

* Manage Applications for Grant Proposals for Funding
* Approve Project Expenses
* Ensure that finances are effectively used
* Find funding opportunities from appropriate, ethical sources

#### Permissions

* No specific technical permissions
* Permissions to make all financial decisions on behalf of the Project
* Determines rates for any paid contributors

#### Criteria for Membership

* Member of one Team for at least three years
* Unanimous Approval of Steering Committee
* Limited to 5 Members

### Infrastructure Team

#### Responsibilities

* Keep the pandas infrastructure up and working, including the servers for the website,
benchmarks, CI and others as needed.
* Build and Distribute Releases of the _pandas_ library
* Decisions on platform support
* Manage the 1Password repository

#### Permissions

* Usernames and Passwords for various servers

#### Criteria for Membership

* New Members are nominated after a period of sustained and qualitative contributions
* Joining heuristic: "is there some aspect of the infrastructure where we trust this
person to manage that part of the infrastructure without assistance?".
* An existing Member of the Team proposes to promote a new member

### Documentation Team

#### Responsibilities

* Maintain the pandas documentation and its (building, e.g. Sphinx) infrastructure

#### Permissions

* Permission to merge to the main branch of the _pandas_ repository, with the criteria
that it is a DOC only PR.

#### Criteria for Membership

* New Members are nominated after a period of sustained and qualitative contributions to
the documentation

### Code of Conduct Team

#### Responsibilities

* Make sure the _pandas_ community is a welcoming and inclusive community.
* Keeping the Code of Conduct
([https://pandas.pydata.org/community/coc.html](https://pandas.pydata.org/community/coc.html))
updated
* Addressing reports of violations of the Code of Conduct

#### Permissions

* Administering the Code of Conduct

#### Criteria for Membership

* At most one Member of another Team can be on the Code of Conduct Team
* Volunteers from the Community are welcome
* Approval by the Steering Committee

### Triage Team

#### Responsibilities

* Help triage issues on the _pandas_ repository (respond to new issues, verify
reproducibility and ensure a clear description, …)

#### Permissions

* “Triage” permissions for the _pandas_ repository (ability to manage issues without
write access)

#### Criteria for Membership

* New Members are nominated by a Core Library Team member after a period of sustained
and qualitative contributions

### Contributor Community Team

#### Responsibilities

* Support and enable Individual Contributors to make contributions to the Project
* Encourage continued contributions from Individual Contributors so that they become
future members of Teams
* Lead Biweekly New Contributor Meetings
* Organize sprints

#### Permissions

* No special permissions exist for this team

#### Criteria for Membership

* At least 2 members of the Core Library Team should be on this team
* Appointed by the Core Library Team

### Website Team

#### Responsibilities

* Maintain the website; in particular:
* The active maintainers
* The institutional partners and sponsors of the project
* The advertised books
* Design and technical implementation

#### Criteria for Membership

* At least two Stewards should be on this team.
* Joining heuristic: Would you trust this person to make decisions about the pandas
website?

#### Permissions

* Permission to merge to the main branch of the _pandas_ repository, with the criteria
that it is a WEBSITE only PR.
* Login credentials for the web server

### Outreach Team

#### Responsibilities

* Announce new _pandas_ releases on social channels
* Announce other pandas-related news, such as:
* Recurring meetings
* Events (such as sprints)
* Blog posts (related to _pandas_) by _pandas_ members
* Keep communication on-topic. It doesn’t all have to be completely serious, but it
should be on-topic - let’s not use the social accounts for political soapboxing
* Be respectful of other projects: open source, closed source, etc…they all have real
humans behind them

#### Permissions

* Usernames and Passwords for various social accounts
* Twitter/X account
* Mastodon account
* LinkedIn group management