A PureScript community Code of Conduct?

I posted this thought of mine in the Slack channel, but it seems to be a topic that would be valuable to bring up on Discourse here, too.

I’ve started to define what I’d like a “PureScript Community” organization to look like: it’s role, responsibility, governance, provenance, standard, and what-not, and the people it would need to satisfy its expectations. I imagine a Code of Conduct would be part of the constitution of such an organization, so I got to thinking why I’m not already aware of one.

Maybe PureScript is too small to need a Code of Conduct? If so, that’s kinda nice. There have been a handful of relatively abrasive people I’ve come across in the PureScript community, but the difference in opinions has never been appalling and all discussions have stayed productive. So, on the whole, it’s kinda nice that the PureScript community has been relatively pleasant. Maybe we don’t need a code of conduct or similar.

The first feedback on this thought in the Slack chat room was sellout:

Yeah, but it’s best to add one before you need it, for a few reasons:

  1. it sends a signal to marginalized groups that you might actually try to support them, thus helping to build a more inclusive community to start with;
  2. it also sends a signal to people who you’d rather not include in the community; and
  3. once you have an issue, adding a CoC retroactively becomes much more difficult (see the past five(?) years of Scala).

Another important point that was brought up is that adopting a Code of Conduct also means that you need to enforce it, and the PureScript community might be unprepared to handle it, perhaps because it’s so small.

I’m interested to hear thoughts on topic that any readers of this post has.

4 Likes

Yeah, as I said in slack, the main reason I haven’t already been agitating for one is that I would be worried that having one might give the impression that we were better prepared (in terms of skills) to enforce it than we actually are. I don’t think the size of the community has much to do with it, it’s more that we would need to designate specific individuals who would respond to reports of violations, and this requires a fairly specific set of skills as well as ability to set time aside to do this work, and I’m not quite sure who that would be.

I consider myself to be a community moderator already to some extent, as I do tell people off every now and then on the issue tracker or on slack for failing to be considerate or respectful. So to be clear, if we were to add a CoC I would definitely want to be involved in its implementation and enforcement. I am just a bit nervous about whether we could put together a team which would be up to the task; as a cis white man there is definitely perspective I don’t have which would be useful for this sort of thing, for instance, and the impression I have is that cis white men are overrepresented in our community as well. But perhaps not having one at all is worse.

I’d highly recommend reading https://subfictional.com/the-complex-reality-of-adopting-a-meaningful-code-of-conduct/ - it’s very good and has been instrumental in my understanding of this topic.

Can someone clarify what “enforcing” means beyond the obvious in terms of excluding a person from a given line of communication? Is it even possible to ban people from Slack? They keep putting of /ignore as a feature because supposedly the world outside of business doesn’t exist, so what hope is there to even control the FP slack as a space?

Without trying to be inflammatory I think the way a CoC was used just recently in Scala as a way to seemingly exclude another group of people because of bad history is an example of where this kind of thing was just used as a weapon more than a reassurance for people. I feel like the best CoC is one that you never end up “using”. As sellout noted; a signal to people that there is an accepted way to do things.

With specifics in mind: Maybe “official” spaces in PureScript should have a unified CoC, but not delve into policing the eco-system?

2 Likes

Yeah, I don’t yet know what ‘enforcement’ means. Slack is indeed problematic for this reason, as you point out, but I think there’s probably value in setting out what we expect, even if we won’t always be able to ensure that those expectations are met.

There would definitely need to be some kind of process for dealing with reports of violations. ‘Enforcement’ is perhaps not the best word because it suggests punitive action - indeed one would hope that a lot of the time that wouldn’t be necessary, and could be avoided by e.g. talking to people involved and reaching an understanding.

To be absolutely clear though, I don’t think the phrase “bad history” comes close to capturing what has happened in the Scala community; there absolutely would need to be consequences for, for example, the way certain scalaz people have behaved, or there’s not really any point in having a CoC at all.

2 Likes

I agree, I think as a signal it’s probably worthwhile. It’s potentially bad to underdeliver (and I guess people would have different views on what constitutes underdelivery), but it’s probably better to have it anyway.

I guess practically speaking this is the hardest part as people are busy and anyone taking on the role might find themselves suddenly needed when it’s not convenient, which is a bad situation for everyone involved.

Then again, just having a designated person or a group of people will probably help combat the predatory behavior you can find in related communities where there were no clear people to contact about those things.

Regarding having people to “enforce” a CoC, I would guess that once the responsibility and CoC is clearly defined, then volunteers would appear.

We would also need to define where on the web this would apply. One practical and primary purpose that I immediately see is to ensure the social environment experienced by core maintainers and developers is positive and constructive. So I think the venues that crowd frequents would be the ones a CoC should apply to: 1) the one recommended chat room, like Slack, 2) core PS projects and libraries on GitHub, and 3) perhaps recommended forums or mailing lists, like Discourse here.

I’m curious to hear how you would distinguish these two places, @gonz. Chat rooms and social media versus GitHub issues? Or core GitHub projects and third-party, non-core GitHub projects, for example purescript-prelude vs purescript-sukiyaki?

I wouldn’t really want or need it emphasized too much, but by official I was thinking the ones you outlined above:

The idea behind these being distinct is perhaps mostly a practical one. It’s hard to police a bigger eco system.

Some more discussion on the chat room thread which should be cross-posted here.


joneshf [7 days ago]
I think the community has been pleasant enough for a very specific type of person: white males. I think it’s been very off putting to many other types of people.

sellout [7 days ago]
Honestly, I’m not involved enough with PureScript to know how good the community is (I mean, I know I haven’t personally seen anything egregious on the edges, but I don’t see much of it to begin with – and I’m certainly in the demographic where it’s easy for things to slip by unnoticed).

chexxor [7 days ago]
@joneshf I haven’t seen that - what kind of situation do you see that? You’re referring to the online PureScript community, right?

joneshf [7 days ago]
You can take stock of how many non-white and/or non-males are active in the community, then compare it to the amount of white males that are active. I think that says everything there is to say about it.

chexxor [7 days ago]
@joneshf Would you recommend PureScript actively changing its communication patterns to encourage minorities to contribute?

I’m not sure how we would do that - I would say it doing that would require someone from a minority group to take action to change PS to help their group out.

Also, I’d like to believe that a software project like this is relatively blind to the social status of its individual contributors, but I wouldn’t be surprised if that’s a wrong understanding…

Most of the PS community is on the internet, and on the internet everyone is an self-invented name and avatar.

Jakob Durstberger [7 days ago]
Adding my 2 cents here as I am an organiser of SoCraTes UK and trying to increase diversity as a topic very important to us.

Should we have a CoC?

Absolutely, I think it is important to send a public signal that this community will not tolerate any discrimination or unpleasentries.

Where should the CoC be hosted

I’d add it to purescript.org There is already a “community” section. And then refer back to it on slack and the other channels.

Would you recommend PureScript actively changing its communication patterns to encourage minorities to contribute?

I would love to see that.

I would say it doing that would require someone from a minority group to take action to change PS to help their group out.

To me this is the wrong way of thinking about it. The best comparison that comes to mind to me is cycling in London. Politicians thought that if people want to cycle they will do it (and it was a disaster). Only after they created the cycle speedways and therefore made it pleasant and inviting to cycle the amount of cyclists grew incredibly fast.If we want to show that this community is open and values diverse contributions we should take the first steps. Maybe talk to organisers of meetups for underrepresented groups and host a purescript workshop or similar. There are many ways we could tackle this.

Most of the PS community is on the internet, and on the internet everyone is an self-invented name and avatar

Seems like you are using your real name and a picture of yourself. Everyone should feel completely save with being able to do that. I am not a minority and I can’t speak for them but I can imagine that there are people who would not feel comfortable with doing that because they fear that they are not treated equally. A CoC would make it quite clear that everyone is welcome no matter their background, ethnicity, sexuality, gender, …Overall I think the purescript community so far is amazing and we have a really strong foundation we could build on. (edited)

Jakob Durstberger [7 days ago]
I don’t know if we want to keep this conversation here or move it all into discourse. Happy to post it there too

joneshf [6 days ago]

@joneshf Would you recommend PureScript actively changing its communication patterns to encourage minorities to contribute?

I don’t think I can answer that question. I think if the community wants to be all white dudes, it’s doing a good job. If it wants different people, with different thoughts, ideas and experiences, it has to change internally. Which means the white dudes have to be the ones to take action and make the change.

joneshf [6 days ago]

but I can imagine that there are people who would not feel comfortable with doing that because they fear that they are not treated equally.

This is exactly why I don’t have a picture of myself.@Jakob Durstberger I appreciate that you understand this.

joneshf [6 days ago]
I mean, I appreciate that whole explanation. Your two cents are worth more than that.

1 Like