Writing a project Code of Conduct
Hi,
Quoted 21 lines · Heinrich Schuchardt
Quoted 12 lines · Mattijs Korpershoek
Hi Tom,
Quoted 7 lines · Tom Rini
Hey all,
Getting back on track with project administrative tasks, one thing I have talked about the project needing for some time is a code of conduct. In my mind, the best starting point here is, are there code of conducts in other projects that people use and they feel would be a good example for us to adopt? Thanks!
Quoted 7 lines
Have you considered the Contributor Covenant Code of Conduct? That's the one Linux uses, see:
https://docs.kernel.org/process/code-of-conduct.htmlQuoted 3 lines
Signature · 2 lines
-- Tom
Quoted 6 lines
https://policies.python.org/python.org/code-of-conduct/
is another reasonable code of conduct.Best regards
Heinrich
Yes I think either the Contributor Covenant or the Python Code of Conduct should do here. What is good about both of them is that they both give examples of appropriate and inappropriate behavior, while not being exhaustive and leaving a bit of room for the people responsible to enforce it...
...speaking of that:
Having a CoC is definitely a step in the right direction and I applaud the effort towards making that happen. However, I think what should also be talked about at the same time is its enforcement. Of course, it is easy to just "slap" a code of conduct to the project, but actually enforcing it, that is easier said than done.
Ideally there should be a "CoC team" that would have the responsibility of dealing with conflicts between community members. That team does not necessarily have to be comprised of people from the PLC (although having at least 1 or 2 people with access to infrastructure would be helpful, should there be a need to, for example, block an individual).
It also does not have to be very big (honestly depends on the size of the whole community and how many CoC cases come up, but 3-5 people is already a good start) I highly recommend seeking CoC training for these team members in order to be better prepared to handle cases. It's not usually free, but it is worth it IMO. I also think it would be preferred to have people from diverse cultural backgrounds in that team.
These people would have their contact info public, so people can privately contact them in case of issues. (and I've seen in many communities that they have a coc@ email alias that goes to all CoC members, that is also a good thing to have, but people should also be able to contact a member privately)
Also another thing that is actually mentioned in both CoCs (kernel/Python) is confidentiality. This forms some kind of trust between reporters and the team, so they know they won't be exposed (and in turn potentially harassed). Sorry if that one seems obvious, but I think it's quite important to highlight that. Of course, in the interest of being somewhat transparent, the team can publish so-called "transparency reports" where the team can talk about each individual case while not going into too much detail to preserve reporter anonymity (see [1] for an example - disclaimer: I am a Nura/pmOS team member).
Finally, the space in which the code of conduct applies should be made clear. That is mentioned in the PSF CoC ("Scope" [2]), I think this question is not all that hard to answer. I would guess: (1) u-boot-project ML, (2) #u-boot IRC channel,
(3) u-boot custodian spaces? I don't feel strongly about that, you should define it however it makes sense. But it really helps so people know where the CoC applies and where it doesn't. Of course, it doesn't prevent the team from acting on seriously inappropriate behavior outside the community from a community member.
So these are my thoughts on the whole thing. It does take quite a bit of organisation and work. It is worth it? IMO absolutely :)
Thanks for reading through all this!
[1]: https://docs.nura.eco/policies-and-processes/community/code-of-conduct/transparency-reports.html
[2]: https://policies.python.org/python.org/code-of-conduct/#scope
Best regards,
Ferass