| 1 | = RFC 1: Project Steering Committee Guidelines = |
| 2 | |
| 3 | Author: GRASS PSC |
| 4 | |
| 5 | Contact: <a href="http://lists.osgeo.org/mailman/listinfo/grass-psc">grass-psc AT lists.osgeo.org</a> |
| 6 | |
| 7 | Status: Adopted (6 April 2007) |
| 8 | |
| 9 | == Summary == |
| 10 | |
| 11 | A GRASS Project Steering Committee (PSC) is proposed to formalize control |
| 12 | over the GRASS codebase and to facilitate GRASS project management issues. |
| 13 | It is desired to keep the administrational overhead as low as possible. |
| 14 | |
| 15 | This document describes how the GRASS Project Steering Committee |
| 16 | determines membership, and makes decisions on GRASS project issues. |
| 17 | |
| 18 | "The GRASS Project" is defined as the GPL-licenced GIS software known as the |
| 19 | Geographic Resources Analysis Support System, together with the surrounding |
| 20 | development, distribution and promotion infrastructure currently headquarted |
| 21 | at OSGeo. |
| 22 | |
| 23 | == Terms of Reference == |
| 24 | |
| 25 | The two primary functions of the PSC are: |
| 26 | |
| 27 | -# To enforce control over the GRASS codebase. This can be summarised as: |
| 28 | - Enforce mechanisms to ensure quality control. |
| 29 | - Ensure compliance with all required legal measures. |
| 30 | -# Project Management and responsibility for the "public face" of |
| 31 | GRASS. |
| 32 | |
| 33 | The PSC is expected to be able to speak and act on behalf of the GRASS |
| 34 | project. |
| 35 | |
| 36 | == Codebase Control == |
| 37 | |
| 38 | === Quality Control Mechanisms === |
| 39 | |
| 40 | The quality control mechanisms, which are the responsibility of the PSC, |
| 41 | currently include: |
| 42 | |
| 43 | * Maintaining submitter guidelines and making all developers aware of |
| 44 | them. |
| 45 | * Granting write access to the source code repository for new |
| 46 | developers. |
| 47 | * Enforcing the submitter guidelines, with the ultimate sanction against |
| 48 | non-compliance being removal of write access to the source code |
| 49 | repository. |
| 50 | |
| 51 | In general, once write access has been granted, developers are allowed to |
| 52 | make changes to the codebase as they see fit. For controversial or |
| 53 | complicated changes consensus must be obtained on the developers' mailing |
| 54 | list as far as reasonably practicable. It is recognised that the ultimate |
| 55 | arbitration on technical issues should always lie with consensus on the |
| 56 | developers' mailing list. Specifically, it is not the role of the PSC to |
| 57 | impose technical solutions. Its role is in general limited to enforcing the |
| 58 | quality control mechanisms outlined above. |
| 59 | |
| 60 | However, if consensus fails to emerge naturally, an issue can be |
| 61 | referred to the PSC for more structured efforts to build consensus. |
| 62 | As a last resort, if lack of consensus continues, the developer |
| 63 | community can request the PSC to choose options best preserving the |
| 64 | quality of the GRASS project. |
| 65 | |
| 66 | Removal of write access to the source code repository is handled as a |
| 67 | proposal to the committee as described below in the \ref operation section. |
| 68 | |
| 69 | === Legal aspects === |
| 70 | |
| 71 | Control over the codebase also extends to ensuring that it complies with |
| 72 | all relevant legal requirements. This includes copyright and licensing |
| 73 | amongst other issues. The PSC is responsible for developing rules and |
| 74 | procedures to cover this. These are outlined in a separate document: |
| 75 | \link rfc2_psc "RFC 2: Legal aspects of code contributions".\endlink |
| 76 | This document will be updated and revised by the PSC as required. |
| 77 | |
| 78 | == Project Management == |
| 79 | |
| 80 | The PSC will share responsibility and make decisions over issues related |
| 81 | to the management of the overall direction of the GRASS project and |
| 82 | external visibility, etc. These include, but are not limited to: |
| 83 | |
| 84 | * Release Cycles |
| 85 | * Project infrastructure |
| 86 | * Website Maintenance |
| 87 | * Promotion and Public Relations |
| 88 | * Other issues as they become relevant |
| 89 | |
| 90 | It is the responsibility of the PSC to ensure that issues critical to the |
| 91 | future of the GRASS project are adequately attended to. This may involve |
| 92 | delegation to interested helpers. |
| 93 | |
| 94 | == Operation of the PSC == |
| 95 | |
| 96 | A dedicated <a href="http://grass.osgeo.org/mailman/listinfo/grass-psc">mailing list</a> |
| 97 | exists for the purpose of PSC discussions. When a |
| 98 | decision is required of the PSC, it will be presented by any member to the |
| 99 | mailing list in the form of a proposal. A decision will then be achieved |
| 100 | by discussion of the proposal on the mailing list until a consensus is |
| 101 | reached. Voting on issues is also permissable and may be used as a means |
| 102 | to reach a consensus or, only in case of extreme cases of disagreement, to |
| 103 | force a decision. Any member may call a vote on any proposal. The voting |
| 104 | procedure is outlined in a separate document: |
| 105 | \link rfc3_psc "RFC 3: PSC Voting Procedures".\endlink |
| 106 | |
| 107 | The Chair is the ultimate adjudicator in case of deadlock or irretrievable |
| 108 | break down of decision-making, or in case of disputes over voting. |
| 109 | |
| 110 | The following issue(s) <b>must</b> have a vote called before a |
| 111 | decision is reached: |
| 112 | |
| 113 | * Granting source code repository write access for new developers |
| 114 | * Selection of a committee Chair |
| 115 | |
| 116 | == Composition of the Committee == |
| 117 | |
| 118 | Initial PSC membership was decided based on a nomination and informal voting |
| 119 | period on the community's mailing lists. Michael Barton, Dylan Beaudette, |
| 120 | Hamish Bowman, Massimiliano Cannata, Brad Douglas, Paul Kelly, Helena Mitasova, |
| 121 | Scott Mitchell, Markus Neteler, and Maciej Sieczka are declared to be the |
| 122 | founding Project Steering Committee. |
| 123 | |
| 124 | Addition and removal of members from the committee, as well as selection |
| 125 | of Chair is handled as a proposal to the committee as described above. |
| 126 | |
| 127 | The Chair is responsible for keeping track of the membership of the PSC. |