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

doc: Improvements around Code of Conduct #21071

Merged
merged 7 commits into from
Dec 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ affect a person's ability to participate within them.

If you believe someone is violating the code of conduct, we ask that you report
it by emailing <conduct@riot-os.org>. For more details please see our [Reporting
Guidelines](https://github.com/RIOT-OS/RIOT/wiki/CoC:-Reporting-Guidelines).
Guidelines](https://doc.riot-os.org/coc-reporting-guide.html).

- **Be friendly and patient.**
- **Be welcoming.** We strive to be a community that welcomes and supports
Expand Down Expand Up @@ -74,5 +74,5 @@ community](https://www.djangoproject.com/conduct/).
Questions?
----------

If you have questions, please see [the FAQ](https://github.com/RIOT-OS/RIOT/wiki/CoC:-FAQ).
If you have questions, please see [the FAQ](https://doc.riot-os.org/coc-faq.html).
If that doesn't answer your questions, feel free to [contact us](mailto:conduct@riot-os.org).
1 change: 1 addition & 0 deletions doc/doxygen/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
src/css/variables.less
src/changelog.md
src/coc.md
9 changes: 6 additions & 3 deletions doc/doxygen/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,17 @@ doc: $(DOCUMENTATION_FORMAT)

# by marking html as phony we force make to re-run Doxygen even if the directory exists.
.PHONY: html
html: src/changelog.md
html: src/changelog.md src/coc.md
( cat riot.doxyfile ; echo "GENERATE_HTML = yes" ) | doxygen -
@echo ""
@echo "RIOT documentation successfully generated at file://$(RIOTBASE)/doc/doxygen/html/index.html"

.PHONY: check
check: src/changelog.md
check: src/changelog.md src/coc.md
( cat riot.doxyfile) | doxygen -

.PHONY: man
man: src/changelog.md
man: src/changelog.md src/coc.md
( cat riot.doxyfile ; echo "GENERATE_MAN = yes" ) | doxygen -

src/css/riot.css: src/css/riot.less src/css/variables.less
Expand All @@ -39,6 +39,9 @@ src/css/variables.less: src/config.json
src/changelog.md: src/changelog.md.tmp ../../release-notes.txt
@./generate-changelog.py $+ $@

src/coc.md: ../../CODE_OF_CONDUCT.md
awk 'NR == 1 {print $$0,"{#coc}"} NR > 1 {print $$0}' $< > $@

.PHONY:
latex: src/changelog.md
( cat riot.doxyfile ; echo "GENERATE_LATEX= yes" ) | doxygen -
Expand Down
4 changes: 4 additions & 0 deletions doc/doxygen/riot.doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -868,6 +868,10 @@ INPUT = ../../doc.txt \
src/vision.md \
src/community-processes.md \
src/roadmap.md \
src/coc-info.md \
src/coc.md \
src/coc-reporting-guide.md \
src/coc-faq.md \
src/creating-modules.md \
src/creating-an-application.md \
src/porting-boards.md \
Expand Down
75 changes: 75 additions & 0 deletions doc/doxygen/src/coc-faq.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# FAQ {#coc-faq}

This FAQ attempts to address common questions and concerns around the RIOT
community's [Code of Conduct][CoC]. If you still have questions after
reading it, please feel free to [contact us][CoC-question-mail].

--------------------------------------------------------------------------------

### Why have you adopted a Code of Conduct?

If you're familiar with the RIOT
community, you'll probably notice that the Code basically matches what we
already do. Think of this as documentation: we're taking implicit expectations
about behavior and making them explicit.

We're doing this because the RIOT community is growing faster than any of us
could have anticipated. This is on balance a very positive thing, but as we've
grown past the point where it's possible to know the whole community we think
it's very important to be clear about our values.

We know that the RIOT community is open, friendly, and welcoming. We want to
make sure everyone else knows it too.

### What does it mean to "adopt" a Code of Conduct?

For the most part, we don't think it means large changes. We think that the text
does a really good job describing the way the RIOT community already conducts
itself. We expect that most people will simply continue to behave in the awesome
way they have for years.

However, we do expect that people will abide by the spirit and words of the CoC
when in "official" RIOT spaces. This code has been adopted by the RIOT community
as a whole. That means that it'll apply in all community spaces.

In practice, this means the [RIOT forum](https://forum.riot-os.org), the Matrix
chats (e.g., [`#riot-os`](https://matrix.to/#/#riot-os:matrix.org) or
[`#riot-os-off-topic`](https://matrix.to/#/#riot-os-off-topic:matrix.org)),
mailing lists (e.g., security@riot-os.org), bug tracking and code review tools,
and "official" RIOT events such as Hack'n'ACKs or RIOT summits. In addition,
violations of this code outside these spaces may affect a person's ability to
participate within them.

### What happens if someone violates the Code of Conduct?

Our intent is that anyone in the community can stand up for this code, and
direct people who're unaware to this document. If that doesn't work, or if you
need more help, you can contact <conduct@riot-os.org>. For more details please see
our [Reporting Guidelines](@ref coc-reporting-guide).

### Why do we need a Code of Conduct? Everyone knows not to be a jerk.

Sadly, not everyone knows this.

However, even if everyone was kind, everyone was compassionate, and everyone was
familiar with codes of conduct it would still be incumbent upon our community to
publish our own. Maintaining a code of conduct forces us to consider and
articulate what kind of community we want to be, and serves as a constant
reminder to put our best foot forward. But most importantly, it serves as a
signpost to people looking to join our community that we feel these values are
important.

### This is censorship! I have the right to say whatever I want!

You do -- in *your* space. If you'd like to hang out in *our* spaces (as
clarified above), we have some simple guidelines to follow. If you want to, for
example, form a group where RIOT is discussed using language inappropriate for
general channels then nobody's stopping you. We respect your right to establish
whatever codes of conduct you want in the spaces that belong to you. Please
honor this Code of Conduct in our spaces.

#### References
This FAQ was adapted from the [Django Code of Conduct FAQ](https://www.djangoproject.com/conduct/faq/)

[CoC-question-mail]: mailto:riot@riot-os.org
[CoC]: @ref coc
8 changes: 8 additions & 0 deletions doc/doxygen/src/coc-info.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Code of Conduct Information {#coc-info}
===========================

The following documents are describing all matters around our code of conduct:

- The \subpage coc itself,
- The \subpage coc-reporting-guide, and
- The \subpage coc-faq
80 changes: 80 additions & 0 deletions doc/doxygen/src/coc-reporting-guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Reporting Guidelines {#coc-reporting-guide}

If you believe someone is violating the [code of conduct][CoC] we ask that you
report it to us by emailing <conduct@riot-os.org>. Currently, the recipients of
this email address are [\@OlegHahm](https://github.com/OlegHahm) (Oleg Hahm) and
[\@miri64](https://github.com/miri64) (Martine Lenders).

**All reports will be kept confidential.** In some cases we may determine that a
public statement will need to be made. If that's the case, the identities of all
victims and reporters will remain confidential unless those individuals instruct
us otherwise.

**If you believe anyone is in physical danger, please notify appropriate law
enforcement first.** If you are unsure what law enforcement agency is
appropriate, please include this in your report and we will attempt to notify
them.

If you are unsure whether the incident is a violation, or whether the space
where it happened is covered by this Code of Conduct, we encourage you to still
report it. We would much rather have a few extra reports where we decide to take
no action, rather than miss a report of an actual violation. We do not look
negatively on you if we find the incident is not a violation. And knowing about
incidents that are not violations, or happen outside our spaces, can also help
us to improve the Code of Conduct or the processes surrounding it.

In your report please include:

- Your contact info (so we can get in touch with you if we need to follow up)
- Names (real, nicknames, or pseudonyms) of any individuals involved. If there
were other witnesses besides you, please try to include them as well.
- When and where the incident occurred. Please be as specific as possible.
- Your account of what occurred. If there is a publicly available record (e.g.
forum post, a mailing list archive, or a public Matrix chat link) please include a link.
- Any extra context you believe existed for the incident.
- If you believe this incident is ongoing.
- Any other information you believe we should have.

### What happens after you file a report?

You will receive an email from one of the core community members as soon as
possible. We promise to acknowledge receipt within 24 hours (and will aim for
much quicker than that).

They will review the incident and determine:

- What happened.
- Whether this event constitutes a code of conduct violation.
- Who the bad actor was.
- Whether this is an ongoing situation, or if there is a threat to anyone's
physical safety.

If this is determined to be an ongoing incident or a threat to physical safety,
their immediate priority will be to protect everyone involved.
This means we may delay an "official" response until we believe that the
situation has ended and that everyone is physically safe.

Once the working group has a complete account of the events they will make a
decision as to how to response. Responses may include:

- Nothing (if we determine no violation occurred).
- A private reprimand from us to the individual(s) involved.
- A public reprimand.
- An imposed vacation (i.e. asking someone to "take a week off" from the forum, the Matrix chats, or a mailing
list).
- A permanent or temporary ban from some or all RIOT spaces (forum, Matrix chats, mailing lists,
etc.)
- A request for a public or private apology.

We'll respond within one week to the person who filed the report with either a
resolution or an explanation of why the situation is not yet resolved.

Once we've determined our final action, we'll contact the original reporter to
let them know what action (if any) we'll be taking. We'll take into account
feedback from the reporter on the appropriateness of our response, but we don't
guarantee we'll act on it.

#### Reference
These reporting guidelines were adapted from the [Django reporting guidelines](https://www.djangoproject.com/conduct/reporting/)

[CoC]: @ref coc
Loading