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

Create a CODE_OF_CONDUCT.md using GitHub's default template (unmodified) #9805

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
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
127 changes: 127 additions & 0 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# Contributor Covenant Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
community include:

* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community

Examples of unacceptable behavior include:

* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
https://discord.gg/ZeuASSx.
Comment on lines +61 to +62
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
reported to the community leaders responsible for enforcement at
https://discord.gg/ZeuASSx.
reported to the community leaders responsible for enforcement via
their emails as accessed via their github profile or as listed in the
Endless Sky repository, such as the copyright and commit logs.

This is a GitHub community code of conduct. It should not require people to join another 3rd party platform just to file a report. Specific emails could be listed here, or directions to specifically where to find them. Either would be considerably more useful than linking to a discord server.

Copy link
Contributor

Choose a reason for hiding this comment

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

Email is also a third party platform; as far as I know, GitHub does not provide an email service. GitHub does provide email addresses in the @users.noreply.github.com domain, as far as I can tell, it's not possible to actually send or receive emails with these addresses.

Your other comment mentions privacy. Given that, in sending an email, you reveal your own email address to the recipient. I don't think this is particularly private given that a GiThub user can keep their email entirely hidden from other GitHub users. A person can even view pretty much anything on GitHub without even having an account. In that context, sending an email would not only require you to give out previously hidden information to the recipient, but also may require you create an email account in case you don't already have one (or, don't want to use an existing one specifically to keep that address private.)

My immediate thought is that some sort of Google form would be a good option. As far as I know, you don't even need a Google account to submit a response to a Google form (unless you wish to include uploaded files).

That's not to say that email addresses or even the Discord link shouldn't be present, but if:

  • not requiring respondents to use other platforms, and
  • the respondents' privacy,

are priorities, I don't think email is particularly far ahead of Discord. They can be listed options, but in these criteria, I don't think either come out ahead of a Google form (or similar). The biggest advantage I can think of is that people might be more likely to know what to do with an email address than they are with a Discord link.
While, yes, a Google form would also be another platform, GitHub doesn't really provide a good way to give any sort of feedback privately. You could just have a discussion or something and let people submit reports there, but that's just a terrible idea. I think a link to a page with a textbox where you write your message and a "submit" button is far better than an email address.

Copy link
Member

@Hecter94 Hecter94 Feb 12, 2024

Choose a reason for hiding this comment

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

My immediate thought is that some sort of Google form would be a good option. As far as I know, you don't even need a Google account to submit a response to a Google form (unless you wish to include uploaded files).

This is correct; yes, assuming you don't need to upload files, (or do a handful of other things, like limiting responses to one per person) a Google form can be submitted anonymously.

Another advantage to a Google form is that the form submissions can be shared among a group of people, so anyone whose been added to the form can see responses to it, whereas with email or Discord (if they choose to DM), whichever individual receives the email/DM could ignore it if they don't feel it's worth acting upon. In contrast, with a Google form, at the very least, a team of people could be made aware of it, making things much less likely to get ignored.

Copy link
Member

Choose a reason for hiding this comment

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

I rank email considerably above Discord because Discord is a singular entity (as is google); whereas there are millions of email providers (or even self-hosted) to suit every whim.

A google form would definitely be much better than the discord link. That being said, just straight up listing everyone who can take appropriate action here with their particular preferred method of contact would be reasonable, too.

The downside with the google form is "what if the person is reporting a problem with someone who has access to the place where that google form goes?"

Copy link
Member

Choose a reason for hiding this comment

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

The downside with the google form is "what if the person is reporting a problem with someone who has access to the place where that google form goes?"

Form responses are saved in a sheet that multiple people can have access to, and the sheet also has version tracking similar to GitHub.
image

If someone chooses to go in and delete a response they are opposed to, that will be saved in version history, who deleted it, what they deleted, and when it was deleted.
This also applies if something was modified; version history will save what the modification was, what the original was, and who did it.
image

And, of course, anyone with access to view the responses can also see version history.

Copy link
Member

Choose a reason for hiding this comment

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

Checking a few other project's Code of Conduct:

https://github.com/OpenRA/OpenRA/blob/bleed/CODE_OF_CONDUCT.md
image

https://github.com/flutter/flutter/blob/master/CODE_OF_CONDUCT.md
image

https://github.com/spring-projects/.github/blob/main/CODE_OF_CONDUCT.md
image

https://github.com/apollographql/.github/blob/main/CODE_OF_CONDUCT.md
image

https://github.com/bevyengine/bevy/blob/main/CODE_OF_CONDUCT.md
image

https://github.com/ravynsoft/ravynos/blob/main/CODE_OF_CONDUCT.md
image

It's not an exhaustive list, but some that I pulled up more or less at random.
A few seem to have a dedicated "code of conduct" email, which generally seems to be the preferred option, just based on this relatively low sample size. A few mention directly contacting specific people, and one mentions an IRC server, one mentions their Discord server.

However, the concerns about needing to share your email address to email a complaint and the concerns with whatever individual manages the email having full control over what they choose to respond to and share are valid.
The ideal option might be some shared email inbox, which appears to be what a few of these use, alongside perhaps a Discord link or a form link.

If someone wants to email, they can, with it going to a shared inbox to not be reliant on a single person; if they want to join Discord and DM people about it, they can do so, and if they want to submit a completely anonymous form not to give away their email, they can also do so.

With that said, I'm not sure how difficult/expensive setting up a shared email inbox might be. If it turns out to be a difficult endeavor; perhaps just a Form + Discord to give multiple options without running the risk of complaints being emailed and ignored.

Copy link
Contributor

Choose a reason for hiding this comment

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

Naev gives the option of reporting violations via Discord and email.

I don't see why we can't have both an email and a google form. That seems like those two combined would cover most people. There should be a warning if using a spam filter that email addresses from less common providers may be sent to spam by the server, because that does happen, but other than that I don't see the issue of giving multiple options.

Copy link
Member Author

Choose a reason for hiding this comment

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

Setting up a collaborative inbox with Google Groups isn't too hard, though there's a bit of structural overhead.
If people find that desirable I can set one up.

Copy link
Member

Choose a reason for hiding this comment

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

Setting up a collaborative inbox with Google Groups isn't too hard, though there's a bit of structural overhead. If people find that desirable I can set one up.

A shared email inbox, alongside a Google form shared with the same group of individuals, would be the ideal solution, assuming that the shared inbox works how I envision it would.
That solution would allow an individual to use email to avoid using a third-party service or submit an anonymous form response if they aren't comfortable sharing their email address.
It also avoids the drawbacks of relying on a single point of contact as the only person responsible for receiving, communicating, and acting upon complaints.

Do you happen to know if a shared inbox would allow individuals with access to that shared inbox to modify/delete incoming complaints in such a way that it wouldn't be traceable by the other individuals with access to that inbox?

Copy link
Contributor

@ziproot ziproot Feb 24, 2024

Choose a reason for hiding this comment

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

Depends on the shared inbox I think. For Microsoft Outlook, it seems like only those who could delete incoming emails would be admins of Microsoft's server. However, for Gmail, "delegates" would be able to delete incoming emails, so mods would have to have something like POP3 set up to download emails as they arrive, so that they would have a local copy in case that happens.

EDIT: POP3 looks like it defaults to deleting emails as they arrive. Mods would have to set it up so it keeps a copy on the local server.

EDIT 2: Fixed dead link

All complaints will be reviewed and investigated promptly and fairly.
Copy link
Contributor

Choose a reason for hiding this comment

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

What guarantee is there that the investigation will be fair? Does someone being investigated have the right to express a lack of confidence in the moderation team? How will we go about preventing that lack of confidence in the first place?

Copy link
Member Author

Choose a reason for hiding this comment

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

Refer to the multiple contact options conversation.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think the contact options conversation has sort of touched on it, but addressing lack of confidence in one specific moderator. While that is certainly an issue, I think we also have to have some sort of way to assuage a lack of confidence in the entire team. It is pretty much impossible that we will ever have an entire mod team that is biased and corrupt, but that won't stop people who have been accused or are being investigated from making those allegations or just having a bad feeling toward all our mods.


All community leaders are obligated to respect the privacy and security of the
reporter and reportee of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series
of actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media (inc. Discord). Violating these terms may lead to a temporary or
permanent ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within
the community.
Copy link
Contributor

Choose a reason for hiding this comment

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

This doesn't really feel clear to me.

Temporary ban says:

  • if you ignore the ban and try to interact with members of the community, especially in a negative way, you might receive a permanent ban.

If they've managed to break free from their temporary ban, though, how are you going to enforce a permanent ban? Obviously, this probably involves the offender getting banned from the Discord, blocked from interacting with the GitHub page or the dev team, etc. But if they've already circumvented the temporary ban (which appears to be exactly the same as the permanent ban, just temporary), what's going to stop them from doing the same here? Is there going to be some action taken with outside support from GitHub or Discord?

I've got even more questions, actually:

  • What even constitutes "public interaction?"
  • Who among the moderators has the authority to turn a temporary ban into a permanent one? If moderator X is being "harassed" by temp-banned user Y when really Y just has poor communication skills/didn't properly read the code of conduct and is trying to get their ban appealed, should moderator X be able to execute this somewhat drastic step? Is a team of two or three moderators needed?
  • The criteria for a permanent ban seem to be broader and no more serious than those for a temporary ban. The only difference is the "serious violation" vs "pattern of violation." What makes the permanent ban more severe beyond it being applied more sparingly and at the moderators' discretion?

Copy link
Member Author

Choose a reason for hiding this comment

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

Public interaction would in this case mean posting or commenting on things in the repo.

I would say that whichever moderator applies the temporary ban is not allowed to be the same moderator who applies the permanent on. That's probably as much insurance as we can reasonably build into that though.

As for what makes it more severe?
It really just comes down to whether a person is actually capable of taking on board feedback and trying to do something about their behaviour. The temporary ban serves as a warning, the permanent ban is the decision for when the warning has no effect.

Copy link
Contributor

Choose a reason for hiding this comment

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

Those explanations should probably be added to the code of conduct in some way.


## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.

Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.
Loading