Skip to content

Commit 1e6ad96

Browse files
author
codex-bot
committed
Add project governance policy (based on tskit-dev/tskit#3188)
This adds the draft governance model proposed in tskit-dev/tskit PR #3188 so that governance lives in the administrative repo.
1 parent 4e8f658 commit 1e6ad96

File tree

1 file changed

+82
-0
lines changed

1 file changed

+82
-0
lines changed

GOVERNANCE.md

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Abstract
2+
3+
The purpose of this document is to formalize the governance process used by the
4+
tskit-dev community for core software projects, to clarify who has what responsibilities,
5+
and how decisions are made on changes to those responsibilities.
6+
7+
tskit-dev is an open and inclusive community. Anyone with an interest in the
8+
software and science is welcome to contribute discussion, and propose changes to code,
9+
documentation or website content, as long as they follow the
10+
code of conduct](https://github.com/tskit-dev/.github/blob/main/CODE_OF_CONDUCT.md).
11+
12+
# Scope
13+
14+
The governance model described in this document applies to the core
15+
repositories of the tskit software ecosystem. These are:
16+
17+
- [tskit - C and Python API](http://github.com/tskit-dev/tskit)
18+
- [msprime - coalescent simulator](http://github.com/tskit-dev/msprime)
19+
- [tszip - compression library for tskit](http://github.com/tskit-dev/tszip)
20+
- [tskit-site - website for the ecosystem](http://github.com/tskit-dev/tskit-site)
21+
- [kastore - key-value store](http://github.com/tskit-dev/kastore)
22+
- [administrative](http://github.com/tskit-dev/administrative)
23+
- [.github - common config](http://github.com/tskit-dev/.github)
24+
25+
26+
# Roles
27+
28+
## Contributors
29+
30+
Anyone is welcome to contribute to the tskit-dev project by, for example,
31+
32+
- proposing, discussing, or reviewing a change to the code, documentation, or specification
33+
via a GitHub pull request to the above repositories;
34+
- reporting a GitHub issue or starting a discussion on the above repositories;
35+
36+
Contributors must abide by the [CODE OF CONDUCT](https://github.com/tskit-dev/.github/blob/main/CODE_OF_CONDUCT.md).
37+
38+
39+
## Maintainers
40+
41+
Maintainers are those who have the "Maintain" role on a given repository. They are able
42+
to merge pull requests, manage issues, and perform other administrative tasks on
43+
that repository. Maintainers are added and removed by a decision of the tskit
44+
Steering Council (TSC). This role is defined on a per-repository basis.
45+
46+
47+
## tskit Steering Council
48+
49+
The tskit Steering Council (TSC) has the following responsibilities:
50+
51+
- Management of the tskit-dev GitHub organization, including the addition and removal of members.
52+
- Administration of the repositories listed above.
53+
- Addition and removal of maintainers to those repositories.
54+
- Addition and removal of members of the tskit-dev Slack.
55+
- Addition and removal of repositories from this governance model.
56+
- Approval of changes to this governance model.
57+
- Resolution of disputes between maintainers and contributors.
58+
- Response to emails on the [email protected] address.
59+
- Management of release artifacts on package indexes such as PyPI, conda-forge.
60+
61+
The steering council consists of a small number of people. This should always be an odd number to ensure a simple majority vote outcome is always possible. Currently this is:
62+
63+
* [Jerome Kelleher](https://github.com/jeromekelleher)
64+
65+
* [Peter Ralph](https://github.com/petrelharp)
66+
67+
* [Yan Wong](https://github.com/hyanwong)
68+
69+
70+
TSC members may be removed by consensus of the remaining TSC members, or may resign voluntarily. New TSC members are added by unanimous consent of existing TSC members.
71+
72+
# Decision Making Process
73+
74+
Decisions about the future of the project are made through discussion with all
75+
members of the community. All non-sensitive project management discussion takes
76+
place in the issue trackers of the appropriate repositories or other public forums.
77+
Where possible decisions and discussions of the steering council should be documented as issues on the [administrative](https://github.com/tskit-dev/administrative) repository.
78+
79+
tskit uses a "consensus-seeking" process for making decisions. The group tries to
80+
find a resolution that has no open objections among maintainers and the TSC. All
81+
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 objections, the decision is escalated to the TSC, which will use consensus to come to a resolution. In the unlikely event that consensus cannot be reached within the TSC, the proposal will move forward if it has the support of a simple majority of the TSC.
82+

0 commit comments

Comments
 (0)