Scientific Python: Tools and Services is a consensus-based community subproject. Anyone with an interest in the project can join the community, contribute to the project design, and participate in the decision making process. This document describes how that participation takes place, how to find consensus, and how deadlocks are resolved.
Scientific Python: Tools and Services has the following roles and responsibilities:
The Scientific Python: Tools and Services community consists of anyone contributing to our tools or services, whether by contributing code, or by commenting on or reviewing others’ contributions. Community members must adhere to our code of conduct.
Tool / Service Maintainers are community members that have demonstrated continued commitment to specific tools or services through ongoing contributions.
Maintainers are responsible for reviewing PRs to specific tool repositories, or for maintaining specific services. They have maintainer rights.
For new tools and services, the Tool / Service Maintainer role can be assigned to any or all of the existing maintainers.
The Tools / Service Steering Committee members are maintainers that have demonstrated continued commitment to this Scientific Python sub-project through ongoing contributions.
You can think of them as a “meta team”, responsible not (only) for individual tools, but for accepting new tools and services, and reviewing tool/service related submissions to https://tools.scientific-python.org. They have maintainer rights.
A new Tools / Service Steering Committee member can be nominated by any existing Steering Committee member. Discussion about new Tools / Service Steering Committee nominations is one of the few activities that takes place on the Tools / Service Steering Committee members’ private discussion forum. The decision to invite a new Tools / Service Steering Committee member must be made by “lazy consensus”, meaning unanimous agreement by all responding existing Tools / Service Steering Committee members. Invitation must take place at least one week after initial nomination, to allow existing members time to voice objections.
The Tools / Service Steering Committee uses a consensus seeking process for making decisions. The group tries to find a resolution that has no open objections among team members. Members are expected to distinguish between fundamental objections to a proposal and minor perceived flaws that they can live with, and not hold up the decision making process for the latter. If no option can be found without an objection, the decision is escalated to the Scientific Python Community Leaders.