Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Contribution policy #286

Merged
merged 12 commits into from
Dec 5, 2023
Prev Previous commit
Next Next commit
feedback by @levitte incorporated [skip ci]
  • Loading branch information
baentsch committed Dec 1, 2023
commit 23c9cb91100b4874679246fabb5264db5d102707
59 changes: 1 addition & 58 deletions CONTRIBUTING
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know what this is trying to say, nor do I think it necessary yet.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have removed that reference. Will add again if/when LinuxFoundation contracts don't reference the file "GOVERNANCE.md" (as overriding their control rules).

Original file line number Diff line number Diff line change
@@ -1,58 +1 @@
# Contributing (policy)

This file documents the contribution guidelines used for this project.

## Roles

The following roles exist in the project:

1. Maintainer: Person with github administrative rights.

2. Committer: Person with github "Write" privileges; this entails the right and obligation to review PRs by Contributors and to actively participate in discussions.

3. Contributor: Person that has contributed code.

4. Users: Person using the project passively or actively, e.g., by participating in discussions.

## Relationships between roles

Any User may also be Contributor. Any Contributor may also be Committer. Any Committer may also be Maintainer. A Maintainer must be a Committer.

## Change of role

Any User may become Contributor by creating a pull request (PR) and getting it successfully reviewed and merged by Committers.

Any Contributor can become Committer by contributing sufficient code and displaying deep subject matter knowledge in discussions such that a majority of Committers vote for this change of role. A Maintainer can veto such vote. Such veto can be overruled by a 2/3 majority of Committers.

As such voting decision may be considered subjective, Contributors striving to become Committers are encouraged to ask for advice by Committers as to what --if anything-- should be done (additionally to already documented knowledge in contributions) to attain this status. Baseline requirements for contributions are documented in [CONTRIBUTING.md](CONTRIBUTING.md). Any Contributor can create a discussion item to request a vote to become Committer.

Any Committer can become Maintainer by majority vote of voting Committers. A current Maintainer can veto such vote. Such veto can be overruled by a 2/3 majority of all Committers.

A Maintainer is not permitted to remove another Maintainer's github privileges.

A Committer automatically may be moved to Contributor status if not actively contributing by discussion or PR review during the last 90 days or if voluntarily suspending this status (leave of absence etc.). If a Maintainer loses the Committer status (or voluntarily steps down from this role) the Committers have to determine whether a new Maintainer needs to be elected.

## Voting

Votes are to be executed by way of open github discussions. No quorum is needed for votes open for 4 weeks. Urgent matters may be decided by majority vote among Maintainers or 2/3 majority by all Committers within an arbitrary voting period.

Any Committer may voluntarily temporarily for a documented period step down from the role losing voting rights for the specified period. If such period extends beyond one year, the Committer permanently loses role and rights. The period is documented in this file next to the person's name below.

## Documentation of roles

Current Maintainer(s) and Committer(s) are to be documented below by way of reference to their github handles.

### Maintainer(s)

@baentsch
@dstebila

### Committer(s)

@baentsch
@levitte
@bhess
@dstebila
@thb-sb
@christianpacquin

For Linux Foundation contract adherence, consider the contents of the file [GOVERNANCE.md](GOVERNANCE.md) instead.
57 changes: 57 additions & 0 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Contributing (policy)

This file documents the contribution guidelines used for this project.

## Roles

The following roles exist in the project:

1. Maintainer: Person with github administrative rights.
baentsch marked this conversation as resolved.
Show resolved Hide resolved

2. Committer: Person with github "Write" privileges; this entails the right and obligation to review PRs by Contributors and to actively participate in discussions.
baentsch marked this conversation as resolved.
Show resolved Hide resolved

3. Contributor: Person that has contributed code.

4. Users: Person using the project passively or actively, e.g., by participating in discussions.

## Relationships between roles

Any User may also be Contributor. Any Contributor may also be Committer. Any Committer may also be Maintainer. A Maintainer must be a Committer.

## Change of role

Any User may become Contributor by creating a pull request (PR) and getting it successfully reviewed and merged by Committers.

Any Contributor can become Committer by contributing sufficient code and displaying deep subject matter knowledge in discussions such that a majority of Committers vote for this change of role. A Maintainer can veto such vote. Such veto can be overruled by a 2/3 majority of Committers.

As such voting decision may be considered subjective, Contributors striving to become Committers are encouraged to ask for advice by Committers as to what --if anything-- should be done (additionally to already documented knowledge in contributions) to attain this status. Baseline requirements for contributions are documented in [CONTRIBUTING.md](CONTRIBUTING.md). Any Contributor can create a discussion item to request a vote to become Committer.
baentsch marked this conversation as resolved.
Show resolved Hide resolved

Any Committer can become Maintainer by majority vote of voting Committers. A current Maintainer can veto such vote. Such veto can be overruled by a 2/3 majority of all Committers.

A Maintainer is not permitted to remove another Maintainer's github privileges.
baentsch marked this conversation as resolved.
Show resolved Hide resolved

A Committer automatically may be moved to Contributor status if not actively contributing by discussion or PR review during the last 90 days or if voluntarily suspending this status (leave of absence etc.). If a Maintainer loses the Committer status (or voluntarily steps down from this role) the Committers have to determine whether a new Maintainer needs to be elected.

## Voting

Votes are to be executed by way of open github discussions. No quorum is needed for votes open for 4 weeks. Urgent matters may be decided by majority vote among Maintainers or 2/3 majority by all Committers within an arbitrary voting period.
baentsch marked this conversation as resolved.
Show resolved Hide resolved

Any Committer may voluntarily temporarily for a documented period step down from the role losing voting rights for the specified period. If such period extends beyond one year, the Committer permanently loses role and rights. The period is documented in this file next to the person's name below.
baentsch marked this conversation as resolved.
Show resolved Hide resolved

## Documentation of roles

Current Maintainer(s) and Committer(s) are to be documented below by way of reference to their github handles.

### Maintainer(s)

@baentsch
@dstebila

### Committer(s)

@baentsch
@bhess
@dstebila
@thb-sb
@christianpacquin