Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

classic Classic list List threaded Threaded
78 messages Options
1234
Reply | Threaded
Open this post in threaded view
|

Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

janek.lilypond
Reviewers: pkx166h,

Message:
It seems I cannot create issues on sourceforge despite having an
account...
> Please enter a valid tracker issue number
> (or enter nothing to create a new issue):
> Error code 403
> Failed URL was
https://sourceforge.net/rest/p/testlilyissues/issues//new

James, can you help?

Description:
From Mike Solomon, originally discussed at
https://github.com/lilypond/lilypond/pull/8:

> Adds the Contributor Convent Code of Conduct to LilyPond. If we
implemented a
> code of conduct, it would only make sense if we had an enforcement
committee.
> In most organizations, enforcement committee members are exemplary of
the code
> itself.
>
> The list of adopters is quite robust [1], and I think it has been used
with a lot
> of success. I really hope we can adopt it.
>
> I would vote for @jan-warchol, @lemzwerg and @hanwen to be the members
of the
> first code of conduct committee.

All suggested members of the committee agree to accept this duty. So,
now the
question is for the whole LilyPond community: do you agree to having
this Code
of Conduct and do you accept the nominees to form the committee?

[1] it includes linux kernel and git project itself.

Please review this at https://codereview.appspot.com/575620043/

Affected files (+131, -0 lines):
  A CODE_OF_CONDUCT.md



dak
Reply | Threaded
Open this post in threaded view
|

Re: Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

dak
What problem are we trying to solve here?

https://codereview.appspot.com/575620043/

Reply | Threaded
Open this post in threaded view
|

Re: Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

Karlin High
In reply to this post by janek.lilypond
I am trying to understand the origins, motivations, and goals of this
effort to adopt a Code of Conduct. Could its proponents read and comment
on the following blog posts, identifying points of agreement and
disagreement?

https://www.wingolog.org/archives/2017/09/04/the-hardest-thing-about-hiring-is-avoiding-the-fash

https://drewdevault.com/2020/01/17/Effective-project-governance.html

https://codereview.appspot.com/575620043/

Reply | Threaded
Open this post in threaded view
|

Re: Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

janek.lilypond
In reply to this post by dak
Hi,

śr., 5 lut 2020, 00:34 użytkownik <[hidden email]> napisał:

> What problem are we trying to solve here?
>

In short, it's been found (I think Mike will be able to give you specific
examples) that having code of conduct encourages contributions from
newcomers.

Also, it's simply good to have a lightweight process for situations
(hopefully rare) when there is a serious personal conflict (I don't mean
disagreement on technical matters) or when someone's actions are hurting
other contributors or harm the community (regardless of good or bad
intentions).

Finally, I would say this will serve as a kind of lighthouse, a reference
point that will guide the community when heated technical discussions
happen.

Best,
Janek

PS this was proposed immediately after Salzburg conference but got stuck on
my review.

>
Reply | Threaded
Open this post in threaded view
|

Re: Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

jonas.hahnfeld
In reply to this post by janek.lilypond
Not having read any of this, I strongly suggest that this is discussed
on lilypond-devel _before_ anything is brought to review. Discussion on
GitHub is fine, but I for one wasn't aware that there is one!

https://codereview.appspot.com/575620043/

Reply | Threaded
Open this post in threaded view
|

Re: Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

janek.lilypond
Hi Jonas,

śr., 5 lut 2020 o 09:18 <[hidden email]> napisał(a):

> Not having read any of this, I strongly suggest that this is discussed
> on lilypond-devel _before_ anything is brought to review. Discussion on
> GitHub is fine, but I for one wasn't aware that there is one!
>

Thank you for being open. I considered uploading a patch for review to be
synonymous with opening the discussion on lilypond-devel, but I understand
now that this is not the case. I apologize. This was motivated by the
desire to have something specific to discuss, not to try sneaking anything
behind other people's backs! (The discussion on GitHub was not binding in
any way, I'm sure that all participants will confirm that.)

Can we continue this review treating it as a way of discussing things on
lilypond-devel, or would you prefer if I close it and start a
separate thread? I'm 100% fine with doing that, the last thing I'd like to
see it people feeling uncomfortable because of the way Code of Conduct was
proposed.

I'll be online again in the evening. Best,
Janek
Reply | Threaded
Open this post in threaded view
|

Re: Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

jonas.hahnfeld
In reply to this post by janek.lilypond
On 2020/02/05 08:44:06, janek wrote:
> Hi Jonas,
>
> śr., 5 lut 2020 o 09:18 <mailto:[hidden email]> napisał(a):
>
> > Not having read any of this, I strongly suggest that this is
discussed
> > on lilypond-devel _before_ anything is brought to review. Discussion
on
> > GitHub is fine, but I for one wasn't aware that there is one!
> >
>
> Thank you for being open. I considered uploading a patch for review to
be
> synonymous with opening the discussion on lilypond-devel, but I
understand
> now that this is not the case. I apologize. This was motivated by the
> desire to have something specific to discuss, not to try sneaking
anything
> behind other people's backs! (The discussion on GitHub was not binding
in
> any way, I'm sure that all participants will confirm that.)

I had hoped so, but the way it was proposed did not make this clear.

> Can we continue this review treating it as a way of discussing things
on
> lilypond-devel, or would you prefer if I close it and start a
> separate thread? I'm 100% fine with doing that, the last thing I'd
like to
> see it people feeling uncomfortable because of the way Code of Conduct
was
> proposed.

In my opinion we should have a thread on lilypond-devel. In particular
it should lay out what the motivation is / which problem is to be
solved. (see questions by David and Karlin)
A brief comment on the choice for this particular Code of Conduct and
lessons learned by other projects would be helpful.

I think we can leave this review open to have something concrete, I
fully agree on that point.

https://codereview.appspot.com/575620043/

Reply | Threaded
Open this post in threaded view
|

Re: Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

nine.fierce.ballads
In reply to this post by janek.lilypond
On 2020/02/05 09:03:22, hahnjo wrote:
> In my opinion we should have a thread on lilypond-devel. In particular
it should
> lay out what the motivation is / which problem is to be solved. (see
questions
> by David and Karlin)

Other questions:

You're asking for agreement from "the whole LilyPond community" but this
is vague.  What specific impact do you expect this Code of Conduct to
have on the process of becoming and being a LilyPond contributor?  Will
a formal expression of agreement be required before one's patches are
considered?


https://codereview.appspot.com/575620043/

dak
Reply | Threaded
Open this post in threaded view
|

Re: Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

dak
In reply to this post by janek.lilypond
Janek Warchoł <[hidden email]> writes:

> Hi,
>
> śr., 5 lut 2020, 00:34 użytkownik <[hidden email]> napisał:
>
>> What problem are we trying to solve here?
>>
>
> In short, it's been found (I think Mike will be able to give you specific
> examples) that having code of conduct encourages contributions from
> newcomers.

I rather think that a friendly atmosphere encourages contributions from
newcomers.  Whether an upfront requirement to commit to a set of rules
with an enforcement team is perceived as a guarantee of a friendly
atmosphere is debatable.

So this issue would seem more pressing if there is evidence of people
acting in a way on the LilyPond lists denying people the opportunity to
contribute in a generally friendly atmosphere.

If that is not the case, the proposed solution involves censure and
eventual removement by a team of 3 enforcement officers.  Now of the
proposed team, two have already expressed personal issues with the way I
am conversing with the list, so given the generally very welcoming
atmosphere in the LilyPond lists, the principal impact to be expected on
LilyPond development appears to have an official body entitled to
censure my behavior and eventually, out of a sense of duty, remove me.

I have had this kind of backroom diplomacy remove me from one choir
after almost a year of intense work (I am an asset as a good sight
reader) before the first concert I could have participated in, and I
quit another choir I had worked hard for for five years after getting
censured by a choir committee after I had publicly answered a question
about whether a singing engagement at a choir member's birthday
celebration or else (things I participated in as a rule but would not be
foolish enough to ask for myself) should also involve a more tangible
present from the general choir funds.

I quit that choir since my personal and communication skills do not
allow me to take corrective action without actually communicating to the
offended party, and thus being censured via an official anonymous
complaint channel gave me no option of compensating for my well-known
deficiencies, and getting referred to via channels intended for
denunciation was not my idea of being part of a community.

Since judging from my personal past, the foreseeable impact on my
personal ability to keep participating as a community member given such
a mechanism will be high, the question is how much of a benefit is to be
expected for others from having a formalized committee where everyone,
on pain of getting expulsed themselves, is only doing their duty.

Now it is not that hard, given obvious public backing, to get me off a
list.  Andy Wingo has banned me from participating on the Guile
developer list, and I have pretty much obeyed that ban on the spot (with
at most a few replies a year creeping through when I followed
conversations and inadvertantly replied) even though it was not enacted
with technical measures.

The general stance of the GNU project on its internal lists is to rely
more on education and admonishment than official committees, censure,
and exclusion.

It can be read at
<https://www.gnu.org/philosophy/kind-communication.html>.  This document
is not focused on enforcement: instead it is a rationale for people with
problematic communication about why and how they could try to improve.

That is assuming, of course, that people are not recklessly engaging in
unwelcoming behavior: for open-and-shut cases, it tends to be within the
authority of a basic list administrator to take action.  This has
happened on LilyPond lists I think, but very rarely so.  The list
administrator doing duty here is not as much affiliated with LilyPond as
being a volunteer of GNU.  I think.  It's embarrassing that I don't even
know for sure, but that's the way things turn out that just work.

So in light of my personal experiences with this kind of backroom
channel (and it's worth noting that even the cited Linux developer list
removed the corrective measures part from the CoC they are using), I
would very much like to see some more imminent reason of why LilyPond
would stand to benefit from adopting a code and accepting a corrective
committee that has basically proposed itself rather than being the
result of a list-wide election and where just one member has been a
permanent fixture on the lists for a longer amount of time at this
moment.

--
David Kastrup

Reply | Threaded
Open this post in threaded view
|

RE: Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

Mike Solomon-4
Janek Warchoł <[hidden email]> writes:

> Hi,
>
> śr., 5 lut 2020, 00:34 użytkownik <[hidden email]> napisał:
>
>> What problem are we trying to solve here?
>>
>
> In short, it's been found (I think Mike will be able to give you
> specific
> examples) that having code of conduct encourages contributions from
> newcomers.

> I rather think that a friendly atmosphere encourages contributions from newcomers.  Whether an upfront requirement to commit to a set of rules with an enforcement team is perceived as a guarantee of a friendly atmosphere is debatable.

I personally would feel more comfortable if there were a code of conduct, and I know within my company one employee will not attend a conference or participate in a project unless there is a code of conduct.  I don't have any hard stats to prove this, but have a gut feeling that a code of conduct opens more doors than it closes.

> So in light of my personal experiences with this kind of backroom channel (and it's worth noting that even the cited Linux developer list removed the corrective measures part from the CoC they are using), I would very much like to see some more imminent reason of why LilyPond would stand to benefit from adopting a code and accepting a corrective committee that has basically proposed itself rather than being the result of a list-wide election and where just one member has been a permanent fixture on the lists for a longer amount of time at this moment.

A list-wide election is a good idea.

At the Salzburg meetup, one common thing a lot of people brought up was a slow-down in development and a shrinking pool of contributors.  IMO we should do several experiments to fix this. The CoC I proposed is used in over 40,000 projects including many of the most active and diverse open source projects on github, so it seems like a reasonable experiment. If it proves to be a dud, we can get rid of it.

~Mike
dak
Reply | Threaded
Open this post in threaded view
|

Re: Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

dak
Mike Solomon <[hidden email]> writes:

> Janek Warchoł <[hidden email]> writes:
>
>> Hi,
>>
>> śr., 5 lut 2020, 00:34 użytkownik <[hidden email]> napisał:
>>
>>> What problem are we trying to solve here?
>>>
>>
>> In short, it's been found (I think Mike will be able to give you
>> specific
>> examples) that having code of conduct encourages contributions from
>> newcomers.
>
>> I rather think that a friendly atmosphere encourages contributions
>> from newcomers.  Whether an upfront requirement to commit to a set
>> of rules with an enforcement team is perceived as a guarantee of a
>> friendly atmosphere is debatable.
>
> I personally would feel more comfortable if there were a code of
> conduct, and I know within my company one employee will not attend a
> conference or participate in a project unless there is a code of
> conduct.  I don't have any hard stats to prove this, but have a gut
> feeling that a code of conduct opens more doors than it closes.
>
>> So in light of my personal experiences with this kind of backroom
>> channel (and it's worth noting that even the cited Linux developer
>> list removed the corrective measures part from the CoC they are
>> using), I would very much like to see some more imminent reason of
>> why LilyPond would stand to benefit from adopting a code and
>> accepting a corrective committee that has basically proposed itself
>> rather than being the result of a list-wide election and where just
>> one member has been a permanent fixture on the lists for a longer
>> amount of time at this moment.
>
> A list-wide election is a good idea.
>
> At the Salzburg meetup, one common thing a lot of people brought up
> was a slow-down in development and a shrinking pool of contributors.
> IMO we should do several experiments to fix this. The CoC I proposed
> is used in over 40,000 projects including many of the most active and
> diverse open source projects on github, so it seems like a reasonable
> experiment. If it proves to be a dud, we can get rid of it.

The preamble and intent is one thing; adding a corrective committee with
the authority to enact punishments based on anonymous reports is
another.  It implements hierarchies and institutions exerting coercive
power based on incomplete and secret information.  That is inherently an
entity offering an opportunity for "pulling strings".  I am not really a
fan of constructs with a life and dynamics of their own.

--
David Kastrup

dak
Reply | Threaded
Open this post in threaded view
|

Re: Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

dak
In reply to this post by Mike Solomon-4

Another remark:

Mike Solomon <[hidden email]> writes:

> At the Salzburg meetup, one common thing a lot of people brought up
> was a slow-down in development and a shrinking pool of contributors.
> IMO we should do several experiments to fix this. The CoC I proposed
> is used in over 40,000 projects including many of the most active and
> diverse open source projects on github, so it seems like a reasonable
> experiment.

I think that may be confusing cause and effect.  I consider it more
likely that people saw a necessity of formalising relations and
communication _because_ they were amongst the most active and diverse
groups than the other way round.

> If it proves to be a dud, we can get rid of it.

I'd prefer to do it the other way round: if we can to a reasonable
degree agree that our communication has become a dud, that may be
incentive to get a hold of it.

Independent of promising corrective measures, I would not object to
quoting the GNU kind communication guidelines on our web pages and
asking contributors to give them a good thought.

Quoting relevant parts where people's communication are in obvious need
of improvement are also appropriate.

What I find less effective is just name-dropping of either CoC or the
GNU guidelines without referencing a particular passage.  Probably more
so with the latter since they do not contain an inherent threat.

--
David Kastrup

Reply | Threaded
Open this post in threaded view
|

RE: Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

Mike Solomon-4
In reply to this post by dak
Mike Solomon <[hidden email]> writes:

> The preamble and intent is one thing; adding a corrective committee with the authority to enact punishments based on anonymous reports is another.  It implements hierarchies and institutions exerting coercive power based on incomplete and secret information.  That is inherently an entity offering an opportunity for "pulling strings".  I am not really a fan of constructs with a life and dynamics of their own.

It's a big responsibility. I think the way to do it is talk to successful committees (ie the Facebook Open Source CoC Committee) and learn how they've dealt with challenging situations.

One example: in communities that are more gender balanced, I've heard of situations where a man starts writing inappropriate messages to a woman and she reports the messages to the CoC committee.  In this case, I think secrecy, hierarchy and coercive decision making power is important to preserve the dignity of all parties.  It also encourages people to come forward, which is much harder to do in the open.

I don't know of many communities with good gender balance that don’t have codes of conduct, probably for this reason.  Ultimately, I think the benefits of secrecy, hierarchy and possible coercion in matters of conduct outweigh the negatives, although I agree with you that secrecy and hierarchy should be the exception and not the rule. Most communication should be in the open and hierarchy free.

Thanks,
~Mike
dak
Reply | Threaded
Open this post in threaded view
|

Re: Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

dak
Mike Solomon <[hidden email]> writes:

> Mike Solomon <[hidden email]> writes:
>
>> The preamble and intent is one thing; adding a corrective committee
>> with the authority to enact punishments based on anonymous reports
>> is another.  It implements hierarchies and institutions exerting
>> coercive power based on incomplete and secret information.  That is
>> inherently an entity offering an opportunity for "pulling strings".
>> I am not really a fan of constructs with a life and dynamics of
>> their own.
>
> It's a big responsibility. I think the way to do it is talk to
> successful committees (ie the Facebook Open Source CoC Committee) and
> learn how they've dealt with challenging situations.
>
> One example: in communities that are more gender balanced, I've heard
> of situations where a man starts writing inappropriate messages to a
> woman and she reports the messages to the CoC committee.  In this
> case, I think secrecy, hierarchy and coercive decision making power is
> important to preserve the dignity of all parties.  It also encourages
> people to come forward, which is much harder to do in the open.

Frankly, I have my doubts that "in case you encounter a problem with
acceptance of your demographic, here is a committee of three white men
you can complain to" will be the most successful pitch.

> I don't know of many communities with good gender balance that don’t
> have codes of conduct, probably for this reason.

Programming communities tend to be very lopsided.  That was different
the other way round when programming was considered low-pay work serving
mathematicians.  It's also at least less extreme outside of Western
cultures.  Personally, I find that disgraceful as a statement about
society, but the demographics in developer groups tend to reflect what
society does.  In the LilyPond user groups, one does see occasional
women with questions (judging from the names) and I don't recollect any
inappropriate or gender-isolating behavior in response.

> Ultimately, I think the benefits of secrecy, hierarchy and possible
> coercion in matters of conduct outweigh the negatives,

I think it depends on the necessity.  Do you have any examples of female
contributors or users that have been treated on LilyPond mailing lists
or other communication media in a manner where it would have been
reasonable to assume that they would have wanted to be able to file a
complaint?

> although I agree with you that secrecy and hierarchy should be the
> exception and not the rule. Most communication should be in the open
> and hierarchy free.
>
> Thanks,
> ~Mike

--
David Kastrup

Reply | Threaded
Open this post in threaded view
|

Re: Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

Mike Solomon-4
One procedural question: what are acceptance procedures for a PR like this? There is good debate and a variety of opinions, but at a certain point we will need to make a decision - do we implement the CoC or not? I doubt that any new arguments will emerge on either side.  David has made several good arguments against it, and while the points are valid, they don't outweigh IMO the potential for it to improve the problem of low contribution volume and a shrinking pool of developers. I'm also admittedly biased in that I don't feel comfortable contributing unless there is a code of conduct with clear steps for reporting violations and consequences for repeat offenders, so I'm probably not the best person to make the final call.

~Mike

dak
Reply | Threaded
Open this post in threaded view
|

Re: Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

dak
Mike Solomon <[hidden email]> writes:

> One procedural question: what are acceptance procedures for a PR like
> this? There is good debate and a variety of opinions, but at a certain
> point we will need to make a decision - do we implement the CoC or
> not?

What does "implement" mean?

> I doubt that any new arguments will emerge on either side.  David has
> made several good arguments against it,

I would not call them "good" as much as "personal".

> and while the points are valid, they don't outweigh IMO the potential
> for it to improve the problem of low contribution volume and a
> shrinking pool of developers. I'm also admittedly biased in that I
> don't feel comfortable contributing unless there is a code of conduct
> with clear steps for reporting violations and consequences for repeat
> offenders, so I'm probably not the best person to make the final call.
>
> ~Mike
>
>

--
David Kastrup

Reply | Threaded
Open this post in threaded view
|

Re: Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

Mike Solomon-4
> What does "implement" mean?

Sorry, I wasn't clear. I meant merge the PR.

dak
Reply | Threaded
Open this post in threaded view
|

Re: Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

dak
Mike Solomon <[hidden email]> writes:

>> What does "implement" mean?
>
> Sorry, I wasn't clear. I meant merge the PR.

Uh, words have meanings.  There would be no point of putting something
into our documentation that we are not going to follow through with.

--
David Kastrup

Reply | Threaded
Open this post in threaded view
|

Re: Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

Mike Solomon-4
Mike Solomon <[hidden email]> writes:

>> What does "implement" mean?
>
> Sorry, I wasn't clear. I meant merge the PR.

> Uh, words have meanings.  There would be no point of putting something
into our documentation that we are not going to follow through with.

By merging it, the idea would be that the first committee of 3 started acting as a CoC committee.

What are the blockers to making a decision about this patch? Does it need more discussion or more buy in? As I've been out of the community for so long, I no longer have a sense of when things are merged.

~Mike

dak
Reply | Threaded
Open this post in threaded view
|

Re: Add Code of Conduct (issue 575620043 by janek.lilypond@gmail.com)

dak
Mike Solomon <[hidden email]> writes:

> Mike Solomon <[hidden email]> writes:
>
>>> What does "implement" mean?
>>
>> Sorry, I wasn't clear. I meant merge the PR.
>
>> Uh, words have meanings.  There would be no point of putting something
> into our documentation that we are not going to follow through with.
>
> By merging it, the idea would be that the first committee of 3 started
> acting as a CoC committee.
>
> What are the blockers to making a decision about this patch?

Consent?

> Does it need more discussion or more buy in?

As the change would affect all developers and, as far as I can discern,
also users on the LilyPond user list, it would require broad consent.
Most of the potentially affected persons have not even been notified of
the proposal.

> As I've been out of the community for so long, I no longer have a
> sense of when things are merged.

To be honest, I am irritated at what looks like bulldozering through
with a proposal that has the clear implications of removing the current
lead developer from the project eventually, in particular since there
are no other imminent problems it currently purports to solve.  The
proposal arrived today and you want to have it accepted within hours.

I think that this is not a time frame where other developers as well as
users can be expected to make and voice a qualified decision.

--
David Kastrup

1234