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	[flat|nested] 22+ messages in thread

* Re: [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
  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
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 22+ messages in thread
From: Thomas Huth @ 2021-03-31 15:47 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: peter.maydell, berrange, agraf, stefanha, alex.bennee, afaerber

On 31/03/2021 17.05, Paolo Bonzini wrote:
> 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

s/intended—a/intended — a/

With that fixed:

Reviewed-by: Thomas Huth <thuth@redhat.com>

Thanks for putting this together!


> +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
> 



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

* Re: [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
  2021-03-31 15:47 ` Thomas Huth
@ 2021-03-31 16:11   ` Paolo Bonzini
  0 siblings, 0 replies; 22+ messages in thread
From: Paolo Bonzini @ 2021-03-31 16:11 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Maydell, Peter, P. Berrange, Daniel, qemu-devel, Graf, Alexander,
	Hajnoczi, Stefan, Alex Bennée, afaerber

[-- Attachment #1: Type: text/plain, Size: 6544 bytes --]

Il mer 31 mar 2021, 17:48 Thomas Huth <thuth@redhat.com> ha scritto:

> > +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
>
> s/intended—a/intended — a/
>

It looks ugly in monospace but it's the way em dashes are typically
formatted. The appropriate spacing is usually included in the font.

But a colon is even better than an em dash here. :) I'll keep your
Reviewed-by and wait anyway for others to chip in.

Paolo


> With that fixed:
>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
>
> Thanks for putting this together!
>
>
> > +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
> >
>
>

[-- Attachment #2: Type: text/html, Size: 8660 bytes --]

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

* Re: [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
  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 17:01 ` David Edmondson
  2021-03-31 19:12 ` Alex Bennée
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 22+ messages in thread
From: David Edmondson @ 2021-03-31 17:01 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: peter.maydell, Thomas Huth, berrange, agraf, stefanha,
	alex.bennee, afaerber

On Wednesday, 2021-03-31 at 17:05:27 +02, Paolo Bonzini wrote:

> 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

s/timely/in a timely manner/ ?

> +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

dme.
-- 
I got a girlfriend that's better than that.


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

* Re: [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
  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 17:01 ` David Edmondson
@ 2021-03-31 19:12 ` Alex Bennée
  2021-04-07 10:23 ` Kevin Wolf
  2021-04-13 16:25 ` Daniel P. Berrangé
  4 siblings, 0 replies; 22+ messages in thread
From: Alex Bennée @ 2021-03-31 19:12 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: peter.maydell, Thomas Huth, berrange, qemu-devel, agraf,
	stefanha, afaerber


Paolo Bonzini <pbonzini@redhat.com> writes:

<snip>
> +
> +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.

I think a colon might work better here:

  Rather, take it in the spirit in which it's intended: a guide to make it
  easier to be excellent to each other.

Other that that all looks good to me.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

-- 
Alex Bennée


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

* Re: [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
  2021-03-31 15:05 [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document Paolo Bonzini
                   ` (2 preceding siblings ...)
  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-13 16:25 ` Daniel P. Berrangé
  4 siblings, 1 reply; 22+ messages in thread
From: Kevin Wolf @ 2021-04-07 10:23 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: peter.maydell, Thomas Huth, berrange, qemu-devel, agraf,
	stefanha, alex.bennee, afaerber

Am 31.03.2021 um 17:05 hat Paolo Bonzini geschrieben:
> +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

"Electronic addresses"? No more Cc: in emails without asking for
explicit permission first in each case, especially when looping in
people who are not subscribed to the list? And the same for attribution
in commits (turning informal statements into Reported-by, Acked-by
etc.)? Links to git repositories of other people?

I'm sure that this is not what was intended, but it's pretty clearly the
implication of what is written here.

(This kind of "bugs" is one of the reasons why I'm not a huge fan of
written rules instead of trusting the judgement of community leaders.
In the communities I am involved in, I can't remember many cases where
they actually helped to resolve conflicts, but I can remember many
unproductive discussions about how to interpret the written text and
what it does and doesn't cover.)

Kevin



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

* Re: [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
  2021-04-07 10:23 ` Kevin Wolf
@ 2021-04-07 13:35   ` Alex Bennée
  2021-04-07 15:42     ` Kevin Wolf
  0 siblings, 1 reply; 22+ messages in thread
From: Alex Bennée @ 2021-04-07 13:35 UTC (permalink / raw)
  To: Kevin Wolf
  Cc: peter.maydell, Thomas Huth, berrange, qemu-devel, agraf,
	stefanha, Paolo Bonzini, afaerber


Kevin Wolf <kwolf@redhat.com> writes:

> Am 31.03.2021 um 17:05 hat Paolo Bonzini geschrieben:
>> +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
>
> "Electronic addresses"? No more Cc: in emails without asking for
> explicit permission first in each case, especially when looping in
> people who are not subscribed to the list? And the same for attribution
> in commits (turning informal statements into Reported-by, Acked-by
> etc.)? Links to git repositories of other people?
>
> I'm sure that this is not what was intended, but it's pretty clearly the
> implication of what is written here.

I'm pretty sure emails used to post to public mailing lists (or used in
a dco tag) are considered public pieces of information. I read the above
as covering things that are not public such as private email addresses
or chat ids and the likes.

> (This kind of "bugs" is one of the reasons why I'm not a huge fan of
> written rules instead of trusting the judgement of community leaders.
> In the communities I am involved in, I can't remember many cases where
> they actually helped to resolve conflicts, but I can remember many
> unproductive discussions about how to interpret the written text and
> what it does and doesn't cover.)

Well we don't have to start here ;-)

We explicitly try to avoid rules lawyering with the very next statement:

  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.

-- 
Alex Bennée


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

* Re: [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
  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-13  7:42       ` Paolo Bonzini
  0 siblings, 2 replies; 22+ messages in thread
From: Kevin Wolf @ 2021-04-07 15:42 UTC (permalink / raw)
  To: Alex Bennée
  Cc: peter.maydell, Thomas Huth, berrange, qemu-devel, agraf,
	stefanha, Paolo Bonzini, afaerber

Am 07.04.2021 um 15:35 hat Alex Bennée geschrieben:
> Kevin Wolf <kwolf@redhat.com> writes:
> > Am 31.03.2021 um 17:05 hat Paolo Bonzini geschrieben:
> >> +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
> >
> > "Electronic addresses"? No more Cc: in emails without asking for
> > explicit permission first in each case, especially when looping in
> > people who are not subscribed to the list? And the same for attribution
> > in commits (turning informal statements into Reported-by, Acked-by
> > etc.)? Links to git repositories of other people?
> >
> > I'm sure that this is not what was intended, but it's pretty clearly the
> > implication of what is written here.
> 
> I'm pretty sure emails used to post to public mailing lists (or used
> in a dco tag) are considered public pieces of information. I read the
> above as covering things that are not public such as private email
> addresses or chat ids and the likes.

Yes, it's pretty clear that I'm not publishing new information about
people when I'm keeping them in Cc: when replying to a thread, or even
when they posted in another thread on the list recently. It becomes much
less clear for adding people who aren't usually part of the QEMU
community.

> > (This kind of "bugs" is one of the reasons why I'm not a huge fan of
> > written rules instead of trusting the judgement of community leaders.
> > In the communities I am involved in, I can't remember many cases where
> > they actually helped to resolve conflicts, but I can remember many
> > unproductive discussions about how to interpret the written text and
> > what it does and doesn't cover.)
> 
> Well we don't have to start here ;-)
> 
> We explicitly try to avoid rules lawyering with the very next statement:
> 
>   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.

Right, though it doesn't make any of the above rules any less strict. It
just tells me that I'm still in danger even if I follow the explicitly
mentioned things.

This might be the worst of both worlds: We explicitly threaten people
with consequences if they don't keep the rules, but then we don't tell
them what the rules even are and say they should use common sense
("you'll find out what the rules were when we punish you for breaking
them").

I _think_ I'm usually not misbehaving, but how can I know for sure that
others have the same impression? For me, this creates a situation of
uncertainty, and uncertainty makes me feel uneasy. Maybe I'm the only
one, though, and the benefits outweigh my uneasiness.

Kevin



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

* Re: [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
  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
  1 sibling, 1 reply; 22+ messages in thread
From: Daniel P. Berrangé @ 2021-04-07 16:03 UTC (permalink / raw)
  To: Kevin Wolf
  Cc: peter.maydell, Thomas Huth, qemu-devel, agraf, stefanha,
	Paolo Bonzini, Alex Bennée, afaerber

On Wed, Apr 07, 2021 at 05:42:01PM +0200, Kevin Wolf wrote:
> Am 07.04.2021 um 15:35 hat Alex Bennée geschrieben:
> > Kevin Wolf <kwolf@redhat.com> writes:
> > > Am 31.03.2021 um 17:05 hat Paolo Bonzini geschrieben:
> > >> +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
> > >
> > > "Electronic addresses"? No more Cc: in emails without asking for
> > > explicit permission first in each case, especially when looping in
> > > people who are not subscribed to the list? And the same for attribution
> > > in commits (turning informal statements into Reported-by, Acked-by
> > > etc.)? Links to git repositories of other people?
> > >
> > > I'm sure that this is not what was intended, but it's pretty clearly the
> > > implication of what is written here.
> > 
> > I'm pretty sure emails used to post to public mailing lists (or used
> > in a dco tag) are considered public pieces of information. I read the
> > above as covering things that are not public such as private email
> > addresses or chat ids and the likes.
> 
> Yes, it's pretty clear that I'm not publishing new information about
> people when I'm keeping them in Cc: when replying to a thread, or even
> when they posted in another thread on the list recently. It becomes much
> less clear for adding people who aren't usually part of the QEMU
> community.
> 
> > > (This kind of "bugs" is one of the reasons why I'm not a huge fan of
> > > written rules instead of trusting the judgement of community leaders.
> > > In the communities I am involved in, I can't remember many cases where
> > > they actually helped to resolve conflicts, but I can remember many
> > > unproductive discussions about how to interpret the written text and
> > > what it does and doesn't cover.)
> > 
> > Well we don't have to start here ;-)
> > 
> > We explicitly try to avoid rules lawyering with the very next statement:
> > 
> >   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.
> 
> Right, though it doesn't make any of the above rules any less strict. It
> just tells me that I'm still in danger even if I follow the explicitly
> mentioned things.
> 
> This might be the worst of both worlds: We explicitly threaten people
> with consequences if they don't keep the rules, but then we don't tell
> them what the rules even are and say they should use common sense
> ("you'll find out what the rules were when we punish you for breaking
> them").
> 
> I _think_ I'm usually not misbehaving, but how can I know for sure that
> others have the same impression? For me, this creates a situation of
> uncertainty, and uncertainty makes me feel uneasy. Maybe I'm the only
> one, though, and the benefits outweigh my uneasiness.

I think you need to bear in mind that we're not using some crude AI
to apply blind enforcement of rules. The people responsible for any 
enforcement have the ability to apply common sense to situation and so
aren't likely to take action if someone complains about "publishing" an
email address by adding it to a CC on a thread / git commit message.

Similarly if you think you are not misbehaving, then almost always
that will indeed be the case. If someone did happen to disagree though,
then the CoC sets out a process for resolving the situation and that
process doesn't have to result in action being taken. It could easily
simply be a case of explaining a mis-understanding between two people,
and hopefully that would even be the common case.


If we don't have any CoC then that creates much worse uncertainty because
people who are on the receiving end of bad behaviour will have no idea
whether the QEMU project as a whole even cares about it, or whether it
is the kind of thing that will lead to action being taken, or whom to
talk to about it.

A CoC isn't going to magically stop all bad behaviour, but it does give
the victims clarity of what the expected standards of decency are, and
how to handle the situations. It also gives QEMU community members in
general confidence in speaking up if they see bad behaviour, instead of
having to wait for some senior project member to see the issue and take
action. We've been lucky in the past that when bad situations have arisen
on qemu-devel, the right senior people happened to be online and dealt
with it, but I would rather we had had a CoC then, that made it clearer.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



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

* Re: [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
  2021-04-07 16:03       ` Daniel P. Berrangé
@ 2021-04-10  6:29         ` Thomas Huth
  0 siblings, 0 replies; 22+ messages in thread
From: Thomas Huth @ 2021-04-10  6:29 UTC (permalink / raw)
  To: Daniel P. Berrangé, Kevin Wolf
  Cc: peter.maydell, qemu-devel, agraf, stefanha, Paolo Bonzini,
	Alex Bennée, afaerber

On 07/04/2021 18.03, Daniel P. Berrangé wrote:
> On Wed, Apr 07, 2021 at 05:42:01PM +0200, Kevin Wolf wrote:
>> Am 07.04.2021 um 15:35 hat Alex Bennée geschrieben:
>>> Kevin Wolf <kwolf@redhat.com> writes:
>>>> Am 31.03.2021 um 17:05 hat Paolo Bonzini geschrieben:
>>>>> +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
>>>>
>>>> "Electronic addresses"? No more Cc: in emails without asking for
>>>> explicit permission first in each case, especially when looping in
>>>> people who are not subscribed to the list? And the same for attribution
>>>> in commits (turning informal statements into Reported-by, Acked-by
>>>> etc.)? Links to git repositories of other people?
>>>>
>>>> I'm sure that this is not what was intended, but it's pretty clearly the
>>>> implication of what is written here.
>>>
>>> I'm pretty sure emails used to post to public mailing lists (or used
>>> in a dco tag) are considered public pieces of information. I read the
>>> above as covering things that are not public such as private email
>>> addresses or chat ids and the likes.
>>
>> Yes, it's pretty clear that I'm not publishing new information about
>> people when I'm keeping them in Cc: when replying to a thread, or even
>> when they posted in another thread on the list recently. It becomes much
>> less clear for adding people who aren't usually part of the QEMU
>> community.
>>
>>>> (This kind of "bugs" is one of the reasons why I'm not a huge fan of
>>>> written rules instead of trusting the judgement of community leaders.
>>>> In the communities I am involved in, I can't remember many cases where
>>>> they actually helped to resolve conflicts, but I can remember many
>>>> unproductive discussions about how to interpret the written text and
>>>> what it does and doesn't cover.)
>>>
>>> Well we don't have to start here ;-)
>>>
>>> We explicitly try to avoid rules lawyering with the very next statement:
>>>
>>>    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.
>>
>> Right, though it doesn't make any of the above rules any less strict. It
>> just tells me that I'm still in danger even if I follow the explicitly
>> mentioned things.
>>
>> This might be the worst of both worlds: We explicitly threaten people
>> with consequences if they don't keep the rules, but then we don't tell
>> them what the rules even are and say they should use common sense
>> ("you'll find out what the rules were when we punish you for breaking
>> them").
>>
>> I _think_ I'm usually not misbehaving, but how can I know for sure that
>> others have the same impression? For me, this creates a situation of
>> uncertainty, and uncertainty makes me feel uneasy. Maybe I'm the only
>> one, though, and the benefits outweigh my uneasiness.

The docs clearly say that if others feel that there is a conflict with you, 
they should try to clarify that problem with you directly first. So unless 
there is someone already repetively complaining about your behavior, just 
relax, there is nothing to worry about.

> I think you need to bear in mind that we're not using some crude AI
> to apply blind enforcement of rules. The people responsible for any
> enforcement have the ability to apply common sense to situation and so
> aren't likely to take action if someone complains about "publishing" an
> email address by adding it to a CC on a thread / git commit message.

Right. I trust the QEMU leadership committee with their judgement.

> If we don't have any CoC then that creates much worse uncertainty because
> people who are on the receiving end of bad behaviour will have no idea
> whether the QEMU project as a whole even cares about it, or whether it
> is the kind of thing that will lead to action being taken, or whom to
> talk to about it.

Right. That's the point. If someone is really, really misbehaving, we also 
need a way to show them the door. This is only a last resort, of course, but 
if someone is really behaving like a complete jerk, we need a way to say: 
Look, that's not the way how we want to interact with each other in the QEMU 
community, and if you don't change your attitude, there might be consequences.

  Thomas



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

* Re: [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
  2021-04-07 15:42     ` Kevin Wolf
  2021-04-07 16:03       ` Daniel P. Berrangé
@ 2021-04-13  7:42       ` Paolo Bonzini
  2021-04-13 10:23         ` Andreas Färber
  1 sibling, 1 reply; 22+ messages in thread
From: Paolo Bonzini @ 2021-04-13  7:42 UTC (permalink / raw)
  To: Kevin Wolf, Alex Bennée
  Cc: peter.maydell, Thomas Huth, berrange, qemu-devel, agraf,
	stefanha, afaerber

On 07/04/21 17:42, Kevin Wolf wrote:
>> +* Publishing other's private information, such as physical or electronic
>> +addresses, without explicit permission
>
> Yes, it's pretty clear that I'm not publishing new information about
> people when I'm keeping them in Cc: when replying to a thread, or even
> when they posted in another thread on the list recently. It becomes much
> less clear for adding people who aren't usually part of the QEMU
> community.

If you took the email from, say, the Libvirt or kernel mailing lists, 
that would not be considered private.  If somebody has two email 
addresses and you deliberately Cc him on an address that he's only using 
for communications within his family, that would be a problem.

I agree that this doxing is unlikely to happen since our communication 
revolves on email and we generally don't accept pseudonymous 
contributions.  But even there, we have had historically a couple 
exceptions to the no-pseudonyms rule.

Paolo



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

* Re: [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
  2021-04-13  7:42       ` Paolo Bonzini
@ 2021-04-13 10:23         ` Andreas Färber
  2021-04-13 10:24           ` Peter Maydell
  0 siblings, 1 reply; 22+ messages in thread
From: Andreas Färber @ 2021-04-13 10:23 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Kevin Wolf, peter.maydell, Thomas Huth, berrange, qemu-devel,
	agraf, stefanha, Alex Bennée

Hi Paolo,

On 13.04.21 09:42, Paolo Bonzini wrote:
> On 07/04/21 17:42, Kevin Wolf wrote:
>>> +* Publishing other's private information, such as physical or
>>> electronic
>>> +addresses, without explicit permission
>>
>> Yes, it's pretty clear that I'm not publishing new information about
>> people when I'm keeping them in Cc: when replying to a thread, or even
>> when they posted in another thread on the list recently. It becomes much
>> less clear for adding people who aren't usually part of the QEMU
>> community.
> 
> If you took the email from, say, the Libvirt or kernel mailing lists,
> that would not be considered private.  If somebody has two email
> addresses and you deliberately Cc him on an address that he's only using
> for communications within his family, that would be a problem.

I have to admit I had originally stumbled over this bullet point myself,
reading it as private=personal. So maybe it might help avoid ambiguities
for non-native readers to formulate it as "non-public" instead?

Like, if someone posts to a public mailing list with their private as
opposed to business address in the footer. Then I would consider it
public. I did intentionally use a private email for topics such as PReP.

Or consider the case you get a bug report not copied to the public
mailing lists from someone you don't know. Then I would still expect to
be allowed to attribute a commit via Reported-by/CC to that person, as
it seems in his/her interest to get the bug fixed and be notified,
unless explicitly requested otherwise.

Mistakes can always happen, but I feel it needs to be the responsibility
of the sender, not of the receiver, to ensure that only data is shared
that the project members may use for valid development purposes.

Not sure how to extend that bullet point to make its purpose/scope clearer.

Cheers,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)


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

* Re: [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
  2021-04-13 10:23         ` Andreas Färber
@ 2021-04-13 10:24           ` Peter Maydell
  2021-04-13 11:41             ` Markus Armbruster
  0 siblings, 1 reply; 22+ messages in thread
From: Peter Maydell @ 2021-04-13 10:24 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Kevin Wolf, Thomas Huth, Daniel P. Berrange, QEMU Developers,
	Alexander Graf, Stefan Hajnoczi, Paolo Bonzini, Alex Bennée

On Tue, 13 Apr 2021 at 11:23, Andreas Färber <afaerber@suse.de> wrote:
> Or consider the case you get a bug report not copied to the public
> mailing lists from someone you don't know. Then I would still expect to
> be allowed to attribute a commit via Reported-by/CC to that person, as
> it seems in his/her interest to get the bug fixed and be notified,
> unless explicitly requested otherwise.

FWIW, in this kind of situation, I generally try to explicitly
ask the submitter if they're OK with my adding a reported-by
tag, just as a matter of politeness. Not everybody is OK with
having their email address publicly recorded on mailing list
archives and in git history forever.

thanks
-- PMM


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

* Re: [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
  2021-04-13 10:24           ` Peter Maydell
@ 2021-04-13 11:41             ` Markus Armbruster
  0 siblings, 0 replies; 22+ messages in thread
From: Markus Armbruster @ 2021-04-13 11:41 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Kevin Wolf, Thomas Huth, Daniel P. Berrange, QEMU Developers,
	Alexander Graf, Stefan Hajnoczi, Paolo Bonzini, Alex Bennée,
	Andreas Färber

Peter Maydell <peter.maydell@linaro.org> writes:

> On Tue, 13 Apr 2021 at 11:23, Andreas Färber <afaerber@suse.de> wrote:
>> Or consider the case you get a bug report not copied to the public
>> mailing lists from someone you don't know. Then I would still expect to
>> be allowed to attribute a commit via Reported-by/CC to that person, as
>> it seems in his/her interest to get the bug fixed and be notified,
>> unless explicitly requested otherwise.
>
> FWIW, in this kind of situation, I generally try to explicitly
> ask the submitter if they're OK with my adding a reported-by
> tag, just as a matter of politeness. Not everybody is OK with
> having their email address publicly recorded on mailing list
> archives and in git history forever.

That's what I'd do, too.

Still, neglecting to ask for permission to publicly credit a bug report
is not anywhere near doxing.  If the public credit turns out to be
unwanted, a sincere apology is obviously called for.  People may exist
who need to be slapped over the head with a code of conduct to figure
that out.  I hope we'll never need to do that.

Anyway.  What I see at work here is one of the unintended consequences
of formal codes of conduct: they read like law, so people read them
lawyerly.  Our CoC attempts to avoid this by explicitly stating its
*purpose*: "a guide to make it easier to be excellent to each other."

This applies to the QEMU leadership committee in spades.  Treating
negligent publication of some technical e-mail's sender address as
malicious doxing wouldn't be excellent to anyone, it would be the
leadership committee shooting themselves into the foot with a machine
gun".

Let's not worry about that, okay?



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

* Re: [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
  2021-03-31 15:05 [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document Paolo Bonzini
                   ` (3 preceding siblings ...)
  2021-04-07 10:23 ` Kevin Wolf
@ 2021-04-13 16:25 ` Daniel P. Berrangé
  2021-04-13 21:16   ` Paolo Bonzini
  4 siblings, 1 reply; 22+ messages in thread
From: Daniel P. Berrangé @ 2021-04-13 16:25 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: peter.maydell, Thomas Huth, qemu-devel, agraf, stefanha,
	alex.bennee, afaerber

On Wed, Mar 31, 2021 at 05:05:27PM +0200, Paolo Bonzini wrote:
> 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.

Since this was derived from the Fedora CoC, you might be interested to
know that Fedora is currently revisiting its CoC:

  https://communityblog.fedoraproject.org/policy-proposal-new-code-of-conduct/

The first comment on that post from mattdm gives clarity as to why they
feel the need to revisit it

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



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

* Re: [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
  2021-04-13 16:25 ` Daniel P. Berrangé
@ 2021-04-13 21:16   ` Paolo Bonzini
  0 siblings, 0 replies; 22+ messages in thread
From: Paolo Bonzini @ 2021-04-13 21:16 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Maydell, Peter, Thomas Huth, qemu-devel, Graf, Alexander,
	Hajnoczi, Stefan, Alex Bennée, afaerber

[-- Attachment #1: Type: text/plain, Size: 1242 bytes --]

Il mar 13 apr 2021, 18:25 Daniel P. Berrangé <berrange@redhat.com> ha
scritto:

> Since this was derived from the Fedora CoC, you might be interested to
> know that Fedora is currently revisiting its CoC:
>
>
> https://communityblog.fedoraproject.org/policy-proposal-new-code-of-conduct/
>
> The first comment on that post from mattdm gives clarity as to why they
> feel the need to revisit it


Interesting, thanks. Indeed the changes that I brought over from the
Contributor Covenant (and that were also there, albeit more verbosely, in
the Django code of conduct) have the purpose of making the text more
specific in case "being excellent to each other" just isn't enough. We also
have the separate conflict resolution guide that covers the third point
that Matt made in his post.

Having some confirmation that those things *were* missing from the current
Fedora CoC is good. In fact in the meanwhile I found a few other cases
(such as the Microsoft open source code of conduct,
https://opensource.microsoft.com/codeofconduct/) that merged a less
prescriptive text ultimately derived from Fedora with parts of the
Contributor Covenant, so it looks like others have had the same idea in the
past.

Paolo

>

[-- Attachment #2: Type: text/html, Size: 2014 bytes --]

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

* Re: [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
  2021-03-30  7:13     ` Thomas Huth
@ 2021-03-30  9:59       ` Paolo Bonzini
  0 siblings, 0 replies; 22+ messages in thread
From: Paolo Bonzini @ 2021-03-30  9:59 UTC (permalink / raw)
  To: Thomas Huth, Daniel P. Berrangé
  Cc: Peter Maydell, qemu-devel, Alexander Graf, Stefan Hajnoczi,
	Alex Bennée, Andreas Färber

On 30/03/21 09:13, Thomas Huth wrote:
> Contributor Covenant 1.x is certainly an option, too, but it has IMHO 
> already quite rigorous language ("Project maintainers have the [...] 
> responsibility to remove, edit, or reject comments, commits, code, wiki 
> edits ...", "Project maintainers who do not [...] enforce the Code of 
> Conduct may be permanently removed from the project team."), which could 
> either scare away people from taking maintainers responsibility or also 
> could be used fire up arguments ("you are a maintainer, now according to 
> the CoC you have to do this and that..."), which I'd rather like to avoid.
> (well, as you know, I'm not a native English speaker, so I might also 
> have gotten that tone wrong, but that's the impression that I had after 
> reading that text as non-native speaker).

I see your point.  We also have the issue that mailing list archives are 
basically immutable and maintained on Savannah.  It would be hard for 
anyone to remove problematic language in many cases.

My first review last night focused on the conflict resolution policy 
because I was obviously more familiar with it.  I have now reread the 
code of conduct more closely and I like it, both the original and the 
small changes you made to the Django code of conduct.

I do have a couple remarks:

* like its ancestor, it is still erring on the opposite side by not 
identifying who is responsible for having a welcoming community, which 
goes beyond remediation.  Maintainers do have _some_ responsibility in 
that respect, and it should be mentioned somewhere.

* this sentence could be seen as making QEMU responsible for acting 
based on what people say on Facebook or Twitter:

> In addition, violations of this code outside these spaces may
> +affect a person's ability to participate within them.

I don't want to open that can of worms; not now at least.  The conflict 
resolution policy already calls out specific exceptions as a consequence 
of CoC violations, and I think that's enough.

As you're the one doing the work I don't want to impose my view, but I'd 
like to ask you to consider at least the following two changes:

* replace the above sentence with "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".

* in the paragraph after it ("If you believe someone is violating the 
code of conduct...") prepend the following text from the Contributor 
Covenant: "By adopting this Code of Conduct, project maintainers commit 
themselves to fairly and consistently applying these principles to every 
aspect of managing this project".

(On top of this the "When we disagree, try to understand why" bullet is 
somewhat redundant with both the conflict resolution policy and other 
parts of the code of conduct, and I like such documents to be as short 
as possible.  But that's more cosmetic than normative, so it's not a big 
deal).

What do you think?

Thanks,

Paolo



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

* Re: [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
  2021-03-29 20:59   ` Paolo Bonzini
  2021-03-30  7:13     ` Thomas Huth
@ 2021-03-30  8:18     ` Daniel P. Berrangé
  1 sibling, 0 replies; 22+ messages in thread
From: Daniel P. Berrangé @ 2021-03-30  8:18 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Peter Maydell, Thomas Huth, qemu-devel, Alexander Graf,
	Stefan Hajnoczi, Alex Bennée, Andreas Färber

On Mon, Mar 29, 2021 at 10:59:23PM +0200, Paolo Bonzini wrote:
> Il lun 29 mar 2021, 20:33 Daniel P. Berrangé <berrange@redhat.com> ha
> scritto:
> 
> > The obvious alternative is to import the contributor covenant
> >
> >   https://www.contributor-covenant.org/
> 
> 
> The Contributor Covenant 1.x and 2.x are very different in that 2.x also
> includes conflict resolution. Unlike the code of conduct, the consequences
> of bad behavior are hard to generalize across multiple projects, so I would
> prefer anyway the 1.x version. The differences with the Django CoC aren't
> substantial.
> 
> However this does mean being more careful about the language in the
> "custom" documents such as the conflict resolution policy.
> 
> 
> The second, it isn't a static document. It is being evolved over
> > time with new versions issued as understanding of problematic
> > situations evolves. We can choose to periodically update to stay
> > current with the broadly accepted norms.
> >
> 
> This however has the same issues as the "or later" clause of the GPL (see
> the above example of 1.x vs 2.x for the Contributor Covenant). I don't
> think upgrade of the CoC should be automatic since there are no
> "compatibility" issues.

Note, I didn't say we should automatically upgrade - I said we can
choose to upgrade. 


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



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

* Re: [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
  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é
  1 sibling, 1 reply; 22+ messages in thread
From: Thomas Huth @ 2021-03-30  7:13 UTC (permalink / raw)
  To: Paolo Bonzini, Daniel P. Berrangé
  Cc: Peter Maydell, qemu-devel, Alexander Graf, Stefan Hajnoczi,
	Alex Bennée, Andreas Färber

On 29/03/2021 22.59, Paolo Bonzini wrote:
> 
> 
> Il lun 29 mar 2021, 20:33 Daniel P. Berrangé <berrange@redhat.com 
> <mailto:berrange@redhat.com>> ha scritto:
> 
>     The obvious alternative is to import the contributor covenant
> 
>     https://www.contributor-covenant.org/
>     <https://www.contributor-covenant.org/>
> 
> 
> The Contributor Covenant 1.x and 2.x are very different in that 2.x also 
> includes conflict resolution. Unlike the code of conduct, the consequences 
> of bad behavior are hard to generalize across multiple projects, so I would 
> prefer anyway the 1.x version. The differences with the Django CoC aren't 
> substantial.

Right. I also think we should use a code of conduct that allows us to keep 
the conflict resolution in a separate document.

Contributor Covenant 1.x is certainly an option, too, but it has IMHO 
already quite rigorous language ("Project maintainers have the [...] 
responsibility to remove, edit, or reject comments, commits, code, wiki 
edits ...", "Project maintainers who do not [...] enforce the Code of 
Conduct may be permanently removed from the project team."), which could 
either scare away people from taking maintainers responsibility or also 
could be used fire up arguments ("you are a maintainer, now according to the 
CoC you have to do this and that..."), which I'd rather like to avoid.
(well, as you know, I'm not a native English speaker, so I might also have 
gotten that tone wrong, but that's the impression that I had after reading 
that text as non-native speaker).

That's why I'd rather prefer the Django CoC instead.

> However this does mean being more careful about the language in the "custom" 
> documents such as the conflict resolution policy.
> 
> 
>     The second, it isn't a static document. It is being evolved over
>     time with new versions issued as understanding of problematic
>     situations evolves. We can choose to periodically update to stay
>     current with the broadly accepted norms.
> 
> 
> This however has the same issues as the "or later" clause of the GPL (see 
> the above example of 1.x vs 2.x for the Contributor Covenant). I don't think 
> upgrade of the CoC should be automatic since there are no "compatibility" 
> issues.

Agreed. We shouldn't auto-upgrade to a newer version of a CoC without 
reviewing the new clauses.

>      > +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,
> 
> 
> I agree with Daniel that this part should only be advisory. For example:
> 
> 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. If this fails or if you do not feel 
> comfortable proceeding this way,...
> 
>     Also this document doesn't mention anything about ensuring the
>     confidentiality/privacy for any complaints reported, which I
>     think is important to state explicitly.
> 
> 
> Agreed, and also the part about keeping a record should be removed from the 
> consequences part because it's a privacy regulation minefield.

Ok, thanks for the feedback, I'll try to incorporate it and send a v2.

  Thomas



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

* Re: [PATCH] docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document
  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  8:18     ` Daniel P. Berrangé
  0 siblings, 2 replies; 22+ messages in thread
From: Paolo Bonzini @ 2021-03-29 20:59 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Peter Maydell, Thomas Huth, qemu-devel, Alexander Graf,
	Stefan Hajnoczi, Alex Bennée, Andreas Färber

[-- Attachment #1: Type: text/plain, Size: 2469 bytes --]

Il lun 29 mar 2021, 20:33 Daniel P. Berrangé <berrange@redhat.com> ha
scritto:

> The obvious alternative is to import the contributor covenant
>
>   https://www.contributor-covenant.org/


The Contributor Covenant 1.x and 2.x are very different in that 2.x also
includes conflict resolution. Unlike the code of conduct, the consequences
of bad behavior are hard to generalize across multiple projects, so I would
prefer anyway the 1.x version. The differences with the Django CoC aren't
substantial.

However this does mean being more careful about the language in the
"custom" documents such as the conflict resolution policy.


The second, it isn't a static document. It is being evolved over
> time with new versions issued as understanding of problematic
> situations evolves. We can choose to periodically update to stay
> current with the broadly accepted norms.
>

This however has the same issues as the "or later" clause of the GPL (see
the above example of 1.x vs 2.x for the Contributor Covenant). I don't
think upgrade of the CoC should be automatic since there are no
"compatibility" issues.

Overall I think it is a good idea to introduce an explicit CoC
> doc to QEMU, and indeed any community project, so thanks for
> bringing this up again.
>

Agreed!

>
> > +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,


I agree with Daniel that this part should only be advisory. For example:

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. If this fails or if you do not feel
comfortable proceeding this way,...

Also this document doesn't mention anything about ensuring the
> confidentiality/privacy for any complaints reported, which I
> think is important to state explicitly.
>

Agreed, and also the part about keeping a record should be removed from the
consequences part because it's a privacy regulation minefield.

Thanks,

Paolo


>
> Regards,
> Daniel
> --
> |: https://berrange.com      -o-
> https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-
> https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-
> https://www.instagram.com/dberrange :|
>
>

[-- Attachment #2: Type: text/html, Size: 4959 bytes --]

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

* Re: [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é
  2021-03-29 20:59   ` Paolo Bonzini
  0 siblings, 1 reply; 22+ messages in thread
From: Daniel P. Berrangé @ 2021-03-29 18:33 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Peter Maydell, qemu-devel, Alexander Graf, Stefan Hajnoczi,
	Paolo Bonzini, Alex Bennée, Andreas Färber

On Mon, Mar 29, 2021 at 08:01:40PM +0200, Thomas Huth wrote:
> 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.

The obvious alternative is to import the contributor covenant

  https://www.contributor-covenant.org/

IMHO the biggest appealing reason is that it is a defacto
common standard across a huge number of open source projects.

The second, it isn't a static document. It is being evolved over
time with new versions issued as understanding of problematic
situations evolves. We can choose to periodically update to stay
current with the broadly accepted norms.

I tend to view this similarly to license choice. It is almost
always better to adopt a commonly accepted standard as-i,s than
to have something custom to just one project, even if it was
derived from / inspired by another well known example project's
own example.

Overall I think it is a good idea to introduce an explicit CoC
doc to QEMU, and indeed any community project, so thanks for
bringing this up again.

> 
>  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/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>`__.

I feel this section is rather disjoint. First repeatedly saying the
victim must try to resolve it themselves, and must provide prove of
trying to resolve it when escalating. Then at the end saying you can
ignore this and escalate immediately but only in certain nominated
circumstances. I get what this is trying to achieve, but I feel it
is overly complicated and first part comes across as putting the
burden on the person suffering to take the lead in resolving problems.

I feel the contributor covenant is clearer in this area through its
simplicity

Also this document doesn't mention anything about ensuring the
confidentiality/privacy for any complaints reported, which I
think is important to state explicitly.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[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	[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).