[PATCH v2] Documentation/CoC: spell out enforcement for unacceptable behaviors

Shuah Khan posted 1 patch 1 week, 5 days ago
There is a newer version of this series
.../code-of-conduct-interpretation.rst        | 52 +++++++++++++++++++
1 file changed, 52 insertions(+)
[PATCH v2] Documentation/CoC: spell out enforcement for unacceptable behaviors
Posted by Shuah Khan 1 week, 5 days ago
The Code of Conduct committee's goal first and foremost is to bring about
change to ensure our community continues to foster respectful discussions.

In the interest of transparency, the CoC enforcement policy is formalized
for unacceptable behaviors.

Update the Code of Conduct Interpretation document with the enforcement
information.

Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Miguel Ojeda <ojeda@kernel.org>
Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
Acked-by: Jonathan Corbet <corbet@lwn.net>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Acked-by: Dan Williams <dan.j.williams@intel.com>
Acked-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
---

Changes since v1:
- Updates Acks with Ted's ack.
- Fixes subsection formatting as per Randy's suggestion.
- Fixes a spelling error.

 .../code-of-conduct-interpretation.rst        | 52 +++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/Documentation/process/code-of-conduct-interpretation.rst b/Documentation/process/code-of-conduct-interpretation.rst
index 66b07f14714c..ebddf218341d 100644
--- a/Documentation/process/code-of-conduct-interpretation.rst
+++ b/Documentation/process/code-of-conduct-interpretation.rst
@@ -156,3 +156,55 @@ overridden decisions including complete and identifiable voting details.
 Because how we interpret and enforce the Code of Conduct will evolve over
 time, this document will be updated when necessary to reflect any
 changes.
+
+Enforcement for Unacceptable Behavior Code of Conduct Violations
+----------------------------------------------------------------
+
+The Code of Conduct committee works to ensure that our community continues
+to be inclusive and fosters diverse discussions and viewpoints, and works
+to improve those characteristics over time. The Code of Conduct committee
+takes measures to restore productive and respectful collaboration when an
+unacceptable behavior has negatively impacted that relationship.
+
+Seek public apology for the violation
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The Code of Conduct Committee publicly calls out the behavior in the
+setting in which the violation has taken place, seeking public apology
+for the violation.
+
+A public apology for the violation is the first step towards rebuilding
+the trust. Trust is essential for the continued success and health of the
+community which operates on trust and respect.
+
+Remedial measures if there is no public apology for the violation
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The Code of Conduct Committee determines the next course of action
+to restore the healthy collaboration by recommending remedial measure(s)
+to the TAB for approval.
+
+- Ban violator from participating in the kernel development process for
+  a period of up to a full kernel development cycle. The Code of Conduct
+  Committee could require public apology as a condition for lifting the
+  ban.
+
+The scope of the ban for a period of time could include:
+
+    a. denying patch contributions and pull requests
+    b. pausing collaboration with the violator by ignoring their
+       contributions and/or blocking their email account(s)
+    c. blocking their access to kernel.org accounts and mailing lists
+
+Once the TAB approves one or more of the measures outlined in the scope of
+the ban by a two-thirds vote, the Code of Conduct Committee will enforce
+the TAB approved measure(s) in collaboration with the community, maintainers,
+sub-maintainers, and kernel.org administrators.
+
+The effectiveness of the remedial measure(s) approved by the TAB depends
+on the trust and cooperation from the community, maintainers, sub-maintainers,
+and kernel.org administrators in enforcing them.
+
+The Code of Conduct Committee sincerely hopes that unacceptable behaviors
+that require seeking public apologies continue to be exceedingly rare
+occurrences in the future.
-- 
2.40.1
Re: [PATCH v2] Documentation/CoC: spell out enforcement for unacceptable behaviors
Posted by Daniel Vetter 1 week, 3 days ago
On Mon, 11 Nov 2024 at 17:39, Shuah Khan <skhan@linuxfoundation.org> wrote:
> The Code of Conduct committee's goal first and foremost is to bring about
> change to ensure our community continues to foster respectful discussions.
>
> In the interest of transparency, the CoC enforcement policy is formalized
> for unacceptable behaviors.
>
> Update the Code of Conduct Interpretation document with the enforcement
> information.
>
> Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Acked-by: Miguel Ojeda <ojeda@kernel.org>
> Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
> Acked-by: Jonathan Corbet <corbet@lwn.net>
> Acked-by: Steven Rostedt <rostedt@goodmis.org>
> Acked-by: Dan Williams <dan.j.williams@intel.com>
> Acked-by: Theodore Ts'o <tytso@mit.edu>
> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
> ---
>
> Changes since v1:
> - Updates Acks with Ted's ack.
> - Fixes subsection formatting as per Randy's suggestion.
> - Fixes a spelling error.
>
>  .../code-of-conduct-interpretation.rst        | 52 +++++++++++++++++++
>  1 file changed, 52 insertions(+)
>
> diff --git a/Documentation/process/code-of-conduct-interpretation.rst b/Documentation/process/code-of-conduct-interpretation.rst
> index 66b07f14714c..ebddf218341d 100644
> --- a/Documentation/process/code-of-conduct-interpretation.rst
> +++ b/Documentation/process/code-of-conduct-interpretation.rst
> @@ -156,3 +156,55 @@ overridden decisions including complete and identifiable voting details.
>  Because how we interpret and enforce the Code of Conduct will evolve over
>  time, this document will be updated when necessary to reflect any
>  changes.
> +
> +Enforcement for Unacceptable Behavior Code of Conduct Violations
> +----------------------------------------------------------------
> +
> +The Code of Conduct committee works to ensure that our community continues
> +to be inclusive and fosters diverse discussions and viewpoints, and works
> +to improve those characteristics over time. The Code of Conduct committee
> +takes measures to restore productive and respectful collaboration when an
> +unacceptable behavior has negatively impacted that relationship.
> +
> +Seek public apology for the violation
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +
> +The Code of Conduct Committee publicly calls out the behavior in the
> +setting in which the violation has taken place, seeking public apology
> +for the violation.
> +
> +A public apology for the violation is the first step towards rebuilding
> +the trust. Trust is essential for the continued success and health of the
> +community which operates on trust and respect.
> +
> +Remedial measures if there is no public apology for the violation
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +
> +The Code of Conduct Committee determines the next course of action
> +to restore the healthy collaboration by recommending remedial measure(s)
> +to the TAB for approval.
> +
> +- Ban violator from participating in the kernel development process for
> +  a period of up to a full kernel development cycle. The Code of Conduct
> +  Committee could require public apology as a condition for lifting the
> +  ban.
> +
> +The scope of the ban for a period of time could include:
> +
> +    a. denying patch contributions and pull requests
> +    b. pausing collaboration with the violator by ignoring their
> +       contributions and/or blocking their email account(s)
> +    c. blocking their access to kernel.org accounts and mailing lists
> +
> +Once the TAB approves one or more of the measures outlined in the scope of
> +the ban by a two-thirds vote, the Code of Conduct Committee will enforce
> +the TAB approved measure(s) in collaboration with the community, maintainers,
> +sub-maintainers, and kernel.org administrators.

This is a detail I missed at first, but I think it's a very important
one and needs to be highlighted.

Years ago when the kernel CoC was put in plae, there was a very long
discussion around whether maintainers are required to enforce the CoC,
or not. The rather strong consensus was that they are not responsible,
but help is appreciated, as documented in this patch: c1d1ba844f01
("Code of conduct: Fix wording around maintainers enforcing the code
of conduct")

This was also acknowledged once more in a patch merged two years ago
with c1d1ba844f01 ("Code of conduct: Fix wording around maintainers
enforcing the code of conduct") by changing "decisions by the
committee" into "decisions regarding enforcement recommendations", to
make it very explicit that they're just recommendations to the TAB and
maintainers and that the CoC team does not have independent
enforcement powers.

The approval by the TAB is still here, but maintainers don't seem to
get a say anymore. Is this the intention, because it seems to be a
really substantial change? From our experience on the fd.o side, there
is a subset of maintainers who do not appreciate this responsibility
at all and very much would not like to have it. Given that, and the
kernel's strong consensus a few years ago against this I don't think
enlisting maintainers for enforcement without a wide agreement is
going to be well received - even when personally I think it's the
right approach to CoC enforcement, I did not put an ack on that patch
for clear reasons.

Also, if a maintainer refuses to implement an enforcement decision,
will they be sanctioned too? Since this is all an entirely new section
and does not touch any of the existing sections I'm also not clear on
when one or the other rules apply, and how they interact.

This part looks confusing to me, and a bit in a scary way.

Cheers, Sima


> +
> +The effectiveness of the remedial measure(s) approved by the TAB depends
> +on the trust and cooperation from the community, maintainers, sub-maintainers,
> +and kernel.org administrators in enforcing them.
> +
> +The Code of Conduct Committee sincerely hopes that unacceptable behaviors
> +that require seeking public apologies continue to be exceedingly rare
> +occurrences in the future.
> --
> 2.40.1
>
>


--
Daniel Vetter
Software Engineer, Intel Corporation
Re: [PATCH v2] Documentation/CoC: spell out enforcement for unacceptable behaviors
Posted by Shuah Khan 1 week, 3 days ago
On 11/12/24 12:21, Daniel Vetter wrote:
> On Mon, 11 Nov 2024 at 17:39, Shuah Khan <skhan@linuxfoundation.org> wrote:
>> The Code of Conduct committee's goal first and foremost is to bring about
>> change to ensure our community continues to foster respectful discussions.
>>
>> In the interest of transparency, the CoC enforcement policy is formalized
>> for unacceptable behaviors.
>>
>> Update the Code of Conduct Interpretation document with the enforcement
>> information.
>>
>> Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
>> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>> Acked-by: Miguel Ojeda <ojeda@kernel.org>
>> Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
>> Acked-by: Jonathan Corbet <corbet@lwn.net>
>> Acked-by: Steven Rostedt <rostedt@goodmis.org>
>> Acked-by: Dan Williams <dan.j.williams@intel.com>
>> Acked-by: Theodore Ts'o <tytso@mit.edu>
>> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
>> ---
>>
>> Changes since v1:
>> - Updates Acks with Ted's ack.
>> - Fixes subsection formatting as per Randy's suggestion.
>> - Fixes a spelling error.
>>
>>   .../code-of-conduct-interpretation.rst        | 52 +++++++++++++++++++
>>   1 file changed, 52 insertions(+)
>>
>> diff --git a/Documentation/process/code-of-conduct-interpretation.rst b/Documentation/process/code-of-conduct-interpretation.rst
>> index 66b07f14714c..ebddf218341d 100644
>> --- a/Documentation/process/code-of-conduct-interpretation.rst
>> +++ b/Documentation/process/code-of-conduct-interpretation.rst
>> @@ -156,3 +156,55 @@ overridden decisions including complete and identifiable voting details.
>>   Because how we interpret and enforce the Code of Conduct will evolve over
>>   time, this document will be updated when necessary to reflect any
>>   changes.
>> +
>> +Enforcement for Unacceptable Behavior Code of Conduct Violations
>> +----------------------------------------------------------------
>> +
>> +The Code of Conduct committee works to ensure that our community continues
>> +to be inclusive and fosters diverse discussions and viewpoints, and works
>> +to improve those characteristics over time. The Code of Conduct committee
>> +takes measures to restore productive and respectful collaboration when an
>> +unacceptable behavior has negatively impacted that relationship.
>> +
>> +Seek public apology for the violation
>> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> +
>> +The Code of Conduct Committee publicly calls out the behavior in the
>> +setting in which the violation has taken place, seeking public apology
>> +for the violation.
>> +
>> +A public apology for the violation is the first step towards rebuilding
>> +the trust. Trust is essential for the continued success and health of the
>> +community which operates on trust and respect.
>> +
>> +Remedial measures if there is no public apology for the violation
>> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> +
>> +The Code of Conduct Committee determines the next course of action
>> +to restore the healthy collaboration by recommending remedial measure(s)
>> +to the TAB for approval.
>> +
>> +- Ban violator from participating in the kernel development process for
>> +  a period of up to a full kernel development cycle. The Code of Conduct
>> +  Committee could require public apology as a condition for lifting the
>> +  ban.
>> +
>> +The scope of the ban for a period of time could include:
>> +
>> +    a. denying patch contributions and pull requests
>> +    b. pausing collaboration with the violator by ignoring their
>> +       contributions and/or blocking their email account(s)
>> +    c. blocking their access to kernel.org accounts and mailing lists
>> +
>> +Once the TAB approves one or more of the measures outlined in the scope of
>> +the ban by a two-thirds vote, the Code of Conduct Committee will enforce
>> +the TAB approved measure(s) in collaboration with the community, maintainers,
>> +sub-maintainers, and kernel.org administrators.
> 
> This is a detail I missed at first, but I think it's a very important
> one and needs to be highlighted.

The paragraph after this one clears these questions and concerns.
> 
> Years ago when the kernel CoC was put in plae, there was a very long
> discussion around whether maintainers are required to enforce the CoC,
> or not. The rather strong consensus was that they are not responsible,
> but help is appreciated, as documented in this patch: c1d1ba844f01
> ("Code of conduct: Fix wording around maintainers enforcing the code
> of conduct")
> 
> This was also acknowledged once more in a patch merged two years ago
> with c1d1ba844f01 ("Code of conduct: Fix wording around maintainers
> enforcing the code of conduct") by changing "decisions by the
> committee" into "decisions regarding enforcement recommendations", to
> make it very explicit that they're just recommendations to the TAB and
> maintainers and that the CoC team does not have independent
> enforcement powers.
> 
> The approval by the TAB is still here, but maintainers don't seem to
> get a say anymore. Is this the intention, because it seems to be a
> really substantial change? From our experience on the fd.o side, there
> is a subset of maintainers who do not appreciate this responsibility
> at all and very much would not like to have it. Given that, and the
> kernel's strong consensus a few years ago against this I don't think
> enlisting maintainers for enforcement without a wide agreement is
> going to be well received - even when personally I think it's the
> right approach to CoC enforcement, I did not put an ack on that patch
> for clear reasons.
> 
> Also, if a maintainer refuses to implement an enforcement decision,
> will they be sanctioned too? Since this is all an entirely new section
> and does not touch any of the existing sections I'm also not clear on
> when one or the other rules apply, and how they interact.
> 
> This part looks confusing to me, and a bit in a scary way.
> 
> Cheers, Sima
> 
> 
>> +
>> +The effectiveness of the remedial measure(s) approved by the TAB depends
>> +on the trust and cooperation from the community, maintainers, sub-maintainers,
>> +and kernel.org administrators in enforcing them.

This paragraph clearly indicates the scope. The key work is "cooperation".
It isn't the intent to force maintainers to enforce it. On the contrary,
the Code of Conduct Committee's ability to enforce a ban relies on the
cooperation from the community.

There are several checks and balances for bans can be approved, such as
the CoC Committee has to agree on the ban, the TAB has to agree on it
and vote on it.

This document makes that very clear.

thanks,
-- Shuah
Re: [PATCH v2] Documentation/CoC: spell out enforcement for unacceptable behaviors
Posted by Dave Hansen 1 week, 3 days ago
On 11/12/24 11:21, Daniel Vetter wrote:
> Also, if a maintainer refuses to implement an enforcement decision,
> will they be sanctioned too? Since this is all an entirely new section
> and does not touch any of the existing sections I'm also not clear on
> when one or the other rules apply, and how they interact.

I don't think this is or _should_ take away any ability for a maintainer
to manage their subsystem.  It's not special at all, actually.

Let's say the CoC committee recommends "denying patch contributions and
pull requests". I as a maintainer either actively ignore the
recommendation or didn't notice the recommendation in my normal email
flood. I integrate a patch and send it along to the upstream maintainer.
The upstream maintainer looks over the pull request and like normal
either pulls it or says no.

If I intentionally disregarded the CoC committee recommendation for good
reason, I'd be a smart maintainer to note that in the pull request, just
like any other anomaly.

But either way, just like _any_ patch or pull request: there are few
absolute rules. Breaking userspace is highly discouraged, but allowed in
some cases.  Going against a CoC recommendation is also discouraged but
I don't think there should be absolute prohibition against it.

In the end, the upstream maintainer gets to decide what to do.