Project Steering Committee

The Project Steering Committee (PSC) is the official governing body of the Tethys Platform open source project and is responsible for all management aspects. The PSC is responsible for setting the overall direction of the project and its releases, determining what features go in, managing the documentation, assigning and revoking commit rights, etc.

This document describes how the Tethys Platform Project Steering Committee (PSC) determines membership, and makes decisions on all aspects (both technical and non-technical) of the Tethys Platform project.

Current Project Steering Committee

Current committee members are:

Proposal Process

The main responsibility of the PSC lies in the management of the Tethys Platform project. The decision making process is based on reaching democratic consensus through discussion and voting.

  1. Proposals can be written and submitted on the Tethys Platform Forum. The proposal must include a proposed assignee and a future version in which to complete the proposal, though the PSC will make the final decision. Proposals should be tagged as such using the "Proposal" tag on the forum. It should be rare that new proposals are immediately acted upon, most requests should be carefully planned and attached to a future new feature release. When a proposal is a feature or change that should be done in the current new feature release, the proposal should be accompanied by a technical scheme to solve it.

  2. Any member of the forum can write and submit proposals. Any interested party can request membership on the forum, though membership may or may not be granted or may be revoked at the discretion of the PSC.

  3. Typically, proposals should only be made for new feature requests or major changes. Bugs should be reported on the issues page of the primary Tethys GitHub repository: https://github.com/tethysplatform/tethys/issues. Minor updates to existing features and bug fixes that are backwards compatible don't need voting. Still we encourage committers not to abuse this "right". If in doubt, call in a vote! If after the commits the PSC disagrees, the committer has the responsibility of undoing the changes without causing other people to redo their work.

  4. Proposals need to be publicly available for discussion. It is the submitter's responsibility to start a vote after this discussion. At that time, the vote must be open for a minimum of 3 business days.

  5. The decision making is a democratic process. Voting and commenting should always occur on the Tethys Platform Forum.

  6. The following votes are valid:

    • "+1" to indicate support for the motion and a willingness to support implementation.
    • "-1" to veto a proposal, but must provide a clear reasoning and alternate approaches to resolving the problem within two days.
    • "0" to indicate no opinion on the proposal.
    • "+0" to indicate mild support.
    • "-0" to indicate mild disagreement.
    • All "0" votes have no effect.
  7. Any member of the forum may comment and vote on proposals, but only PSC member votes are binding.

  8. A proposal will be accepted if it receives "+2" (including the author if he is a PSC member) and no vetoes ("-1").

  9. If a proposal is vetoed, and it cannot be revised to satisfy all parties, then it can be resubmitted for an override vote in which a majority of all PSC members must vote "+1" in order to pass it.

  10. Upon completion of the discussion and voting, the PSC chair or an appointed PSC member closes the vote and summarizes the results of PSC member votes. The author should then announce whether they are proceeding (proposal accepted) or are withdrawing their proposal (vetoed).

  11. Addition and removal of PSC members, project developers, and election of the chair is handled as a motion. However a majority vote is required in these cases.

  12. The chair gets a vote and is responsible for adjudicating should there be a voting dispute.

PSC Structure

The PSC is made up of individuals who are either developers, users, or other stakeholders. Members are elected to participate in the PSC based on merit irrespective of their organizational ties. It is desirable but not strictly required of the PSC to be made up of an odd number of members to prevent ties in the voting process. The PSC should consist of at least 3 members, but no more than 7 to prevent too much bureaucracy. Positions in the PSC have a term limit of 3 years on alternating years, such that at least one position will be vacated and filled by election every year, and at least two positions stay consistent each year.

One member of the PSC is appointed Chair, who has additional responsibilities to organize regular meetings and to resolve tie votes should they occur. The Chair may also appoint one member to act as Secretary. In the case where the Chair's position is vacated due to term limit, the committee will re-elect the chair, even if the person who was previously the Chair is voted back into the committee.

Adding New Members

Any member of the Tethys Platform Forum list may nominate someone for committee membership at any time. Only existing PSC members may vote on new members. Nominees must receive a majority vote from existing PSC members to be added to the PSC.

Stepping Down

If for any reason a PSC member is not able to fully participate then they certainly are free to step down. If a member is not active (e.g. no voting, Tethys Platform Forum, or email participation) for a period of two months then the PSC reserves the right to seek nominations to fill that position. Should that person become active again then they would certainly be welcome, but would require a nomination. Removing members for any reason (inactivity, a person that counteracts the goals of the project, ...) requires a majority vote from the PSC.

PSC Responsibilities

The PSC is responsible for all aspects of managing the Tethys Platform open source project including setting the overall direction of the project and releases. This section outlines the responsibilities of the PSC as a whole and responsibilities of its members.

Committee Responsibilities

Feature Development and Release Management

The PSC is responsible for defining the project roadmap, deciding which new features and significant code changes are accepted into the project, and into which release the change will appear. Deciding what features are accepted and when they are accepted is a multi-faceted decision, but the roadmap will always have a strong influence. The PSC should meet at least quarterly.

New project features and/or functionality is proposed to the PSC via a proposal. Once the request is submitted, the PSC uses the Proposal Process to decide if the change will be accepted and which release it will go into. In addition the PSC determines when a branch enters the stabilization phase and ultimately when it is ready for release.

Project Policies and Procedures

The PSC is responsible for defining the policies and procedures, including:

Member Responsibilities

Guiding Development Efforts

PSC members should take an active role guiding the development of new features they feel passionate about. Once a change request has been accepted and given a green light to proceed does not mean the PSC members are free of their obligation. PSC members voting "+1" for a change request are expected to stay engaged and ensure the change is implemented and documented in a way that is most beneficial to users. Note that this applies not only to change requests that affect code, but also those that affect the website, procedures, policies, etc.

Meeting Attendance

PSC members are expected to participate in development and PSC meetings. If known in advance that a member cannot attend a meeting, the member should let the other members know through the Tethys Platform Forum or email. Continuously missing the development meetings may result in the member being asked to step down to make way for a more active member. Non-developer PSC members are expected to review the Tethys Platform development meeting minutes and attend the PSC meetings.

Forum Participation

PSC members are expected to be active on the Tethys Platform Forum. Non-developer members of the PSC are not expected to respond to coding level questions on the Tethys Platform Forum, however they are expected to provide their thoughts and opinions on user level requirements and compatibility issues when proposal discussions take place.

Chair Responsibilities

The chair has the extra responsibility to set up development and PSC meetings regarding future work, whenever he deems it necessary. The chair must schedule at least one development meeting and one PSC meeting every quarter. Development meetings are for the developers to report progress and ask/answer questions related to their tasks, whereas PSC meetings are for members of the PSC committee to discuss issues related to the project roadmap and governance.

The chair is responsible for closing votes and summarizing PSC member votes or appointing another PSC member to do so. The chair is responsible for adjudicating should there be a voting dispute.

The chair may appoint one member of the PSC committee as secretary to take minutes during the meetings.

Amendments

Changes to this governing document can be proposed on the Tethys Platform Forum by any member of the forum by creating a post with the "Amendment" tag. The specific language and section must be included in the proposal. As with other motions, the voting and comment period must last a minimum of 3 business days and only PSC member votes are binding. An amendment motion passes with a 2/3 majority of PCS members voting "+1". No vetoes are allowed for amendment motion votes.

Adapted from GEOMAJAS Project Steering Committee.