Skip to content

Commit 08191f2

Browse files
[GOV] Use the NumFOCUS code of conduct and rename aeon workgroup (#2852)
* code of conduct update and readmes * typo --------- Co-authored-by: Sebastian Schmidl <10573700+SebastianSchmidl@users.noreply.github.com>
1 parent c25f9d4 commit 08191f2

File tree

10 files changed

+101
-81
lines changed

10 files changed

+101
-81
lines changed

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ contact_links:
99
url: https://mailxto.com/jbp3ave49x
1010
about: Send an email to the aeon developers at contact@aeon-toolkit.org. Checked periodically.
1111
- name: "\u2709\uFE0F CoC Report"
12-
url: https://www.aeon-toolkit.org/en/latest/code_of_conduct.html
13-
about: Report an incident to the Code of Conduct Workgroup.
12+
url: https://www.aeon-toolkit.org/en/stable/code_of_conduct.html
13+
about: Report an incident to the Code of Conduct Moderators.

.github/utilities/generate_developer_tables.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ def get(url, auth):
4242

4343
def get_contributors(auth):
4444
"""Get the list of contributor profiles. Require admin rights."""
45-
cocw = []
46-
cocw_slug = "aeon-code-of-conduct-workgroup"
45+
cocm = []
46+
cocm_slug = "aeon-code-of-conduct-moderators"
4747
cw = []
4848
cw_slug = "aeon-communications-workgroup"
4949
cd = []
@@ -60,15 +60,15 @@ def get_contributors(auth):
6060
entry_point = "https://api.github.com/orgs/aeon-toolkit/"
6161

6262
for team_slug, lst in zip(
63-
(cocw_slug, cw_slug, cd_slug, fw_slug, iw_slug, rmw_slug, sd_slug),
64-
(cocw, cw, cd, fw, iw, rmw, sd),
63+
(cocm_slug, cw_slug, cd_slug, fw_slug, iw_slug, rmw_slug, sd_slug),
64+
(cocm, cw, cd, fw, iw, rmw, sd),
6565
):
6666
for page in range(5): # 5 pages, 30 per page
6767
reply = get(f"{entry_point}teams/{team_slug}/members?page={page}", auth)
6868
lst.extend(reply.json())
6969

7070
# keep only the logins
71-
cocw = {c["login"] for c in cocw}
71+
cocm = {c["login"] for c in cocm}
7272
cw = {c["login"] for c in cw}
7373
cd = {c["login"] for c in cd}
7474
fw = {c["login"] for c in fw}
@@ -77,7 +77,7 @@ def get_contributors(auth):
7777
sd = {c["login"] for c in sd}
7878

7979
# get profiles from GitHub
80-
cocw = [get_profile(login, auth) for login in cocw]
80+
cocm = [get_profile(login, auth) for login in cocm]
8181
cw = [get_profile(login, auth) for login in cw]
8282
cd = [get_profile(login, auth) for login in cd]
8383
fw = [get_profile(login, auth) for login in fw]
@@ -86,7 +86,7 @@ def get_contributors(auth):
8686
sd = [get_profile(login, auth) for login in sd]
8787

8888
# sort by last name
89-
cocw = sorted(cocw, key=key)
89+
cocm = sorted(cocm, key=key)
9090
cw = sorted(cw, key=key)
9191
cd = sorted(cd, key=key)
9292
fw = sorted(fw, key=key)
@@ -95,7 +95,7 @@ def get_contributors(auth):
9595
sd = sorted(sd, key=key)
9696

9797
return (
98-
cocw,
98+
cocm,
9999
cw,
100100
cd,
101101
fw,
@@ -154,7 +154,7 @@ def generate_table(contributors):
154154
auth = ("user", token)
155155

156156
(
157-
cocw,
157+
cocm,
158158
cw,
159159
cd,
160160
fw,
@@ -164,11 +164,11 @@ def generate_table(contributors):
164164
) = get_contributors(auth)
165165

166166
with open(
167-
REPO_FOLDER / "docs" / "about" / "code_of_conduct_workgroup.md",
167+
REPO_FOLDER / "docs" / "about" / "code_of_conduct_moderators.md",
168168
"w+",
169169
encoding="utf-8",
170170
) as rst_file:
171-
rst_file.write(generate_table(cocw))
171+
rst_file.write(generate_table(cocm))
172172

173173
with open(
174174
REPO_FOLDER / "docs" / "about" / "communications_workgroup.md",

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Changelog
22

3-
You can find the aeon changelog on our [website](https://www.aeon-toolkit.org/en/stable/changelog.html).
3+
You can find the `aeon` changelog pages on our [website](https://www.aeon-toolkit.org/en/stable/changelog.html).
44

55
`aeon` adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html>) and the source code for
66
all [releases](https://github.com/aeon-toolkit/aeon/releases>) is available on GitHub.

CODE_OF_CONDUCT.md

Lines changed: 62 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,66 @@
11
# Code of Conduct
22

3-
You can find our full Code of Conduct (CoC) on our [website](https://www.aeon-toolkit.org/en/stable/code_of_conduct.html).
3+
We value the participation of every member in our community and want to
4+
ensure that every contributor has an enjoyable experience. Accordingly, those who
5+
participate in the `aeon` project are expected to show respect and courtesy to other
6+
community members at all times.
47

5-
The code of conduct aims to ensure a positive and respectful experience for all
6-
members of the community. Community members should follow the principles set out in
7-
the [Python Software Foundation Code of Conduct](https://www.python.org/psf/codeofconduct/).
8+
`aeon` uses the NumFOCUS Code of Conduct (CoC). You can find the [whole document
9+
here](https://numfocus.org/code-of-conduct).
810

9-
If you want to make a CoC report, contact the general `aeon` email
10-
[contact@aeon-toolkit.org](mailto:contact@aeon-toolkit.org) or message a member of the
11-
[Code of Conduct Workgroup (COCW)](https://www.aeon-toolkit.org/en/stable/about.html#code-of-conduct-workgroup)
12-
directly on [Slack](https://join.slack.com/t/aeon-toolkit/shared_invite/zt-36dlmbouu-vajTShUYAHopSXUUVtHGzw).
11+
Everyone participating in activities associated with the `aeon` project (whether
12+
in-person or remote) is required to conform to this Code of Conduct regardless
13+
of platform.
14+
15+
## The Short Version
16+
17+
`aeon` and NumFOCUS are dedicated to providing a harassment-free community for everyone,
18+
regardless of gender, sexual orientation, gender identity and expression, disability,
19+
physical appearance, body size, race, or religion. We do not tolerate harassment of
20+
community members in any form.
21+
22+
Be kind to others. Do not insult or put down others. Behave professionally. Remember
23+
that harassment and sexist, racist, or exclusionary jokes are not appropriate for
24+
`aeon` or NumFOCUS.
25+
26+
All communication should be appropriate for a professional audience, including people
27+
of many different backgrounds. Sexual language and imagery are not appropriate.
28+
29+
Thank you for helping make this a welcoming, friendly community for all.
30+
31+
## How to Report
32+
33+
If you feel that the Code of Conduct has been violated, feel free to Contact a member of
34+
the `aeon` [Code of Conduct Moderators](https://www.aeon-toolkit.org/en/stable/about.html#code-of-conduct-moderators)
35+
directly on [Slack](https://join.slack.com/t/aeon-toolkit/shared_invite/zt-36dlmbouu-vajTShUYAHopSXUUVtHGzw)
36+
or through the general `aeon` email ([contact@aeon-toolkit.org](mailto:contact@aeon-toolkit.org)).
37+
38+
OR
39+
40+
Submit a report directly to the NumFOCUS Code of Conduct Working Group by using
41+
[NumFOCUS Code of Conduct Reporting Form](https://numfocus.typeform.com/to/ynjGdT?typeform-source=numfocus.org).
42+
43+
## Who Will Receive Your Report
44+
45+
If you have contacted the `aeon` Code of Conduct Moderators, the group will decide
46+
whether to take action directly or forward it to the NumFOCUS Code of Conduct Working
47+
Group. The workgroup may take immediate action if the situation requires it (e.g.
48+
deleting a post, banning a user from a channel, etc.).
49+
50+
Using the NumFOCUS form, your report will be received and handled by NumFOCUS Code of
51+
Conduct Working Group; trained and experienced contributors with diverse backgrounds.
52+
The group is making decisions independently of `aeon`, PyData, NumFOCUS or any other
53+
organisation. You can learn more about the current NumFOCUS group members, as well as
54+
the reporting procedure [here](https://numfocus.org/code-of-conduct).
55+
56+
## Actions Taken on Reports
57+
58+
Final decision-making on any report actions lies with the `aeon` Code of Conduct
59+
Moderators. In most cases, however, the moderators will enforce the recommendations
60+
made by the NumFOCUS Code of Conduct Working Group. If you are unhappy with a decision
61+
made directly by the `aeon` Code of Conduct Moderators, you can contact the NumFOCUS
62+
Code of Conduct Working Group directly through the reporting form.
63+
64+
Breaking the Code of Conduct may result in a range of actions, from a warning
65+
to removal from `aeon` and its community spaces depending on the severity of the
66+
action and prior history of violations.

CONTRIBUTING.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1-
# Contributing guide
1+
# Contributing Guide
22

3-
You can find our contributing guide on our [website](https://www.aeon-toolkit.org/en/stable/contributing.html).
3+
`aeon` is a community-driven project and contributions are most welcome. We value
4+
all kinds of contributions, not just code. Improvements to docs, bug reports, and
5+
taking on communications or code of conduct responsibilities are all examples of
6+
valuable contributions beyond code which help make aeon a great package.
7+
8+
You can find our full contributing guide on our [website](https://www.aeon-toolkit.org/en/stable/contributing.html).

GOVERNANCE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ engaging with the community, and steering the project. Tasks are delegated to
99
workgroups, which are groups of core developers and contributors assigned by
1010
core developers to fulfil a specific role.
1111

12-
aeon's decision-making process is transparent and consensus-based.
12+
`aeon`'s decision-making process is transparent and consensus-based.
1313
Most decisions involve seeking consensus among contributors and core developers.
1414
If consensus is not reached, a vote can be called, requiring a two-thirds majority
1515
of core developers for approval. The process emphasises transparency and open

docs/about.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
The roles are described in `aeon`'s [governance](governance.md) document.
66
A list of all contributors can be found [here](contributors.md).
77

8-
### Code of Conduct Workgroup
8+
### Code of Conduct Moderators
99

10-
The code of conduct workgroup maintains the code of conduct and handles any
11-
issues related that arise.
10+
The code of conduct moderators maintain the code of conduct and make decisions on any
11+
code of conduct related issues.
1212

13-
```{include} about/code_of_conduct_workgroup.md
13+
```{include} about/code_of_conduct_moderators.md
1414
```
1515

1616
### Communications Workgroup

docs/code_of_conduct.md

Lines changed: 2 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,2 @@
1-
# Code of Conduct
2-
3-
We value the participation of every member in our community and want to
4-
ensure that every contributor has an enjoyable experience. Accordingly, those who
5-
participate in the `aeon` project are expected to show respect and courtesy to other
6-
community members at all times.
7-
8-
Everyone participating in activities associated with the `aeon` project (whether
9-
in-person or remote) is required to conform to this Code of Conduct (CoC) regardless
10-
of platform.
11-
12-
It is expected that community members will abide by the principles of the [Python
13-
Software Foundation Code of Conduct](https://www.python.org/psf/codeofconduct/) to
14-
help maintain an open, considerate and respectful environment.
15-
16-
Unacceptable behaviour and code of conduct violations are determined and dealt with
17-
at the discretion of the `aeon` [Code of Conduct Workgroup (COCW)](./governance.md#code-of-conduct-workgroup).
18-
Possible actions taken include warnings, mediated meeting and/or apologies, and
19-
expulsion from the project depending on the severity of the breach. The COCW can edit
20-
and remove comments and other contributions that are not aligned to this Code of
21-
Conduct.
22-
23-
Examples of unacceptable behaviour include (but are not limited to):
24-
- Personal attacks, insults and threats
25-
- Harassment of individuals or groups both publicly and privately
26-
- Publishing private information of others, such as physical or electronic
27-
addresses, without explicit permission
28-
- The use of sexualised language or imagery in conversation or talks
29-
- Jokes or insults based on stereotypes, slurs or other exclusionary language
30-
- Continued one-on-one communication after requests to cease
31-
- General unethical and unprofessional conduct
32-
33-
Community members asked to stop any inappropriate behaviour are expected to comply
34-
immediately.
35-
36-
If you believe someone is violating the CoC, we ask that you report it by
37-
contacting the COCW. All reports will be kept confidential. You can make a report by
38-
emailing the general `aeon` contact address [contact@aeon-toolkit.org](mailto:contact@aeon-toolkit.org),
39-
or by messaging [members of the COCW](./about.md#code-of-conduct-workgroup)
40-
directly on [Slack](https://join.slack.com/t/aeon-toolkit/shared_invite/zt-36dlmbouu-vajTShUYAHopSXUUVtHGzw).
41-
42-
Thank you for reading and helping make this a welcoming, friendly community for
43-
everyone.
1+
```{include} ../CODE_OF_CONDUCT.md
2+
```

docs/governance.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -100,17 +100,19 @@ responsible for managing access to the `aeon` email address. To help manage
100100
GitHub discussions, the communication workgroup is given triage access to the `aeon`
101101
GitHub repository.
102102

103-
#### Code of Conduct Workgroup
103+
#### Code of Conduct Moderators
104104

105-
The Code of Conduct Workgroup (CoCW) consists of contributors tasked with making sure
106-
`aeon` remains a welcoming and inclusive community. CoCW responsibilities include
107-
maintaining the `aeon` Code of Conduct (CoC) and managing reports of breaking the CoC.
108-
CoCW members are expected to review reports of CoC violations, contact and discuss with
109-
involved individuals and make recommendations on actions to take.
105+
The Code of Conduct Moderators (CoCM) consists of contributors tasked with making sure
106+
`aeon` remains a welcoming and inclusive community. CoCM responsibilities include
107+
ensuring the Code of Conduct (CoC) remains up to date, keeping contact with the
108+
NumFOCUS Code of Conduct Workgroup and managing reports of breaking the CoC.
109+
CoCM members are expected to review reports of CoC violations, refer cases to the
110+
NumFOCUS workgroup when applicable and make decisions on report actions while
111+
consulting with the greater community.
110112

111-
Any CoCW members involved in a CoC report or CoCW members which have a conflict of
113+
Any CoCM members involved in a CoC report or CoCM members which have a conflict of
112114
interest regarding the report are expected to recuse themselves from the process. The
113-
CoCW is given triage access to the `aeon` GitHub repository to moderate discussions if
115+
CoCM is given triage access to the `aeon` GitHub repository to moderate discussions if
114116
necessary.
115117

116118
## Decision-Making Process
@@ -165,7 +167,7 @@ submitted to the community for discussion and comment.
165167

166168
## Acknowledgements
167169

168-
Significant portions of this document were adapted from or inspired by the following
170+
Portions of this document were adapted from or inspired by the following
169171
projects governance documents:
170172

171173
- [Scikit-learn](https://scikit-learn.org/stable/governance.html)

0 commit comments

Comments
 (0)