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

Adopt a Code of Conduct for Dolphin. #11377

Merged
merged 1 commit into from
Jan 2, 2023
Merged

Conversation

delroth
Copy link
Member

@delroth delroth commented Dec 26, 2022

Rendered

This stems from the current discussions around having an official Dolphin Discord. We're going to have more users and developers interacting over there than we've had before, and given the general state of gaming communities on the internet I'd like to make it clear what's acceptable and not acceptable for us. If we define clearer rules for Discord, I don't really see any reason why not apply them globally to anywhere humans interact for the project: GitHub, bug tracker, IRC, forums, etc.

This Code of Conduct is derived from https://asahilinux.org/code-of-conduct/ which itself has a long lineage in the open source community (used by Django and Ceph, two other major open source projects of comparable size to ours). I've made roughly 0 adjustments to the CoC text compared to the Asahi version at this point. This PR is an RFC so we can discuss if we want to change anything before applying this to our project.

Two main points that I think need to be addressed before merge:

  • Who should be triaging reports of misconducts sent to conduct@dolphin-emu.org? We don't officially have any kind of "project leads" for Dolphin, and I think we'd want to have a decent amount of diversity of viewpoints in this group. I think starting with 3 trusted long-term project members would be fine for now, hopefully this is a very low-volume source of work :-)
  • I'm not super happy about the "Consequences" section as it is -- I like its general focus on allowing people to make mistakes as long as they stop misbehaving once notified, but I suspect that due to the nature of its userbase Dolphin might have to deal with on average more "malicious" / "deliberately harmful" people than this was designed for. Technically the wording allows skipping directly to the 3rd enforcement action, but I think this should maybe be made more explicit (-> we won't give you the benefit of the doubt if your intent seems unmistakenly malicious).

@delroth delroth marked this pull request as draft December 26, 2022 01:34
@delroth
Copy link
Member Author

delroth commented Dec 26, 2022

One option raised by @K0bin on IRC might be to just get rid of the "Consequences" section altogether, or at least greatly simplify it. I think that might be a good idea, especially since enforcement of the rules will happen in a very disparate fashion and with different groups of moderators depending on the communications platform.

I think I wouldn't completely get rid of it though and still have it describe our general intent: assume good faith when it seems plausible, and allow people to make mistakes as long as there's no pattern of undesirable behavior.

@marcan
Copy link
Contributor

marcan commented Dec 26, 2022

Keep in mind that the purpose of CoCs (IMO) is to outline the general approach of a community, signal that it cares about these things, and be a set of guidelines, rather than to serve as strictly interpreted laws of the land. So there is always room for discretion in how it is applied, especially in egregious cases.

That's not to say you shouldn't change the "Consequences" section, that's perfectly fine, just that you shouldn't worry too much about having a very strictly accurate set of rules because the people who are going to try to rules-lawyer you after you ban them are the people you want to stay banned anyway.

Personally, I think there's a significant "you know it when you see it" component to maliciousness, and so I'd lean towards having the on-paper rules be more on the side of forgiveness so as to not drive away clueless-but-not-malicious people too much (I've gotten some of those), while obviously still reaching for the instant banhammer where it is warranted. But where to set the balance here is very much a case by case and community by community thing, so by all means feel free to tweak the wording if you think it'd help :)

@delroth
Copy link
Member Author

delroth commented Dec 26, 2022

That's not to say you shouldn't change the "Consequences" section, that's perfectly fine, just that you shouldn't worry too much about having a very strictly accurate set of rules because the people who are going to try to rules-lawyer you after you ban them are the people you want to stay banned anyway.

I agree, but that's exactly why the current wording of that section feels weird to me -- I find that it reads in a very precise/procedural way when in practice, as you mention, it's the general intent and guidelines that matter. Which is why I like the suggestion from my previous comment of rewriting the section to focus on the intent and the guidelines we use to decide on moderation actions.

(I suspect that there might be communities that can afford funneling all the CoC-relevant moderation decisions through a small group of people that can guarantee consistency and a uniform moderation process. In which case a wording like the current one might make more sense? But I don't think Dolphin can ever work like this due to the shear amount of moderation we have to do for user-facing comms.)

@delroth
Copy link
Member Author

delroth commented Dec 26, 2022

(I suspect that there might be communities that can afford funneling all the CoC-relevant moderation decisions through a small group of people that can guarantee consistency and a uniform moderation process. In which case a wording like the current one might make more sense? But I don't think Dolphin can ever work like this due to the shear amount of moderation we have to do for user-facing comms.)

Another difference I can see is that projects like Django / Ceph (edit: this is a Ceph addition, Django doesn't have that section) have to interact with a more corporate side in their community, and someone being blocked from contributing to their projects could directly lead to very negative consequences for that person (like, I can see someone losing their job over it?). Under these constraints it probably makes more sense to have a much clearer and precise list of enforcement actions and the conditions under which they're used. But that's not something that I think applies to Dolphin, and that difference might justify approaching the wording differently.

@JMC47
Copy link
Contributor

JMC47 commented Dec 26, 2022

I did a quick read through it. It seems reasonable enough, but the consequences section can probably be removed or something more akin to perpetually problematic people being removed from the community.

@lioncash
Copy link
Member

lioncash commented Dec 26, 2022

I am 100% in favor with adopting a code of conduct. It's up to maintainers to get rid of members that would be ultimately harmful to efforts at collaboration. And I think the overall CoC is very amenable to regulating the community in a fair way,

I do think a consequences section should exist to outline, that, should the majority or leadership portion of a community think one is a problematic individual for a whole community (in the sense of dragging it down), they should be allowed to be removed without warning (there's no reason to keep someone problematic around for diplomatic reasons, because the situation is not a democratic one, but an analytical one by existing enforcing members), but I also don't care to argue about that, so have at it).

A lot of communities I've been part of have kept antagonistic or problematic entities along the guidelines of "well, they didn't technically break anything" to the detriment of everyone around them, so I'd like to be explicit in saying "no, if you're a shithead, you're gone. Total moderator discretion".

I'd probably be able to smooth this reply out with more time, but it's also almost 2:40 in the morning, so alas, bear with me.

@JMC47
Copy link
Contributor

JMC47 commented Dec 26, 2022

That's fine with me. I'm not exactly an expert opinion on this and my opinion isn't that strong on it.

@MayImilae
Copy link
Contributor

MayImilae commented Dec 26, 2022

I think we as a project are well behind having a code of conduct. Glad to see we're finally getting one! IMO, this is a pretty awesome CoC. It's very well worded and laid out! I don't have many comments to say about it, it's just a great CoC.

I concur that the consequences section should exist, but in a form that gives more freedom to allow trusted members to act quickly as needed. While not directly open source CoC experience, I have a lot of experience with moderation of various communities. A number of those communities had very complex rules of do X get Y punishment and frankly... it never worked well. Having loose internal guidelines for how to act in typical circumstances can be useful, but it should never be rigidly coded as "rules".

The way Asashi's consequences section is designed, it's meant to be a buffer to help prevent those in power from abusing newcomers. Though admirable, I think it is misguided. If someone high up in a project wants to be an ass to newcomers, they'll dance around rigid rules like they were nothing. I've seen it happen. In my experience, this kind of approach won't stop a bad actor from harming newcomers, and it limits the responsiveness of those with good intentions trying to deal with immediate threats. ...also Asashi's consequences section totally ignores the existence of spam, trolling, hate attacks, and just, the worst of the internet that needs to be dealt with rapidly and aggressively.

So imo, the consequences section, if we have one, should just say that trusted members will act as needed, and if there is a grievance, here's an email. This lets us act fast and gives trusted members the freedom to take care of external threats rapidly. Then the email is for internal CoC issues such as abuses and stuff from those on the inside.

As for how the consequences section should be worded, Contributor Covenant is a good reference.

EDIT: Basically I'm just recommending django's variant of this CoC. Maybe with some Contributor Covenant mixed in.

CODE_OF_CONDUCT.md Outdated Show resolved Hide resolved
@mbc07
Copy link
Member

mbc07 commented Dec 27, 2022

Just read the current version and all topics seems reasonable to me, nothing to add, LGTM...

This Code of Conduct is derived from
https://asahilinux.org/code-of-conduct/ and aims to apply to anything
Dolphin related where humans interact: bug tracker, github, IRC,
Discord, Forums, etc.
@delroth
Copy link
Member Author

delroth commented Dec 29, 2022

@lioncash @JosJuice @MayImilae PTAL.

We still need to figure out who should be on conduct@dolphin-emu.org. Are any of you interested?

(I would volunteer but also realize that I'm uhhhh not always the most well behaving person, as much as I try.)

@lioncash
Copy link
Member

I would be fine with being on it, but I'd also prefer if a second person were also on it as well, since I can be pretty busy some parts of the year and might not be able to reply to things as quick as I'd like.

@MayImilae
Copy link
Contributor

We should have a fair number of people on it so I'll volunteer as well.

@delroth
Copy link
Member Author

delroth commented Jan 1, 2023

For the sake of unblocking this I will start with the following list on conduct@dolphin-emu.org:

Subject to change if someone else volunteers.

Are there any remaining review comments from anyone? I'll leave this open for another day and merge tomorrow otherwise.

@delroth delroth marked this pull request as ready for review January 1, 2023 14:10
@delroth delroth changed the title RFC: Adopt a Code of Conduct for Dolphin. Adopt a Code of Conduct for Dolphin. Jan 1, 2023
@delroth delroth merged commit 6d95aa5 into dolphin-emu:master Jan 2, 2023
@delroth delroth deleted the coc branch January 2, 2023 10:15
Medard22 added a commit to Medard22/Dolphin-MMJR2-VBI that referenced this pull request Jul 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

8 participants