|
| 1 | +# Main Governance Document |
| 2 | + |
| 3 | +The official version of this document, along with a list of individuals and |
| 4 | +institutions in the roles defined in the governance section below, is contained |
| 5 | +in The Project Governance Repository at: |
| 6 | + |
| 7 | +https://github.com/GenericMappingTools/oversight |
| 8 | + |
| 9 | +## The Project |
| 10 | + |
| 11 | +The Generic Mapping Tools (The Project) is an open source software project. The goal |
| 12 | +of The Project is to develop open source software and related technology for manipulating |
| 13 | +geographic and Cartesian data sets and producing high-quality illustrations and animations. |
| 14 | +The Software developed by The Project is released under open source licenses including |
| 15 | +LGPL and BSD, developed openly and hosted in public GitHub repositories under the |
| 16 | +GenericMappingTools GitHub organization. Examples of Project Software include the |
| 17 | +GMT C library and the Python (PyGMT), Julia (GMT.jl), and MATLAB (GMT/MEX) wrappers. |
| 18 | +The Services run by The Project consist of public websites and web-services that |
| 19 | +are hosted under the generic-mapping-tools.org domain. Examples of Project Services |
| 20 | +include the Generic Mapping Tools website (https://www.generic-mapping-tools.org/), |
| 21 | +the Generic Mapping Tools data servers (listed at https://www.generic-mapping-tools.org/mirrors/), |
| 22 | +and the Generic Mapping Tools Discourse Forum (https://forum.generic-mapping-tools.org/). |
| 23 | + |
| 24 | +The Project is developed by a team of distributed developers, called |
| 25 | +Contributors. Contributors are individuals who have contributed to code, code |
| 26 | +reviews, documentation, design, and infrastructure, or to mailing lists, chats, |
| 27 | +community help and community building, education and outreach, or other work in |
| 28 | +relation to one or more Project repositories. Anyone can be a Contributor. |
| 29 | +Contributors can be affiliated with any legal entity or none. Contributors |
| 30 | +participate in The Project by submitting, reviewing and discussing GitHub Pull |
| 31 | +Requests and Issues and participating in open and public Project discussions on |
| 32 | +GitHub, the Discourse Forum, and community meetings. The foundation of Project |
| 33 | +participation is openness and transparency. |
| 34 | + |
| 35 | +Here is a list of the current Contributors to the main GMT repository: |
| 36 | + |
| 37 | +https://github.com/GenericMappingTools/gmt/graphs/contributors |
| 38 | + |
| 39 | +There are also many other Contributors listed in the logs of other repositories |
| 40 | +of the Generic Mapping Tools Project. |
| 41 | + |
| 42 | +The collection of all Contributors to The Project and stakeholders in The |
| 43 | +Project, including Users and Funders, is called The Community. Contributors |
| 44 | +work on behalf of and are responsible to the larger Project Community and we |
| 45 | +strive to keep the barrier between Contributors and Users as low as possible. |
| 46 | + |
| 47 | +## Governance |
| 48 | + |
| 49 | +### The Steering Committee |
| 50 | + |
| 51 | +The Project will have a Steering Committee that consists of Project Contributors |
| 52 | +nominated as explained below. The Steering Committee should be composed of |
| 53 | +a diverse array of backgrounds, viewpoints and talents. The overall role of the |
| 54 | +Committee is to ensure, through taking input from the Community, the long-term |
| 55 | +well-being of The Project, both technically and as a community. As The Project |
| 56 | +draws its strength from representing the Community, it strives to avoid |
| 57 | +fragmentation of the Community into separate projects, if possible. |
| 58 | +The Steering Committee will maintain a minimum of three members. |
| 59 | + |
| 60 | +During the everyday Project activities, Committee Members participate in all |
| 61 | +discussions, code review and other Project activities as peers with all other |
| 62 | +Contributors and the Community. In these everyday activities, Committee Members do |
| 63 | +not have any special power or privilege through their membership on the Committee. |
| 64 | +However, it is expected that because of the quality and quantity of their |
| 65 | +contributions and their expert knowledge of The Project Software and Services |
| 66 | +that Committee Members will provide useful guidance, both technical and in terms |
| 67 | +of Project direction, to potentially less experienced Contributors. |
| 68 | + |
| 69 | +The Steering Committee and its Members play a special role in certain situations. |
| 70 | +In particular, the Committee may: |
| 71 | + |
| 72 | +* Make decisions about the overall scope, vision and direction of The Project. |
| 73 | +* Make decisions about strategic collaborations with other organizations or |
| 74 | + individuals. |
| 75 | +* Make decisions about specific technical issues, features, bugs and pull |
| 76 | + requests. They are the primary mechanism of guiding the code review process and |
| 77 | + merging pull requests. |
| 78 | +* Make decisions about the Services that are run by The Project and manage those |
| 79 | + Services for the benefit of The Project and Community. |
| 80 | +* Make decisions when regular Community discussion doesn’t produce consensus on |
| 81 | + an issue in a reasonable time frame. |
| 82 | + |
| 83 | +Outcomes and decisions should be clearly communicated to the Community. This can |
| 84 | +take three different forms: |
| 85 | + |
| 86 | +* New challenges for The Project will be detailed as a GitHub issue for the Community |
| 87 | + to discuss. |
| 88 | +* Resolved technical deadlocks will result in an explanation on the relevant |
| 89 | + issue and/or closure of the relevant pull request. |
| 90 | +* Other decisions will be detailed as a narrative blog post. |
| 91 | + |
| 92 | +#### Committee Membership |
| 93 | + |
| 94 | +To become eligible for being a Steering Committee Member an individual must be a |
| 95 | +Project Contributor who has produced contributions that are substantial in |
| 96 | +quality and quantity, and sustained over at least six months. |
| 97 | +After confirming the potential Committee Member is interested and willing to serve |
| 98 | +in that capacity, Members are nominated by Community Contributors and voted upon |
| 99 | +by the existing Committee via majority vote. |
| 100 | + |
| 101 | +When considering potential Members, the Committee will look at candidates with a |
| 102 | +comprehensive view of their contributions. This will include but is not limited |
| 103 | +to code, code review, infrastructure work, mailing list and chat participation, |
| 104 | +community help/building, education and outreach, design work, etc. We are |
| 105 | +deliberately not setting arbitrary quantitative metrics (like “100 commits in |
| 106 | +this repo”) to avoid encouraging behavior that plays to the metrics rather than |
| 107 | +The Project’s overall well-being. We want to encourage a diverse array of |
| 108 | +backgrounds, viewpoints and talents in our team, which is why we explicitly do |
| 109 | +not define code as the sole metric on which Committee Membership will be evaluated. |
| 110 | + |
| 111 | +There are two mechanisms by which a Committee Member may exit the Steering |
| 112 | +Committee: |
| 113 | + |
| 114 | +1. Committee Members may resign their posting at any time during their tenure on |
| 115 | + the Steering Committee. In order to maintain an active, energetic, and healthy |
| 116 | + Committee, Committee Members will self-facilitate membership check-ins every 6 |
| 117 | + months to confirm that each member intends on continue their service on the |
| 118 | + Committee. |
| 119 | +2. A majority of the existing Committee votes to remove a Member. |
| 120 | + |
| 121 | +If a Committee Member becomes inactive in The Project for a period of one year, |
| 122 | +they will be considered for removal from the Committee. Before removal, an |
| 123 | +inactive Member will be approached by the a Committee Member to see if they plan |
| 124 | +on returning to active participation. If not they will be removed immediately |
| 125 | +upon a Committee vote. If they plan on returning to active participation soon, |
| 126 | +they will be given a grace period of one year. If they don’t return to active |
| 127 | +participation within that time period they will be removed by vote of the |
| 128 | +Committee without further grace period. |
| 129 | + |
| 130 | +All former Committee Members can be considered for Membership again at any time |
| 131 | +in the future, like any other Project Contributor. Retired Committee Members |
| 132 | +will be listed on the Project website, acknowledging the period during which |
| 133 | +they were active in the Committee. |
| 134 | + |
| 135 | +#### Expectations for Committee Members |
| 136 | + |
| 137 | +Steering Committee members are expected to commit to the following activities: |
| 138 | +- Attend a one-hour steering committee meeting every six months. |
| 139 | +- Respond in a timely manner to steering-committee-related correspondence. |
| 140 | +- Act as an ambassador for the project in professional contexts. |
| 141 | + |
| 142 | +The chair of the Steering Committee is expected to arrange the regular meetings |
| 143 | +and ensure that a report is shared with the community. |
| 144 | + |
| 145 | +#### Conflict of Interest |
| 146 | + |
| 147 | +It is expected that Committee Members will be employed at a wide range of |
| 148 | +companies, universities and non-profit organizations. Because of this, it is |
| 149 | +possible that Members will have conflict of interests. Such conflict of |
| 150 | +interests include, but are not limited to: |
| 151 | + |
| 152 | +* Financial interests, such as investments, employment, or contracting work, |
| 153 | + outside of The Project that may influence their work on The Project. |
| 154 | +* Access to proprietary information of their employer that could potentially |
| 155 | + leak into their work with The Project. |
| 156 | +* An issue where the person privately gains an advantage from The Project |
| 157 | + resources, but The Project has no gain or suffers a disadvantage. |
| 158 | + |
| 159 | +All Members of the Committee shall disclose to the rest of the Committee any |
| 160 | +conflict of interest they may have. Members with a conflict of interest in a |
| 161 | +particular issue may participate in Committee discussions on that issue, but must |
| 162 | +recuse themselves from voting on the issue. |
| 163 | + |
| 164 | +## Changing the Governance Documents |
| 165 | + |
| 166 | +Changes to the governance documents are submitted via a GitHub pull request to |
| 167 | +The Project's governance documents GitHub repository at |
| 168 | +https://github.com/GenericMappingTools/oversight. The pull request is then refined in |
| 169 | +response to public comment and review, with the goal being consensus in the |
| 170 | +community. The period for open comment will last in proportional to the |
| 171 | +complexity of the changes; major changes will be open for comment for no less |
| 172 | +than two weeks. After this open period, a Steering Committee Member proposes to |
| 173 | +the Steering Committee that the changes be ratified and the pull request merged |
| 174 | +(accepting the proposed changes) or proposes that the pull request be closed |
| 175 | +without merging (rejecting the proposed changes). The Member should state the |
| 176 | +final commit hash in the pull request being proposed for acceptance or rejection |
| 177 | +and briefly summarize the pull request. A minimum of 80% of the Steering Committee |
| 178 | +must vote and at least 2/3 of the votes must be positive to carry out the |
| 179 | +proposed action (fractions of a vote rounded up to the nearest integer). |
| 180 | + |
| 181 | +## References |
| 182 | + |
| 183 | +This governance document is based on the [Pangeo governance model](https://github.com/pangeo-data/governance). |
0 commit comments