Skip to content

Commit

Permalink
docs: add definition and voting rules of -contrib repositories
Browse files Browse the repository at this point in the history
This PR adds the concept of `-contrib` repositories to the governance
rules of Substrait. To that aim, the following changes are made:

* Mention that there is a distinction between "core" and `-contrib`
  repositories in the introduction of the Substrait project. Those
  definitions are used in what follows.
* Say that contributors can have write access to `-contrib`
  repositories. This allows people to make changes to those repositories
  without being promoted to committers.
* Clarify that committers are people who have write access to "core"
  repositories. This makes clear that having write access to a
  `-contrib` repository doesn't make someone a committer.
* Add a voting rule for `-contrib` repositories: Any contributor other
  than the proposer can vote. This is a pretty low bar but it ensures
  that one other human being with some relationship to the project
  approves the change.

Signed-off-by: Ingo Müller <[email protected]>
  • Loading branch information
ingomueller-net committed Sep 13, 2024
1 parent 16f7083 commit eb307a7
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions site/docs/governance.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ More details about concrete things Substrait looks to avoid can be found below.

## The Substrait Project

The Substrait project consists of the code and repositories that reside in the [substrait-io GitHub organization](https://github.com/substrait-io), the [Substrait.io website](https://substrait.io), the [Substrait mailing list](https://groups.google.com/g/substrait), MS-hosted teams community calls and the [Substrait Slack workspace]({{versions.slackinvitelink}}). (All are open to everyone and recordings/transcripts are made where technology supports it.)
The Substrait project consists of the code and repositories that reside in the [substrait-io GitHub organization](https://github.com/substrait-io) (consisting of core repositories and `-contrib` repositories, which have relaxed requirements), the [Substrait.io website](https://substrait.io), the [Substrait mailing list](https://groups.google.com/g/substrait), MS-hosted teams community calls and the [Substrait Slack workspace]({{versions.slackinvitelink}}). (All are open to everyone and recordings/transcripts are made where technology supports it.)

## Substrait Volunteers

Expand All @@ -27,11 +27,11 @@ A user is someone who uses Substrait. They may contribute to Substrait by provid

### Contributors

A contributor is a user who contributes to the project in the form of code or documentation. They take extra steps to participate in the project (loosely defined as the set of repositories under the github substrait-io organization) , are active on the developer mailing list, participate in discussions, and provide patches, documentation, suggestions, and criticism.
A contributor is a user who contributes to the project in the form of code or documentation. They take extra steps to participate in the project (loosely defined as the set of repositories under the github substrait-io organization), are active on the developer mailing list, participate in discussions, and provide patches, documentation, suggestions, and criticism. Contributers may be given write access to `-contrib` repositories.

### Committer

A committer is a developer who has write access to the code repositories and has a signed [Contributor License Agreement (CLA)](https://cla-assistant.io/substrait-io/substrait) on file. Not needing to depend on other people to make patches to the code or documentation, they are actually making short-term decisions for the project. The SMC can (even tacitly) agree and approve the changes into permanency, or they can reject them. Remember that the SMC makes the decisions, not the individual committers.
A committer is a developer who has write access to the core (i.e., non `-contrib`) repositories and has a signed [Contributor License Agreement (CLA)](https://cla-assistant.io/substrait-io/substrait) on file. Not needing to depend on other people to make patches to the code or documentation, they are actually making short-term decisions for the project. The SMC can (even tacitly) agree and approve the changes into permanency, or they can reject them. Remember that the SMC makes the decisions, not the individual committers.

### SMC Member

Expand Down Expand Up @@ -64,6 +64,7 @@ The rules require that a community member registering a negative vote must inclu
| Non-breaking function introductions | 1 (not including proposer) | Committers | Github PR |
| Non-breaking extension additions & non-format code modifications | 1 (not including proposer) | Committers | Github PR |
| Changes (non-breaking or breaking) to a Substrait *library* (i.e. substrait-java, substrait-validator) | 1 (not including proposer) | Committers | Github PR |
| Changes to a Substrait `-contrib` repository | 1 (not including proposer) | Contributers | Github PR |

### Review-Then-Commit

Expand Down

0 comments on commit eb307a7

Please sign in to comment.