Policy discussion about blocking others on Github

377 views
Skip to first unread message

jplab

unread,
Sep 6, 2024, 4:23:21 PM9/6/24
to sage-devel

This message comes from the Code of Conduct Committee, in response to a question from Kwankyu (A2) about blocking other Sage developers on Github.


While it is not possible to block others on a single issue or PR, it is possible for one user to block another across all of Github.  This has several effects, the most relevant of which for the project as a whole is that the blocked user cannot “comment on or edit issues or pull requests” created by the blocker (unless the blocked party is an owner or maintainer on the repository). Over the past six months, this has happened several times.


As we have said before, the Code of Conduct Committee believes that there are situations where blocking another developer is appropriate.  In the short term, both parties can still contribute to a discussion by the blocked party opening a linked issue to hold their comments, but this solution obscures their comments and muddles the timeline.  We do not think that widespread use of this tool is a productive way to actually resolve conflict.


We would like to solicit suggestions from the community for a new section of the Sage Code of Conduct addressing blocking.  The following is a draft:


Blocking another SageMath developer on GitHub can be a valid response to extreme misconduct, aimed at reducing interactions. However, unless the misconduct results in the blocked person being excluded from the SageMath project, such blocks should be temporary and last only until the conflict is resolved. The SageMath Code of Conduct Committee should work with both parties to lift the block. If the blocked person does not cooperate, the committee may sanction them. If the blocker does not cooperate, the committee may decide that proper discussion on their Pull Requests and Issues is not feasible, and request that the release manager not merge any of their Pull Requests until the block is lifted.


We know that this issue is sensitive for several Sage developers, so we encourage everyone to follow the CoC and concentrate on discussing and advocating for the policies you believe are appropriate.

The SageMath Code of Conduct Committee

Matthias Koeppe

unread,
Sep 6, 2024, 9:35:47 PM9/6/24
to sage-devel
On Friday, September 6, 2024 at 1:23:21 PM UTC-7 jplab wrote:

We would like to solicit suggestions from the community for a new section of the Sage Code of Conduct addressing blocking.  The following is a draft:


Blocking another SageMath developer on GitHub can be a valid response to extreme misconduct, aimed at reducing interactions. However, unless the misconduct results in the blocked person being excluded from the SageMath project, such blocks should be temporary and last only until the conflict is resolved. The SageMath Code of Conduct Committee should work with both parties to lift the block. If the blocked person does not cooperate, the committee may sanction them. If the blocker does not cooperate, the committee may decide that proper discussion on their Pull Requests and Issues is not feasible, and request that the release manager not merge any of their Pull Requests until the block is lifted.


We know that this issue is sensitive for several Sage developers [...]


A public discussion of this is meaningless as long as the public is unaware of the extent of dysfunction of the CoCC, which refuses to take the necessary steps even in the face of persistent abuse.

Kwankyu Lee

unread,
Sep 6, 2024, 9:56:56 PM9/6/24
to sage-devel
A practical issue related with this discussion is as follows. If a member B is blocked by another member A, and there is a PR created by A. Then does B still (1) have the full rights to participate in the review process for the PR? Or (2) B's rights are suspended for the PR?

If (1), we should provide a mechanism for B to participate. If (2), B should be totally prevented from the review process.

I think CoCC should decide case by case, upon B's request. If CoCC judges that there is still a possibility of B's misconduct in the PR, then we proceed as (2). Perhaps this is the default. Otherwise, for example, B vows to CoCC that B will behave good in the PR, then we proceed as (1).


Dima Pasechnik

unread,
Sep 7, 2024, 4:58:44 AM9/7/24
to sage-...@googlegroups.com


On 6 September 2024 22:29:35 BST, Matthias Koeppe <matthia...@gmail.com> wrote:
>On Friday, September 6, 2024 at 1:23:21 PM UTC-7 jplab wrote:
>
>We would like to solicit suggestions from the community for a new section
>of the Sage Code of Conduct
><https://github.com/sagemath/sage/blob/develop/CODE_OF_CONDUCT.md>
>addressing blocking. The following is a draft:
>
>Blocking another SageMath developer on GitHub can be a valid response to
>extreme misconduct, aimed at reducing interactions. However, unless the
>misconduct results in the blocked person being excluded from the SageMath
>project, such blocks should be temporary and last only until the conflict
>is resolved. The SageMath Code of Conduct Committee should work with both
>parties to lift the block. If the blocked person does not cooperate, the
>committee may sanction them. If the blocker does not cooperate, the
>committee may decide that proper discussion on their Pull Requests and
>Issues is not feasible, and request that the release manager not merge any
>of their Pull Requests until the block is lifted.
>
>We know that this issue is sensitive for several Sage developers [...]
>
>
>A public discussion of this is meaningless as long as the public is unaware
>of the extent of dysfunction of the CoCC, which refuses to take the
>necessary steps even in the face of persistent abuse.
>

We have a proposal to discuss. Functioning of a committee is a rather different topic.

As a target of blocking on GitHub, which I think is aimed at pushing me out of the project,
I very much welcome any way out of this limbo - even if it means that the blocker is prevented from contributing to the project as long as the block is at place.

Dima



Doris Behrendt

unread,
Sep 7, 2024, 7:11:52 AM9/7/24
to 'Martin R' via sage-devel
Dear list,

boaaahhh come on guys! I again could't read all the past mails and cannot comment objectively, but subjectively this feels like Kindergarten. Perhaps Dima and Matthias (and the CoC group as well) should read >>Asterix and the big fight<<?

scnr

... some months ago I suggested the >>key players<< meeting in person and a professional mediation, but the CoC did not plan anything in that direction, right?

SageMath is much too important to have quarrels like those destroy the project ... so CoC please do some real management. Writing proposals and E-Mails will not solve the problem, I believe.

Doris
> --
> You received this message because you are subscribed to the Google Groups "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/400569A6-180C-42BC-8B86-8F849A09315D%40gmail.com.


Aram Dermenjian

unread,
Sep 7, 2024, 8:47:08 AM9/7/24
to sage-...@googlegroups.com
I think the CoCC is doing a phenomenal job so far. The number of argumentative emails I received has been reduced tremendously. The CoCC needs to balance allowing voices to be heard and not allowing disruptive arguments and naturally the line each of us draws on what is and is not appropriate is different. In addition, they are a newly formed group and you can't expect a problem this complex to be resolved in 2 seconds. They still need to set-up the groundwork (rules, etc) in order to do their jobs effectively. So although proposals aren't solving the problem right away, they are laying the groundwork which should have been done years ago so that they can solve problems like this faster before they become big issues. Moreover, remember that the committee is a volunteer group who is spending their free time to help the community. We can't expect them to drop everything they are doing (work, family, etc.) just to spend full-time on this issue. So things will naturally go a little slower.

Thank you to the CoCC for all the hard work you're doing. It does not go unnoticed.

In terms of the policy, it looks great! I think Kwankyu makes a good point on something to consider in regards to what happens when a PR is created by person A who has blocked person B. I think Kwankyu's suggestion of case by case is a good one and seems to be the way the policy text is leaning anyway considering that the policy mentions that either a block is valid or there needs to be a resolution between the two parties until which time person A will not be allowed to merge PRs.

-Aram

David Joyner

unread,
Sep 7, 2024, 9:16:02 AM9/7/24
to sage-...@googlegroups.com
On Fri, Sep 6, 2024 at 4:23 PM jplab <jeanphil...@gmail.com> wrote:

This message comes from the Code of Conduct Committee, in response to a question from Kwankyu (A2) about blocking other Sage developers on Github.


While it is not possible to block others on a single issue or PR, it is possible for one user to block another across all of Github.  This has several effects, the most relevant of which for the project as a whole is that the blocked user cannot “comment on or edit issues or pull requests” created by the blocker (unless the blocked party is an owner or maintainer on the repository). Over the past six months, this has happened several times.


As we have said before, the Code of Conduct Committee believes that there are situations where blocking another developer is appropriate.  In the short term, both parties can still contribute to a discussion by the blocked party opening a linked issue to hold their comments, but this solution obscures their comments and muddles the timeline.  We do not think that widespread use of this tool is a productive way to actually resolve conflict.


We would like to solicit suggestions from the community for a new section of the Sage Code of Conduct addressing blocking.  The following is a draft:


Blocking another SageMath developer on GitHub can be a valid response to extreme misconduct,


This is the key point IMHO.
I suggest we only allow the CoC committee to block a SageMath developer in case of a serious dispute. 
Reasoning: If the dispute is not serious then no blocking is necessary. If the dispute is serious and their misconduct is alleged then the CoC should be involved anyway. 
If there is a sense that extreme misconduct has occurred then any developer can ask the CoCC to block them. 
However, if a developer who is not on the CoCC blocks a user then the CoCC should block that developer's github privileges for a small length of time, say a week or 2.

I suggest this draft proposal by the CoCC be amended with this in mind.

- David Joyner

aimed at reducing interactions. However, unless the misconduct results in the blocked person being excluded from the SageMath project, such blocks should be temporary and last only until the conflict is resolved. The SageMath Code of Conduct Committee should work with both parties to lift the block. If the blocked person does not cooperate, the committee may sanction them. If the blocker does not cooperate, the committee may decide that proper discussion on their Pull Requests and Issues is not feasible, and request that the release manager not merge any of their Pull Requests until the block is lifted.


We know that this issue is sensitive for several Sage developers, so we encourage everyone to follow the CoC and concentrate on discussing and advocating for the policies you believe are appropriate.

The SageMath Code of Conduct Committee

--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.

Matthias Koeppe

unread,
Sep 7, 2024, 12:21:22 PM9/7/24
to sage-devel
Doris, please do not trivialize abuse.

Matthias Koeppe

unread,
Sep 7, 2024, 12:55:44 PM9/7/24
to sage-devel
On Friday, September 6, 2024 at 1:23:21 PM UTC-7 jplab wrote:

[...] In the short term, both parties can still contribute to a discussion by the blocked party opening a linked issue to hold their comments, but this solution obscures their comments and muddles the timeline.  We do not think that widespread use of this tool is a productive way to actually resolve conflict.


The premise here -- that blocking users on GitHub is about "conflict" or "resolving conflict" -- is fundamentally flawed. 

Blocking users on GitHub is simply the last line of defense that targets of disrespect, disruption, disinformation, and abuse have against the harmful actions of perpetrators.

If the blocker does not cooperate, the committee may decide that proper discussion on their Pull Requests and Issues is not feasible, and request that the release manager not merge any of their Pull Requests until the block is lifted.

Adding such language to the CoC -- which effectively intimidates the targets of misconduct who use GitHub blocking as their last defense -- would be incredibly harmful.


Dima Pasechnik

unread,
Sep 7, 2024, 1:07:22 PM9/7/24
to Matthias Koeppe, sage-devel
Matthias,
as far as disrespect, disinformation, abuse, etc. is concerned, you have been caught perpetrating exactly these on numerous occasions.

And meanwhile you are basically demanding dictatorial powers in the project.

Dima

David Roe

unread,
Sep 7, 2024, 1:13:52 PM9/7/24
to sage-...@googlegroups.com
On Sat, Sep 7, 2024 at 7:11 AM 'Doris Behrendt' via sage-devel <sage-...@googlegroups.com> wrote:
Dear list,

boaaahhh come on guys! I again could't read all the past mails and cannot comment objectively, but subjectively this feels like Kindergarten. Perhaps Dima and Matthias (and the CoC group as well) should read >>Asterix and the big fight<<?

scnr

... some months ago I suggested the >>key players<< meeting in person and a professional mediation, but the CoC did not plan anything in that direction, right?

The CoC has met on Zoom (in person is harder) with many community members in an effort to resolve this.
 
SageMath is much too important to have quarrels like those destroy the project ... so CoC please do some real management. Writing proposals and E-Mails will not solve the problem, I believe.

If you have suggestions, I encourage you to reach out to us on sage-c...@googlegroups.com.
David

Kwankyu Lee

unread,
Sep 8, 2024, 11:50:13 PM9/8/24
to sage-devel
All mentions of  "SageMath" seem redundant and may be removed from the paragraph.
 

... If the blocked person does not cooperate, the committee may sanction them.


"them" -> "him or her". What is the possible sanction? I think the content of the sanction should be explicit and actionable as the blocker case.


 

John H Palmieri

unread,
Sep 9, 2024, 12:44:48 AM9/9/24
to sage-devel
(a) Your point about "SageMath" being redundant is a good one. 
(b) Some people do not use either pronoun "him" or "her", and so "them" covers more options. (The use of "they/them" as a generic singular pronoun is common, at least in US academic settings.)
(c) I think that the sanctions should depend on the actions which led to the blocking, in which case possible sanctions are already listed in the Code of Conduct. The new part is the potential response to a blocker who does not cooperate, and the proposed sanction is also new, intended to fit the situation.

Kwankyu Lee

unread,
Sep 9, 2024, 2:03:11 AM9/9/24
to sage-devel
Thank John for the response.

I have other questions in https://groups.google.com/g/sage-devel/c/cLnRyofH0lw/m/S__tbpV1AgAJ. They are about the period during which the blocking is effective. As the proposed policy from CoCC is about the resolution of the blocking, I think the policy should be supplemented with answers to my questions.

Martin R

unread,
Sep 10, 2024, 2:07:46 AM9/10/24
to sage-devel
The proposed change looks very reasonable to me - thank you for working on that!

Regarding Kwankyu's remark:

> A practical issue related with this discussion is as follows. If a member B is blocked by another member A, and there is a PR created by A. Then does B still (1) have the full rights to participate in the review process for the PR? Or (2) B's rights are suspended for the PR?

It seems to me that the serious problems mostly occur on a personal, rather than a technical level.  I think I do remember that during disputes in the past, some small other pull requests where proposed and reviewed by the same disputing parties.  However, it seems to me that the cost of personal disputes within the developer community is far larger than any benefit of having some other pull requests merged.  That said, I can imagine that working together on unrelated stuff may help soften personal disputes.  Therefore, I think it would be OK to leave this unspecified.  In any case, B already has the possibility to label a pull request as "disputed", which should prevent it from being merged.

Best wishes,

Martin

John H Palmieri

unread,
Sep 10, 2024, 2:09:15 PM9/10/24
to sage-devel
Just to clarify: my response was my own, not that of the Code of Conduct Committee.
Reply all
Reply to author
Forward
0 new messages