diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000..6f1c308e --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,8 @@ +# How the CODEOWNERS file works: +# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners + +# Earthaccess default set of maintainers who will be automatically requested for review +* @betolink @jhkennedy @jrbourbeau @mfisher87 @chuckwondo + +# Decision committee members +docs/governance/decisions/* @betolink @jhkennedy @mfisher87 @chuckwondo @asteiker @itcarroll diff --git a/docs/governance/governance-process.md b/docs/governance/governance-process.md new file mode 100644 index 00000000..5c486dcf --- /dev/null +++ b/docs/governance/governance-process.md @@ -0,0 +1,38 @@ +# Earthaccess Governance + +Earthaccess is an open source project devoted to providing easy access to NASA's Earth data. Earthaccess, importantly, is developed _for_ and _by_ the community. + +As with any project, from time to time, decisions will need to be made about direction, features, engineering choices. Eathaccess values reaching a community consensus on those decisions and including as many community perspectives as possible. + +Examples of when the decision committee may need to be invoked: +* Issues that relate to **significant changes** to earthaccess framework, or way we develop earthaccess +* When there is a **disagreement** on a path forward + +In order to reach consensus, Earthacess has a developed an _asynchronous_ decision processes, that in brief looks like: + +1. GitHub issues can be labeled `needs: decision` by anyone to kick off the decision committee process +2. A PR will be automatically created with a blank decision record document and a member of the decision committee will be assigned at random to shepherd the decision through the processes +3. The assignee will create a _first_ draft of the decision record document, summarizing the relevant issues, discussion, and pull requests, and then mark it as ready for review +4. The decision committee will use PR review mechanics to discuss the decision and suggest changes or edit the decision record to reflect the decision and discussion + - Decision committee members endorse a decision as written by approving the PR + - Decision committee members can reject a decision _as written_ by requesting changes in the PR + - Decision committee member can express neutral discussion points by leaving PR comments +5. Once N decision committee members endorse a decision (approve the PR), the decision is considered "decided" and the PR should be merged to record the decisions +6. The PR assignee should update any relevant GitHub issues, discussion, and pull requests with the decision and a link back to the decision record PR + +## Decision Committee Members + +Decision committee members are listed in the [CODEOWNERS](../../.github/CODEOWNERS). Importantly, this is the _default_ members of the committee. The committee can change based on the issue itself by requesting additional reviewers. + +Want to be part of decisions? Open a PR adding yourself to the CODEOWNERS file! + + +## Process in detail + +### Kicking off the decision committee process + +### Decision records + +### The review process + +### When a decision is made