qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
@ 2021-03-31 15:05 Paolo Bonzini
  2021-03-31 15:47 ` Thomas Huth
                   ` (4 more replies)
  0 siblings, 5 replies; 22+ messages in thread
From: Paolo Bonzini @ 2021-03-31 15:05 UTC (permalink / raw)
  To: qemu-devel
  Cc: peter.maydell, Thomas Huth, berrange, agraf, stefanha,
	alex.bennee, afaerber

In an ideal world, we would all get along together very well, always be
polite and never end up in huge conflicts. And even if there are conflicts,
we would always handle each other fair and respectfully. Unfortunately,
this is not an ideal world and sometimes people forget how to interact with
each other in a professional and respectful way. Fortunately, this seldom
happens in the QEMU community, but for such rare cases it is preferrable
to have a basic code of conduct document available to show to people
who are misbehaving.  In case that does not help yet, we should also have
a conflict resolution policy ready that can be applied in the worst case.

The Code of Conduct document tries to be short and to the point while
trying to remain friendly and welcoming; it is based on the Fedora Code
of Conduct[1] with extra detail added based on the Contributor Covenant
1.3.0[2].  Other proposals included the Contributor Covenant 1.3.0 itself
or the Django Code of Conduct[3] (which is also a derivative of Fedora's)
but, in any case, there was agreement on keeping the conflict resolution
policy separate from the CoC itself.

An important point is whether to apply the code of conduct to violations
that occur outside public spaces.  The text herein restricts that to
individuals acting as a representative or a member of the project or
its community.  This is intermediate between the Contributor Covenant
(which only mentions representatives of the community, for example using
an official project e-mail address or posting via an official social media
account), and the Django Code of Conduct, which says that violations of
this code outside these spaces "may" be considered but does not limit
this further.

The conflict resolution policy is based on the Drupal Conflict Resolution
Policy[4] and its derivative, the Mozilla Consequence Ladder[5].

[1] https://www.fedoraproject.com/code-of-conduct/
[2] https://www.contributor-covenant.org/version/1/3/0/code-of-conduct/
[3] https://www.djangoproject.com/conduct/
[4] https://www.drupal.org/conflict-resolution
[5] https://github.com/mozilla/diversity/blob/master/code-of-conduct-enforcement/consequence-ladder.md

Co-developed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 docs/devel/code-of-conduct.rst     | 60 ++++++++++++++++++++++
 docs/devel/conflict-resolution.rst | 80 ++++++++++++++++++++++++++++++
 docs/devel/index.rst               |  2 +
 3 files changed, 142 insertions(+)
 create mode 100644 docs/devel/code-of-conduct.rst
 create mode 100644 docs/devel/conflict-resolution.rst

diff --git a/docs/devel/code-of-conduct.rst b/docs/devel/code-of-conduct.rst
new file mode 100644
index 0000000000..83e8855250
--- /dev/null
+++ b/docs/devel/code-of-conduct.rst
@@ -0,0 +1,60 @@
+Code of Conduct
+===============
+
+The QEMU community is made up of a mixture of professionals and
+volunteers from all over the world. Diversity is one of our strengths,
+but it can also lead to communication issues and unhappiness.
+To that end, we have a few ground rules that we ask people to adhere to.
+
+* Be welcoming. We are committed to making participation in this project
+  a harassment-free experience for everyone, regardless of level of
+  experience, gender, gender identity and expression, sexual orientation,
+  disability, personal appearance, body size, race, ethnicity, age, religion,
+  or nationality.
+
+* Be respectful. Not all of us will agree all the time.  Disagreements, both
+  social and technical, happen all the time and the QEMU community is no
+  exception. When we disagree, we try to understand why.  It is important that
+  we resolve disagreements and differing views constructively.  Members of the
+  QEMU community should be respectful when dealing with other contributors as
+  well as with people outside the QEMU community and with users of QEMU.
+
+Harassment and other exclusionary behavior are not acceptable. A community
+where people feel uncomfortable or threatened is neither welcoming nor
+respectful.  Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery
+
+* Personal attacks
+
+* Trolling or insulting/derogatory comments
+
+* Public or private harassment
+
+* Publishing other's private information, such as physical or electronic
+addresses, without explicit permission
+
+This isn't an exhaustive list of things that you can't do. Rather, take
+it in the spirit in which it's intended—a guide to make it easier to
+be excellent to each other.
+
+This code of conduct applies to all spaces managed by the QEMU project.
+This includes IRC, the mailing lists, the issue tracker, community
+events, and any other forums created by the project team which the
+community uses for communication. This code of conduct also applies
+outside these spaces, when an individual acts as a representative or a
+member of the project or its community.
+
+By adopting this code of conduct, project maintainers commit themselves
+to fairly and consistently applying these principles to every aspect of
+managing this project.  If you believe someone is violating the code of
+conduct, please read the +:ref:`conflict-resolution` document for
+information about how to proceed.
+
+Sources
+-------
+
+This document is based on the `Fedora Code of Conduct
+<https://fedoraproject.org/code-of-conduct>`__ and the
+`Contributor Covenant version 1.3.0
+<https://www.contributor-covenant.org/version/1/3/0/code-of-conduct/>`__.
diff --git a/docs/devel/conflict-resolution.rst b/docs/devel/conflict-resolution.rst
new file mode 100644
index 0000000000..1e0bb41674
--- /dev/null
+++ b/docs/devel/conflict-resolution.rst
@@ -0,0 +1,80 @@
+.. _conflict-resolution:
+
+Conflict Resolution Policy
+==========================
+
+Conflicts in the community can take many forms, from someone having a
+bad day and using harsh and hurtful language on the mailing list to more
+serious code of conduct violations (including sexist/racist statements
+or threats of violence), and everything in between.
+
+For the vast majority of issues, we aim to empower individuals to first
+resolve conflicts themselves, asking for help when needed, and only
+after that fails to escalate further. This approach gives people more
+control over the outcome of their dispute.
+
+How we resolve conflicts
+------------------------
+
+If you are experiencing conflict, please consider first addressing the
+perceived conflict directly with other involved parties, preferably through
+a real-time medium such as IRC. You could also try to get a third-party (e.g.
+a mutual friend, and/or someone with background on the issue, but not
+involved in the conflict) to intercede or mediate.
+
+If this fails or if you do not feel comfortable proceeding this way, or
+if the problem requires immediate escalation, report the issue to the QEMU
+leadership committee by sending an email to qemu@sfconservancy.org, providing
+references to the misconduct.
+For very urgent topics, you can also inform one or more members through IRC.
+The up-to-date list of members is `available on the QEMU wiki
+<https://wiki.qemu.org/Conservancy>`__.
+
+Your report will be treated confidentially by the leadership committee and
+not be published without your agreement. The QEMU leadership committee will
+then do its best to review the incident timely, and will either seek further
+information, or will make a determination on next steps.
+
+Remedies
+--------
+
+Escalating an issue to the QEMU leadership committee may result in actions
+impacting one or more involved parties. In the event the leadership
+committee has to intervene, here are some of the ways they might respond:
+
+1. Take no action. For example, if the leadership committee determines
+   the complaint has not been substantiated or is being made in bad faith,
+   or if it is deemed to be outside its purview.
+
+2. A private reprimand, explaining the consequences of continued behavior,
+   to one or more involved individuals.
+
+3. A private reprimand and request for a private or public apology
+
+4. A public reprimand and request for a public apology
+
+5. A public reprimand plus a mandatory cooling off period. The cooling
+   off period may require, for example, one or more of the following:
+   abstaining from maintainer duties; not interacting with people involved,
+   including unsolicited interaction with those enforcing the guidelines
+   and interaction on social media; being denied participation to in-person
+   events.  The cooling off period is voluntary but may escalate to a
+   temporary ban in order to enforce it.
+
+6. A temporary or permanent ban from some or all current and future QEMU
+   spaces (mailing lists, IRC, wiki, etc.), possibly including in-person
+   events.
+
+In the event of severe harassment, the leadership committee may advise that
+the matter be escalated to the relevant local law enforcement agency. It
+is however not the role of the leadership committee to initiate contact
+with law enforcement on behalf of any of the community members involved
+in an incident.
+
+Sources
+-------
+
+This document was developed based on the `Drupal Conflict Resolution
+Policy and Process <https://www.drupal.org/conflict-resolution>`__
+and the `Mozilla Consequence Ladder
+<https://github.com/mozilla/diversity/blob/master/code-of-conduct-enforcement/consequence-ladder.md>`__
diff --git a/docs/devel/index.rst b/docs/devel/index.rst
index 7c424ea6d7..416261505f 100644
--- a/docs/devel/index.rst
+++ b/docs/devel/index.rst
@@ -14,6 +14,8 @@ Contents:
    :maxdepth: 2
    :includehidden:
 
+   code-of-conduct
+   conflict-resolution
    build-system
    style
    kconfig
-- 
2.30.1



^ permalink raw reply related	[flat|nested] 22+ messages in thread
* [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
@ 2021-03-29 18:01 Thomas Huth
  2021-03-29 18:33 ` Daniel P. Berrangé
  0 siblings, 1 reply; 22+ messages in thread
From: Thomas Huth @ 2021-03-29 18:01 UTC (permalink / raw)
  To: qemu-devel, Paolo Bonzini, Stefan Hajnoczi, Alex Bennée,
	Andreas Färber, Alexander Graf, Peter Maydell

In an ideal world, we would all get along together very well, always be
polite and never end up in huge conflicts. And even if there are conflicts,
we would always handle each other fair and respectfully. Unfortunately,
this is not an ideal world and sometimes people forget how to interact with
each other in a professional and respectful way. Fortunately, this rarely
happens in the QEMU community, but still there are such rare cases, and
then it would be good to have a basic code of conduct document available
that can be shown to persons who are misbehaving. And if that does not help
yet, we should also have a conflict resolution policy ready that can be
applied in the worst case.

The Code of Conduct document is based on the Django Code of Conduct
(https://www.djangoproject.com/conduct/) and the conflict resolution
has been assembled by Paolo, based on the Drupal Conflict Resolution Policy
(https://www.drupal.org/conflict-resolution) and the Mozilla Consequence Ladder
(https://github.com/mozilla/diversity/blob/master/code-of-conduct-enforcement/consequence-ladder.md)

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 Discussion about a Code of Conduct already started off-list last summer,
 but it unfortunately ceased without a result. Let's have another try
 now by discussing this suggestion publically. I've picked the Django Code
 of Conduct as a base, since it sounds rather friendly and still welcoming
 to me, but I'm open for other suggestions, too.

 docs/devel/code-of-conduct.rst     | 85 ++++++++++++++++++++++++++++++
 docs/devel/conflict-resolution.rst | 85 ++++++++++++++++++++++++++++++
 docs/devel/index.rst               |  2 +
 3 files changed, 172 insertions(+)
 create mode 100644 docs/devel/code-of-conduct.rst
 create mode 100644 docs/devel/conflict-resolution.rst

diff --git a/docs/devel/code-of-conduct.rst b/docs/devel/code-of-conduct.rst
new file mode 100644
index 0000000000..050dbd9e16
--- /dev/null
+++ b/docs/devel/code-of-conduct.rst
@@ -0,0 +1,85 @@
+Code of Conduct
+===============
+
+Like the technical community as a whole, the QEMU community is made up of a
+mixture of professionals and volunteers from all over the world.
+Diversity is one of our huge strengths, but it can also lead to communication
+issues and unhappiness. To that end, we have a few ground rules that we ask
+people to adhere to. This code applies equally to founders, maintainers,
+contributors, mentors and those seeking help and guidance.
+
+This isn't an exhaustive list of things that you can't do. Rather, take it in
+the spirit in which it's intended - a guide to make it easier to enrich all of
+us and the technical communities in which we participate:
+
+* Be friendly and patient.
+
+* Be welcoming. We strive to be a community that welcomes and supports people
+  of all backgrounds and identities. This includes, but is not limited to
+  members of any race, ethnicity, culture, national origin, colour, immigration
+  status, social and economic class, educational level, sex, sexual orientation,
+  gender identity and expression, age, size, family status, political belief,
+  religion, and mental and physical ability.
+
+* Be considerate. Your work will be used by other people, and you in turn will
+  depend on the work of others. Any decision you take will affect users and
+  colleagues, and you should take those consequences into account when making
+  decisions. Remember that we're a world-wide community, so you might not be
+  communicating in someone else's primary language.
+
+* Be respectful. Not all of us will agree all the time, but disagreement is no
+  excuse for poor behavior and poor manners. We might all experience some
+  frustration now and then, but we cannot allow that frustration to turn into
+  a personal attack. It's important to remember that a community where people
+  feel uncomfortable or threatened is not a productive one. Members of the QEMU
+  community should be respectful when dealing with other members as well as
+  with people outside the QEMU community.
+
+* Be careful in the words that you choose. We are a community of professionals,
+  and we conduct ourselves professionally. Be kind to others. Do not insult or
+  put down other participants. Harassment and other exclusionary behavior
+  aren't acceptable. This includes, but is not limited to:
+
+  * Violent threats or language directed against another person.
+
+  * Discriminatory jokes and language.
+
+  * Posting sexually explicit or violent material.
+
+  * Posting (or threatening to post) other people's personally identifying
+    information ("doxing").
+
+  * Personal insults, especially those using racist or sexist terms.
+
+  * Unwelcome sexual attention.
+
+  * Advocating for, or encouraging, any of the above behavior.
+
+  * Repeated harassment of others. In general, if someone asks you to stop,
+    then stop.
+
+* When we disagree, try to understand why. Disagreements, both social and
+  technical, happen all the time and our project is no exception. It is
+  important that we resolve disagreements and differing views constructively.
+  Remember that we're different. The strength of our project comes from its
+  varied community, people from a wide range of backgrounds. Different people
+  have different perspectives on issues. Being unable to understand why someone
+  holds a viewpoint doesn't mean that they're wrong. Don't forget that it is
+  human to err and blaming each other doesn't get us anywhere. Instead, focus
+  on helping to resolve issues and learning from mistakes.
+
+This code of conduct applies to all spaces managed by the QEMU project. This
+includes IRC, the mailing lists, the issue tracker, community events, and any
+other forums created by the project team which the community uses for
+communication. In addition, violations of this code outside these spaces may
+affect a person's ability to participate within them.
+
+If you believe someone is violating the code of conduct, please read the
+:ref:`conflict-resolution` document for information about how to proceed.
+
+This document is based on the `Django Code of Conduct
+<https://www.djangoproject.com/conduct/>`__, with original text courtesy of the
+`Speak Up! project
+<http://web.archive.org/web/20141109123859/http://speakup.io/coc.html>`__
+(`CC BY 3.0 <https://creativecommons.org/licenses/by/3.0/>`__).
+
diff --git a/docs/devel/conflict-resolution.rst b/docs/devel/conflict-resolution.rst
new file mode 100644
index 0000000000..4eb4fb45df
--- /dev/null
+++ b/docs/devel/conflict-resolution.rst
@@ -0,0 +1,85 @@
+.. _conflict-resolution:
+
+Conflict Resolution Policy
+==========================
+
+Conflicts in the community can take many forms, from someone having a
+bad day and using harsh and hurtful language on the mailing list to more
+serious code of conduct violations (including sexist/racist statements
+or threats of violence), and everything in between.
+
+For the vast majority of issues, we aim to empower individuals to first
+resolve conflicts themselves, asking for help when needed, and only
+after that fails to escalate further. This approach gives people more
+control over the outcome of their dispute.
+
+How we resolve conflicts
+------------------------
+
+If you are experiencing conflict, you should first address the perceived
+conflict directly with other involved parties, preferably through a
+real-time medium such as IRC. If this fails, get a third-party (e.g. a
+mutual friend, and/or someone with background on the issue, but not
+involved in the conflict) to intercede or mediate.
+
+If you are witnessing conflict, you should also first try to address it
+directly by interceding or mediating between the involved parties.
+
+If a good faith effort towards resolving the conflict fails,
+escalate to the QEMU leadership committee by sending email at
+qemu@sfconservancy.org. It is strongly suggested to include evidence of
+past effort towards resolving the conflict.
+
+The QEMU leadership committee will do its best to review the incident
+timely, and will either seek further information, or will make a
+determination on next steps.
+
+Note: If the behaviour is threatening/harassing and requires immediate
+escalation, contact the QEMU leadership committee immediately before
+trying other steps, and possibly inform one or more members through IRC.
+The up-to-date list of members is `available on the QEMU wiki
+<https://wiki.qemu.org/Conservancy>`__.
+
+Remedies
+--------
+
+Escalating an issue to the QEMU leadership committee may result in actions
+impacting one or more involved parties. In the event the leadership
+committee has to intervene, here are some of the ways they might respond:
+
+1. Take no action. For example, if the leadership committee determines
+the complaint has not been substantiated or is being made in bad faith,
+or if it is deemed to be outside its purview.
+
+2. A private reprimand, explaining the consequences of continued behavior,
+to one or more involved individuals.
+
+3. A private reprimand and request for a private or public apology
+
+4. A public reprimand and request for a public apology
+
+5. A public reprimand plus a mandatory cooling off period. The cooling
+off period may require, for example, one or more of the following:
+abstaining from maintainer duties; not interacting with people involved,
+including unsolicited interaction with those enforcing the guidelines
+and interaction on social media; being denied participation to in-person
+events.  The cooling off period is voluntary but may escalate to a
+temporary ban in order to enforce it.
+
+6. A permanent or temporary ban from some or all QEMU spaces (mailing
+lists, IRC, wiki, etc.). The group will maintain records of all such
+bans so that they may be reviewed in the future, extended to new fora,
+or otherwise maintained.
+
+In the event of severe harassment, the leadership comittee may advise that
+the matter be escalated to the relevant local law enforcement agency. It
+is however not the role of the leadership comittee to initiate contact
+with law enforcement on behalf of any of the community members involved
+in an incident.
+
+Sources
+-------
+
+* `Drupal Conflict Resolution Policy and Process <https://www.drupal.org/conflict-resolution>`__
+
+* `Mozilla Consequence Ladder <https://github.com/mozilla/diversity/blob/master/code-of-conduct-enforcement/consequence-ladder.md>`__
diff --git a/docs/devel/index.rst b/docs/devel/index.rst
index 7c424ea6d7..416261505f 100644
--- a/docs/devel/index.rst
+++ b/docs/devel/index.rst
@@ -14,6 +14,8 @@ Contents:
    :maxdepth: 2
    :includehidden:
 
+   code-of-conduct
+   conflict-resolution
    build-system
    style
    kconfig
-- 
2.27.0



^ permalink raw reply related	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2021-04-13 21:26 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-31 15:05 [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document Paolo Bonzini
2021-03-31 15:47 ` Thomas Huth
2021-03-31 16:11   ` Paolo Bonzini
2021-03-31 17:01 ` David Edmondson
2021-03-31 19:12 ` Alex Bennée
2021-04-07 10:23 ` Kevin Wolf
2021-04-07 13:35   ` Alex Bennée
2021-04-07 15:42     ` Kevin Wolf
2021-04-07 16:03       ` Daniel P. Berrangé
2021-04-10  6:29         ` Thomas Huth
2021-04-13  7:42       ` Paolo Bonzini
2021-04-13 10:23         ` Andreas Färber
2021-04-13 10:24           ` Peter Maydell
2021-04-13 11:41             ` Markus Armbruster
2021-04-13 16:25 ` Daniel P. Berrangé
2021-04-13 21:16   ` Paolo Bonzini
  -- strict thread matches above, loose matches on Subject: below --
2021-03-29 18:01 Thomas Huth
2021-03-29 18:33 ` Daniel P. Berrangé
2021-03-29 20:59   ` Paolo Bonzini
2021-03-30  7:13     ` Thomas Huth
2021-03-30  9:59       ` Paolo Bonzini
2021-03-30  8:18     ` Daniel P. Berrangé

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).