Skip to content

Commit 52cf0a5

Browse files
committed
docs: add governance and code of conduct
Signed-off-by: vsoch <vsoch@users.noreply.github.com>
1 parent 4ca429a commit 52cf0a5

File tree

2 files changed

+195
-0
lines changed

2 files changed

+195
-0
lines changed

.github/CODE_OF_CONDUCT.md

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and leaders pledge to make participation in our
6+
community a harassment-free experience for everyone, regardless of age, body
7+
size, visible or invisible disability, ethnicity, sex characteristics, gender
8+
identity and expression, level of experience, education, socio-economic status,
9+
nationality, personal appearance, race, religion, or sexual identity
10+
and orientation.
11+
12+
We pledge to act and interact in ways that contribute to an open, welcoming,
13+
diverse, inclusive, and healthy community.
14+
15+
## Our Standards
16+
17+
Examples of behavior that contributes to a positive environment for our
18+
community include:
19+
20+
* Demonstrating empathy and kindness toward other people
21+
* Being respectful of differing opinions, viewpoints, and experiences
22+
* Giving and gracefully accepting constructive feedback
23+
* Accepting responsibility and apologizing to those affected by our mistakes,
24+
and learning from the experience
25+
* Focusing on what is best not just for us as individuals, but for the
26+
overall community
27+
28+
Examples of unacceptable behavior include:
29+
30+
* The use of sexualized language or imagery, and sexual attention or
31+
advances of any kind
32+
* Trolling, insulting or derogatory comments, and personal or political attacks
33+
* Public or private harassment
34+
* Publishing others' private information, such as a physical or email
35+
address, without their explicit permission
36+
* Other conduct which could reasonably be considered inappropriate in a
37+
professional setting
38+
39+
## Enforcement Responsibilities
40+
41+
Community leaders are responsible for clarifying and enforcing our standards of
42+
acceptable behavior and will take appropriate and fair corrective action in
43+
response to any behavior that they deem inappropriate, threatening, offensive,
44+
or harmful.
45+
46+
Community leaders have the right and responsibility to remove, edit, or reject
47+
comments, commits, code, wiki edits, issues, and other contributions that are
48+
not aligned to this Code of Conduct, and will communicate reasons for moderation
49+
decisions when appropriate.
50+
51+
## Scope
52+
53+
This Code of Conduct applies within all community spaces, and also applies when
54+
an individual is officially representing the community in public spaces.
55+
Examples of representing our community include using an official e-mail address,
56+
posting via an official social media account, or acting as an appointed
57+
representative at an online or offline event.
58+
59+
## Enforcement
60+
61+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
62+
reported to the community leaders responsible for enforcement at
63+
sochat1@llnl.gov.
64+
All complaints will be reviewed and investigated promptly and fairly.
65+
66+
All community leaders are obligated to respect the privacy and security of the
67+
reporter of any incident.
68+
69+
## Enforcement Guidelines
70+
71+
Community leaders will follow these Community Impact Guidelines in determining
72+
the consequences for any action they deem in violation of this Code of Conduct:
73+
74+
### 1. Correction
75+
76+
**Community Impact**: Use of inappropriate language or other behavior deemed
77+
unprofessional or unwelcome in the community.
78+
79+
**Consequence**: A private, written warning from community leaders, providing
80+
clarity around the nature of the violation and an explanation of why the
81+
behavior was inappropriate. A public apology may be requested.
82+
83+
### 2. Warning
84+
85+
**Community Impact**: A violation through a single incident or series
86+
of actions.
87+
88+
**Consequence**: A warning with consequences for continued behavior. No
89+
interaction with the people involved, including unsolicited interaction with
90+
those enforcing the Code of Conduct, for a specified period of time. This
91+
includes avoiding interactions in community spaces as well as external channels
92+
like social media. Violating these terms may lead to a temporary or
93+
permanent ban.
94+
95+
### 3. Temporary Ban
96+
97+
**Community Impact**: A serious violation of community standards, including
98+
sustained inappropriate behavior.
99+
100+
**Consequence**: A temporary ban from any sort of interaction or public
101+
communication with the community for a specified period of time. No public or
102+
private interaction with the people involved, including unsolicited interaction
103+
with those enforcing the Code of Conduct, is allowed during this period.
104+
Violating these terms may lead to a permanent ban.
105+
106+
### 4. Permanent Ban
107+
108+
**Community Impact**: Demonstrating a pattern of violation of community
109+
standards, including sustained inappropriate behavior, harassment of an
110+
individual, or aggression toward or disparagement of classes of individuals.
111+
112+
**Consequence**: A permanent ban from any sort of public interaction within
113+
the community.
114+
115+
## Attribution
116+
117+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118+
version 2.0, available at
119+
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
120+
121+
Community Impact Guidelines were inspired by [Mozilla's code of conduct
122+
enforcement ladder](https://github.com/mozilla/diversity).
123+
124+
[homepage]: https://www.contributor-covenant.org
125+
126+
For answers to common questions about this code of conduct, see the FAQ at
127+
https://www.contributor-covenant.org/faq. Translations are available at
128+
https://www.contributor-covenant.org/translations.

.github/GOVERNANCE.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Project Governance
2+
3+
This repository (`flux-python`) is a component of the **Flux Framework ecosystem**.
4+
5+
While this project operates under the high-level guidance of the [Flux Framework Project](https://flux-framework.readthedocs.io/projects/flux-core/en/latest/guide/support.html), it maintains its own list of maintainers, release cadence, and technical decision-making processes tailored to the specific language and domain (e.g., Python, REST APIs) of the component.
6+
7+
## 1. Roles and Responsibilities
8+
9+
### 1.1 Contributors
10+
11+
Contributors are community members who submit patches, file issues, improve documentation, or answer questions on community channels. Anyone can be a contributor. There is no expectation of long-term commitment.
12+
13+
### 1.2 Maintainers
14+
Maintainers are contributors who have shown dedication to the project through consistent, high-quality contributions. Maintainers have **Write Access** to the repository.
15+
16+
**Responsibilities:**
17+
* Reviewing and merging Pull Requests (PRs).
18+
* Triaging and managing Issues.
19+
* Cutting releases and publishing artifacts (e.g., to PyPI, Docker Hub, or GitHub Releases).
20+
* Ensuring code quality, test coverage, and security standards are met.
21+
* Participating in technical discussions and design reviews.
22+
23+
**Becoming a Maintainer:**
24+
Maintainership is earned by merit. Existing maintainers may nominate a contributor who has demonstrated:
25+
26+
1. A solid understanding of the project's codebase and goals.
27+
2. A history of high-quality pull requests.
28+
3. A collaborative and respectful attitude toward other community members.
29+
4. Commitment to the project's [Code of Conduct](CODE_OF_CONDUCT.md).
30+
31+
New maintainers are added by a consensus vote of the existing maintainers.
32+
33+
## 2. Decision Making
34+
35+
### 2.1 Lazy Consensus
36+
To ensure velocity, this project operates primarily on **Lazy Consensus**.
37+
* Changes are proposed via Pull Requests or Issues.
38+
* If a Maintainer reviews and approves the change, and no other Maintainer objects within a reasonable timeframe (usually 48 hours for non-trivial changes), the change is accepted.
39+
* Silence is not interpreted as consent.
40+
41+
### 2.2 Voting
42+
In the rare event that consensus cannot be reached:
43+
1. Maintainers will attempt to resolve the disagreement through discussion on GitHub or the developer meeting.
44+
2. If a deadlock persists, a simple majority vote of the current Maintainers of this repository decides the outcome.
45+
3. In the event of a tie, the issue is escalated to the Flux Framework developers.
46+
47+
## 3. Contribution Process
48+
49+
### 3.1 Developer Certificate of Origin (DCO)
50+
51+
To ensure the project can legally redistribute your contributions, all commits must be signed off. This certifies that you wrote the code or have the right to contribute it.
52+
* Git command: `git commit -s ...`
53+
* This adds a `Signed-off-by: Name <email>` trailer to your commit message.
54+
55+
### 3.2 Code Review
56+
* All code changes must be submitted via Pull Request.
57+
* **Requirement:** At least **one** approval from a Maintainer is required to merge.
58+
59+
## 4. Code of Conduct
60+
61+
This project adheres to a **Code of Conduct**.
62+
* [Link to Code of Conduct](https://github.com/flux-framework/flux-operator/blob/master/.github/CODE_OF_CONDUCT.md)
63+
* Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project lead [sochat1@llnl.gov](mailto:sochat1@llnl.gov).
64+
65+
## 5. Current Maintainers
66+
67+
* **Vanessa Sochat** (@vsoch) - *Lawrence Livermore National Laboratory*

0 commit comments

Comments
 (0)