Skip to content

Commit

Permalink
charter updates (#53)
Browse files Browse the repository at this point in the history
* charter updates

* updates from feedback, plus some additional re-organization, language clean-up, and improvements for clarity

* updates from feedback

* changes from feedback

* remove twice rejected limitation

* change to chair departure language

* more updates from feedback

* wrap lines

* update code of conduct enforcement

* remove extra words

* additional updates from PR feedback

* remove 7-day voting periods related to code of conduct enforcement

* tweaks to code of conduct and voting sections
  • Loading branch information
dustinblack authored Aug 16, 2024
1 parent 15a9004 commit 0b31161
Showing 1 changed file with 107 additions and 32 deletions.
139 changes: 107 additions & 32 deletions CHARTER.md
Original file line number Diff line number Diff line change
@@ -1,51 +1,126 @@
# Arcalot Round Table Charter

Arcalot is a **free, open source collection of projects, and will remain so**. Our main mission is to improve the way workloads are run, how their data is consumed and forwarded, and to simplify analyzing the output of workloads, debugging where necessary as well as overall log analysis.
Arcalot is a **free and open source collection of projects and will remain so**. Our
main mission is to improve the way workloads are run, how their data is consumed and
forwarded, and to simplify analyzing the output of workloads.

This charter covers **important processes and decisions that impact the whole organization, direction, and goals**. Small decisions like coding style per repository or similar details can be decided among the repository maintainers.
This charter covers **important processes and decisions that impact the whole
organization, its direction, and its goals**. Small decisions like coding style per
repository or similar details can be decided among the repository maintainers.

## Arcalot Round Table

The Arcalot Round Table *(ART)* consists of:
* 4 chairs with equal rights who
- Enforce the [Code of Conduct](https://github.com/arcalot/.github/blob/main/CODE_OF_CONDUCT.md)
- Have administrative rights over the [GitHub org](https://github.com/arcalot), communication channels, and other community-owned resources
- Publicly record decisions made by the ART in the [art-decisions](art-decisions) folder
* Individuals who want to join the ART and pass a review of their PR sent to [ART_MEMBERS.md](ART_MEMBERS.md), with approval depending on any one or more of the below requirements:
- They contribute with code, documentation, artwork, articles, videos, talks, or similar additions to the Arcalot ecosystem
- They are an active user of Arcalot projects (end user, product builder, researcher, etc. - please describe your use case in the PR, you do not have to mention any company names or details)
- They are actively helping community members on any of the official Arcalot channels

### Termination of ART membership

An Arcalot Round Table member *(including chairs)* that does not participate in round table matters (voting) *without reason and notice* for 3 times in a row leaves the round table automatically as we can assume they are not interested in being a member of the ART anymore. This ensures that we do not have a corpus of inactive members with voting rights.

Meetings do not count as necessary round table matters as we want to include people in all stages of life and across all timezones. We therefore refrain from any synchronous or undocumented decision making.

Additionally, as stated in the [Arcalot Code of Conduct](https://github.com/arcalot/.github/blob/main/CODE_OF_CONDUCT.md), chairs can remove an ART member if their behavior is clearly disruptive to the community.

## Decision Proposals

Decisions can be started *only asychronously* in the [ART repository pull requests](https://github.com/arcalot/arcalot-round-table/pulls) via submitting a pull request with a new file to [art-decisions/proposals](art-decisions/proposals). You can use the included `template.md` file as a guideline. Decision proposals can only be submitted by ART members. If you would like to encourage discussion around a decision before any voting starts, please submit a draft PR instead and mark it ready for review once you are comfortable that you will not add any changes to your proposal.
The Arcalot Round Table (ART) consists of:
* Four chairs with equal rights who
- Enforce the [Code of
Conduct](https://github.com/arcalot/.github/blob/main/CODE_OF_CONDUCT.md)
- Have administrative rights over the [GitHub org](https://github.com/arcalot),
communication channels, and other community-owned resources
- Publicly record decisions made by the ART in the [`art-decisions`](art-decisions)
folder
* Individuals who
- Contribute with code, documentation, artwork, articles, videos, talks, or similar
additions to the Arcalot community
- Are users of Arcalot projects (end users, product builders, researchers, etc.)
- Help community members on any of the official Arcalot channels

### ART Participation

If you wish to join the ART, please submit a pull request adding yourself to the
[`ART_MEMBERS.md`](ART_MEMBERS.md) file. Please describe your use case in the pull
request comments; you do not need to mention any company names or details. Joining is
finalized upon two pull request approvals by the chairs and the merging of the pull
request.

Community meetings are not compulsory as we want to include people in all stages of life
and across all timezones. We therefore refrain from any synchronous or undocumented
decision making.

As stated in the [Arcalot Code of
Conduct](https://github.com/arcalot/.github/blob/main/CODE_OF_CONDUCT.md), chairs can
remove any ART member if their behavior is clearly disruptive to the community.


### Chair Participation

Chairs are expected to remain actively involved in the community. A chair who does not
participate in ART voting *without reason and notice* three times in a row forfeits the
position and becomes a regular ART member automatically.


## Proposals

Proposals may only be made asychronously by submitting a pull request to this repository
with a new file in the [`art-decisions/proposals`](art-decisions/proposals) directory.
The provided [template file](art-decisions/proposals/template.md) may be used as a
guideline for new proposals. The proposal file name should start with the date of the
initial draft of the proposal in YYYY-MM-DD format, followed by the proposal title in
all-lowercase with dashes substituting spaces (i.e., `2024-07-17-my-proposal-title.md`).
Proposals may only be submitted by current ART members. If you would like to encourage
discussion around a proposal before any voting starts, please submit a draft pull
request instead. Once the discussion is complete and you are comfortable that you will
not make any changes to your proposal, mark the pull request ready for review. Open pull
requests can be viewed at the [ART repository pull
requests](https://github.com/arcalot/arcalot-round-table/pulls) page.

## Voting

Each member of the Arcalot Round Table is eligible for voting if they have been a member of the ART for at least 30 days. For any decision that impacts the whole project or processes, a vote is started where a 66% majority with a quorum of 66% of all ART members is needed for the proposal to pass.
Each member of the ART is eligible to vote if they have been a member for at least 30
days. For any proposal, **approval requires a minimum of four votes with 75% approval
among those voting**.

Any vote must be open for at least 7 calendar days to account for different time zones
and other obligations and must be open no longer than 30 days. The voting period must be
stated in the proposal in calendar days. The voting period begins on the day the pull
request is opened for review and ends at midnight after the last day of the voting
period, with all dates and times considered in UTC. Proposals can be extended for no
longer than 30 days total. Extensions can be made before the end of the current voting
period by the original submitter or one of the ART chairs by updating the pull request
with a note stating the number of calendar days for the extension. **If approval is not
reached within the voting period deadline, the proposal is rejected.**

Once rejected, a proposal may not be submitted again for 30 days.

ART members cast their votes by reviewing the pull request. An approval vote is cast by
approving the pull request, and a rejection vote is cast by using the *Request changes*
function and providing feedback in the comment regarding the reason for the rejection
and the changes they would like to see made. Once the voting period is over or all ART
members have voted, the pull request is merged into the `main` branch (always, whether
approved or rejected). The chairs then record the decision, dissenting comments, and
other relevant information in the [`RECORD.md`](art-decisions/RECORD.md) file via
another pull request that is reviewed and approved by at least 50% of the chairs to
ensure accuracy.

If the majority cannot be reached, the proposal is considered rejected and can be brought to the ART again 2 months after the rejection at the earliest. If the same decision has been rejected twice, it cannot be brought to the ART again.
## Chair Elections

Any voting period must last at least 7 days to account for different time zones and other obligations, and should last no longer than 30 days. The voting period should be stated in the proposal.
If a chair leaves through non-participation, through their own resignation, or due to an
incapacity to carry out their duties, elections for a new chair take place.

ART members cast their votes by starting a review that either approves or rejects the decision suggested via a pull request. Once the voting period is over or all ART members have voted, the chairs record the decision, objections, and other relevant information in the `art-decisions` folder. Silence equals abstaining from a vote.
After the announcement of a chair leaving, there is a period of 30 days for nominations
(from the date of the announcement). Any ART member can nominate another ART member or
themselves, while a second member has to sponsor the nomination. Only members that have
been part of the ART for at least six months are eligible to become a chair or sponsor a
nomination.

## Chair Elections
After the nomination period, elections take place asynchronously through the same
process as standard proposals.

If a chair leaves through non-participation or through their own announcement, elections for a new chair take place.
A proposal to remove a chair from their position for any reason other than those stated
at the beginning of this section follows the normal proposal process.

After the announcement of a chair leaving, there is a period of 30 days for nominations (from the date of the announcement). Any ART member can nominate another ART member or themselves, while a second member has to sponsor the nomination. Only members that have been part of the ART for 6+ months are eligible to become a chair or sponsor a nomination.
## Code of Conduct Enforcement

After the nomination period, elections take place asynchronously through the same process as standard decision proposals.
Removing or disciplining an ART member due to a violation of the [Arcalot Code of
Conduct](https://github.com/arcalot/.github/blob/main/CODE_OF_CONDUCT.md) is initiated
by any chair as a pull request to the ART. Voting for matters of discipline and member
removal is by chairs only. All chairs must vote on these matters or explicitly abstain
via a comment in the pull request. Approval is reached by a majority of the chairs
voting in favor with none voting against. In the case of a dissenting vote, approval is
not reached, and the matter moves to the normal proposal process. An appeal may be made
by any ART member or by the affected party via the normal proposal process.

## Changing the Charter

This charter can only be changed by suggestions first passing through a 66% majority of ART members and a subsequent 66% vote among the chairs.
This charter can be changed by a pull request passing the same threshold of voting as
any other proposal with the additional requirement of having no more than one rejection
vote from a chair.

0 comments on commit 0b31161

Please sign in to comment.