Skip to content

Commit

Permalink
Merge pull request #16 from r-multiverse/governance
Browse files Browse the repository at this point in the history
R-Multiverse governance document
  • Loading branch information
shikokuchuo committed Jul 4, 2024
2 parents 9c4dcac + 178c3d3 commit 394e124
Show file tree
Hide file tree
Showing 2 changed files with 135 additions and 0 deletions.
3 changes: 3 additions & 0 deletions _quarto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ project:
output-dir: docs
render:
- "*.qmd"
- "governance.md"

website:
title: "R-multiverse"
Expand All @@ -23,6 +24,8 @@ website:
menu:
- review.qmd
- conduct.qmd
- text: Governance Document
url: governance.md
- security.qmd
tools:
- icon: github
Expand Down
132 changes: 132 additions & 0 deletions governance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
---
title: "R-Multiverse Governance"
---

The R-Multiverse project is run in a collaborative and open way.
Portions of this governance policy have been inspired by that of the Apache Software Foundation.

Its purpose is to formalize decision-making for the project and facilitate management by the R-Multiverse Management Committee (RMC), whilst allowing for and anticipating evolution of both the project and composition of the RMC over time.

# The R-Multiverse Project

The R-Multiverse project consists of the code and repositories that reside in the `r-multiverse` GitHub organization and the r-multiverse.org website.
All repositories are public, transparent and visible for everyone, with the exception of a private repository where security and conduct-related matters are shared among administrators only.

## R-Multiverse Mission

The mission of R-Multiverse is to provide a production-grade, open repository for the general R community.

R-Multiverse is committed to free and equal access, and its source code is released under the open-source MIT License.

### R-Multiverse is non-commercial but commercially-aware

We invite third parties, including for-profit corporations, to contribute to R-Multiverse and use it for their own purposes.

However it is important for the longevity and community health of R-Multiverse that the community be recognised as the primary contributor to the project and that the project continues to serve all members of the community equally.

The RMC actively track the corporate affiliations of administrators and moderators, and strives to ensure influence around any particular aspect of the project is not overly skewed towards a single corporate entity.

### Changes to Governance

It is expected that this governance document will evolve over time as needs arise, and the process for updating this document is described in further sections below.

## R-Multiverse Stakeholders

We recognize four groups of individuals related to the project.

### User

A User is someone who uses R-Multiverse by downloading and installing packages from the R-Multiverse repositories.

### Contributor

A Contributor is someone who seeks to make a modification to the R-Multiverse repositories and/or the GitHub organization.
This would most commonly be by contributing a package at `r-multiverse/contributions`, where the Contributor is often the maintainer of the contributed package.
Contributions may also take the form of feedback in the form of bug reports and feature suggestions in the `r-multiverse/help` repository, or more generally by answering questions from the community in this repository.

### Moderator

A Moderator is someone who has been invited by the R-Multiverse Management Committee (RMC) to take on a moderator role.
This entails certains rights and associated responsibilities which are outlined in full in the Review Policy, which may evolve over time.
A Moderator may vet contributions and decide to admit or remove contributed packages from the repositories in accordance with the Review Policy.
A Moderator may also moderate issues and discussions raised by Contributors in the `r-multiverse/help` repository or other forums on R-Multiverse.

### Administrator

An Administrator is a member of the R-Multiverse Management Committee (RMC).
Administrators have write access to all code repositories under the `r-multiverse` GitHub organization and maintain the infrastructure for the project.
They have the right to create Proposals, cast votes on all Proposals on community-related decisions, the right to appoint Moderators, and the right to change the composition of the RMC itself.
The RMC as a whole is the entity that controls the project, and is responsible for the continued shaping of this governance document and other policies, including the Review Policy and Code of Conduct.

## Project Management and Collaboration

The R-Multiverse project is managed through a collaborative, consensus-based approach.

### Communication

Communication is always done publicly via GitHub, and all decisions related to the project are made in public.

An exception exists for confidential security and conduct-related matters, for which there is a private GitHub repository accessible by administrators only.
The use of this private repository ensures that even confidential conversations remain accountable and auditable.

Private mailing lists are not used by the project.

### R-Multiverse Management Committee (RMC)

The R-Multiverse Management Committee (RMC) is responsible for the active management of the R-Multiverse project.
The main role of the RMC is to further the long-term development and health of the community as a whole, and to ensure that balanced and broad-based user engagement and contributor participation takes place.

As part of this, the RMC is the sole proposer and approver of changes to this governance document and all policies regarding operation of the `r-multiverse` GitHub repositories.

The RMC collectively appoint and delegate authority to moderators to perform a limited subset of duties.

The RMC is responsible for protecting the R-Multiverse name, brand and reputation, and for enforcing adherence to this document.

Where this is jeopardised through the actions of an Administrator, Moderator or Contributor, the RMC will have the authority to immediately remove that person from their capacity in that role, not requiring the usual one month notice period for enacting Proposals.

### Changes to the RMC

Proposals to add or remove members of the RMC shall be put forward publicly by any member of the RMC, and shall be treated in the same way as any other Proposal, as described below.

### Proposals

All changes to this governance document, or to a policy document such as the Code of Conduct or Review Policy that governs how the repositories operate will be posted for comment at the `r-multiverse/help` repository as a Proposal.
All members of the community are invited to participate, and Proposals may be withdrawn or revised by their initial proposer as a result.
Revisions likely to be regarded as material shall be proposed as a new Proposal, with reference to the preceding discussion.

Proposals will be deemed to have been adopted if both one calendar month has passed after notice has been publicly posted and either (i) there has been no dissent from from an administrator or (ii) dissent by an administrator was recorded and the Proposal has been passed after voting has taken place as per the Voting Process described below.

### Voting Process

Decision-making is by consensus of the RMC as far as possible.
All policy changes, including changes to this document, shall be posted publicly to the `r-multiverse/help` repository as a Proposal.
If there is no dissent by another administrator, the Proposal comes into effect one calendar month after it is posted.

If there is dissent by an administrator, they should post a reasoned reply within the one calendar month notice period.
However, no one administrator has a veto.
Where there is dissent, voting shall take place among administrators to decide on an issue, with a simple majority of votes required for a Proposal to pass.

As illustration, if the total number of administrators is six, then at least four votes are required to pass a Proposal.

If a Proposal is passed, it will come into effect one calendar month after the Proposal was initially posted.
If a Proposal is not passed within one calendar month of the posting of the Proposal, then the Proposal lapses and is not enacted until such a time that it passes.

Voting shall take place publicly under the same Proposal that was initially posted.

## Project Leadership

### R-Multiverse Management Committee (RMC)

The current composition of the RMC is as follows.

Name in alphabetical order (affiliation)

- Charlie Gao (Hibiki AI)
- Will Landau (Eli Lilly & Co.)
- Jeroen Ooms (rOpenSci)
- Maëlle Salmon (rOpensci, cynkra)

## Language

This document may appear in other languages on the R-Multiverse website or elsewehere.
In case of any discrepancy, the English version shall prevail.

0 comments on commit 394e124

Please sign in to comment.