ocaml-community / meta

Administration and documentation for the ocaml-community organization.
Other
29 stars 5 forks source link

Code of conduct? #24

Closed mjambon closed 5 years ago

mjambon commented 5 years ago

Hey all, I'm considering moving some of the projects at @mjambon to here, as it requires too much expertise to manage all the facets of project development and distribution. Before getting involved, I'd like to know if the organization has a code of conduct. The goal is to ensure everyone (including me!) feels comfortable contributing, so that the community can grow. We could probably reuse a document that's already in use by another community in order to save efforts.

Thoughts?

pmetzger commented 5 years ago

We don't have a code of conduct. I don't think we need one. It is sufficient to know that we won't tolerate unpleasant behavior from contributors. ocaml-community isn't likely to run any in-person events, has no mailing lists, etc., so I think that the expectation that contributors should behave themselves should be enough. I've got to say that there are few situations I'm aware of where invoking strongly legalistic language in the absence of need has proven to be a positive thing. One doesn't need a code of conduct for visitors to your home to know that it's okay to ask them to leave if they start smashing the dinner plates, and it would be unpleasant to ask everyone visiting your home to agree to one. Common civility and norms are sufficient.

pmetzger commented 5 years ago

(That said, I'm happy to add something to the "meta" README saying that contributors are of course expected to treat each other politely, and that we reserve the right to block people for being impolite to others. More than that seems excessive to me.)

rizo commented 5 years ago

@mjambon I'm curious if you have any particular reasons for this suggestion. If you do, we could of course try to address those issues.

In general I agree with @pmetzger and think we should expect everyone to follow common norms. If we do face a concrete situation in the future that would require a code of conduct, we can think about adopting one then.

Having said that, I do not have any experience with such community policies personally, so we should gather opinions from other community members. Maybe @bluddy, @gasche, @Drup or @c-cube have a opinion about this.

pmetzger commented 5 years ago

BTW, in saying I don't think we need the legalism, I don't want to give the impression we should tolerate unpleasant behavior. Mean people drive contributors away from projects, and no one should be forced to put up with them. I just don't think that it is important to solve a problem before it arises, and in the present case, that problem would be some inability to deal with an unpleasant person without having a code of conduct. I've seen many projects successfully ask unpleasant people to move on without having such things, so I'm not sure what having the document adds over the universal expectation that societal norms against being unpleasant to others apply.

pmetzger commented 5 years ago

I added an informal section to the end of the FAQ. Please have a look at it and tell me if you think we need more than this.

gasche commented 5 years ago

Thank for pinging me! I disagree with @pmetzger on this. I think that if @mjambon asks, then we should have a Code of Conduct (CoC). (Argument below.)

There has been a trend lately, in the larger world of software communities, of collectively agreeing on code of conducts. For cultural and historical reasons, replies such as @pmetzger's are often a community's first reaction: we don't need legalism, let's just agree to be nice to each other (in many places there was an overall feeling that this was already the case), and I perfectly understand that perspective (this is also what I would have said if I hadn't followed code-of-conduct stories in other communities). In many cases, though, issues whose handling would have been helped by a CoC did surface; it turns out that it is easy to miss the problems in your community if you are not investing serious efforts in finding them, don't have a process in place to encourage people to report them.
(On the other hand, while some people are initially worried about a code of conduct being over-interpreted in some nefarious ways, I haven't heard of many communities where this actually proved a problem in practice, as long as they could find reasonable and legitimate/trusted people to be responsible for handling breach-of-code reports. Not everyone is always happy in communities with CoC, or without CoC.)

So I've been thinking from time to time about whether the OCaml community (or smaller subgroups within the OCaml community) should get a code of conduct. We are smaller community than most, and I have not been made aware of many interpersonal problems that would have required a CoC to be handled -- but then, maybe there are and we don't know about them. Discussions do get heated sometimes, and some people behave in ways that I find abrasive/rude to each other¹, but I never felt enough of a problem to do the somewhat tedious work of getting a CoC adopted. I think that we should get a CoC if either (1) a problem arises that clearly would have required one or (2) someone with a reasonable stake in our community asks for one. This issue is a case of (2), so I think that "we" (in this instance the ocaml-community) should get a CoC.

¹: I have myself replied to others in ways I am not proud of, and on some of these instances it was pointed out to me that I behaved incorrectly, which was very helpful.

(If we want to adopt a code of conduct, I have the impression that we could just use the Contributor Covenant's one.)

pmetzger commented 5 years ago

There has been a trend lately, in the larger world of software communities, of collectively agreeing on code of conducts

It is a trend I loathe, for what it is worth. I've also seen several communities torn apart by the adoption of such codes.

I have the impression that we could just use the Contributor Covenant's one.

I hate that Code of Conduct in particular. It focuses not on the desire of the community to get along to achieve the goal of maintaining good software, but rather on vague political goals such as improving "equality". At the same time, that CoC is notorious for the difficulties it poses to non-neurotypical participants in open source communities like people with Asperger's Syndrome, discriminating heavily against them while claiming that the goal is equal treatment of all, thus making a mockery of it's claimed purpose. This CoC also attacks the idea of meritocracy, which is a core value of engineering cultures — unlike, say, publishing or gardening, the core question in engineering has to be technical merit, as without that, the world's infrastructure is harmed.

I do not think the Contributor Covenant should be adopted, full stop.

pmetzger commented 5 years ago

BTW, I'll repeat that I think it is essential that communities enforce standards of civility, politeness, collegiality, etc. It can be horribly toxic when individuals are systematically rude to other contributors. It makes contributing stressful and unpleasant, drives away valuable contributors, reduces the fun in participating in something that is often unpaid work, etc. However, the goals of the Contributor Covenant seem to have very little to do with maintaining civility to make sure that software can be successfully maintained, and as such, I reject it.

c-cube commented 5 years ago

I think we should adopt a coc, especially now that at least one significant contributor to the community has expressed the need for it.

I think @gasche has made a good argumentation, but let me add that I've never heard of a community where the coc actually drove away contributors that were not toxic (examples welcome). The recent adoption of a coc by the linux community was, I think, a good example that most of the vocal opponents are the people who prevent the community from being welcoming (ie the ones who fetishize Linus' very aggressive style).

Adding a coc will probably not drive anyone away, and it's a positive signal to future contributors.

pmetzger commented 5 years ago

What specifically do you feel was not covered in the text I added to README.md? We can of course add text to cover such things if needed.

As for people being driven away, I have acquaintances that vociferously disagree with you. I don't have Aspergers, but I can bring in a number of people I know who are extremely bitter about the adoption of codes of conduct they feel are almost maliciously directed against them. I will ask some of them to comment if that's required.

I also do not agree with the goals or ideas behind the Contributor Code. It is a political document, not an attempt to rein in contributors with an aggressive personal style. I do not appreciate the politicization of open source software projects, and the Contributor Code is an attempt to politicize them.

The goal of keeping projects friendly and the contributors civil is a good one, however. Can you explain why, specifically, you feel it cannot be achieved without adopting this particular document? What situation do you feel might arise that cannot be dealt with?

rizo commented 5 years ago

@gasche thanks for your informative comment, I do agree now we should adopt one.

@pmetzger you seem to have a strong opinion about this. After reading through the Contributor Covenant Code of Conduct I personally don't see it as too political as you suggest. Could you show some examples of other Code of Conduct documents that you find less intrusive?

c-cube commented 5 years ago

I just re-read https://www.contributor-covenant.org/version/1/4/code-of-conduct and I don't see any issue with it. It doesn't aim at excluding people on the autism spectrum and is pretty straightforward, I think. Can you point out which parts you (or your acquaintances) find problematic?

pmetzger commented 5 years ago

@rizo I made a change to the README.md that I think is less intrusive.

It doesn't aim at excluding people on the autism spectrum

It isn't aimed that way but has a strong effect in that direction. Would you like me to summon some people who will happily explain why? I think it's more effective if I ask them to tell their stories directly.

pmetzger commented 5 years ago

Anyway I added some specific language to the README. Can someone tell me what they feel I didn't cover that they think would be a problem in the real world? We can add language to cover things that aren't mentioned if necessary.

pmetzger commented 5 years ago

BTW, if needed we can take that last FAQ entry and call it a "Code of Conduct" if people insist. Is there anything substantive I failed to mention in it? I believe that content makes it pretty clear that Linus Torvalds style insults and personal attacks would not be tolerated, for example.

gasche commented 5 years ago

@pmetzger, on the question of the current FAQ entry:

The document you wrote looks very much like a (home-grown) code of conduct to me. It seems weird to have a code of conduct in a FAQ entry about not having a code of conduct. I perfectly understand that the reason for this choice is communication: some people get angry when they see a Code of Conduct, but there are also legitimate reasons to have one, so you are trying to work around this issue by having a code of conduct without saying so -- we can call it Etiquette rules, Behavior Guidelines, etc. The problem with this approach is that other people apparently want to see a signal that there is, in fact, a code of conduct (or Etiquette, Guidelines, etc.) -- see precisely @mjambon's post above. We are pretty much doomed, in a polarized situation, if different people want incompatible things.
If I had to choose, I would say that it is rather reasonable to signal that we want people to behave well and to consider taking steps if there are conflicts. If you think that calling it something else than code of conduct matters, we can consider that, but I would still in favor of reusing a standard, widely-used document, rather than performing the slightly-too-exciting exercise of writing our own prose.

Another, more practical problem with the document, is that it says almost nothing about reporting unpleasant behavior (there should be an email address of some sort?), except for repeat troubles. My understanding is that people who would like to report unpleasant behavior would prefer to get clear guidelines to follow, and need to know about whether confidentiality is guaranteed or not, for example.

(I would also like to make the point that I certainly believe that targeted, on-shot unpleasant behavior can happen in our community. Once, in a slightly different but overlapping community, I received an insulting anonymous letter, and the effects can be surprisingly negative.)

pmetzger commented 5 years ago

It seems weird to have a code of conduct in a FAQ entry about not having a code of conduct.

As I said, if people really insist, we can call it a Code of Conduct. I don't love it, but it's just a name. I object more to the specific models people have had of such documents, not to names.

Another, more practical problem with the document, is that it says almost nothing about reporting unpleasant behavior (there should be an email address of some sort?), except for repeat troubles.

We can be more explicit, and if we really need to state email addresses for reporting stuff, we can.

Note, though, that everyone has a bad day once in a while. I think it is a mistake to encourage people to try to get others kicked out if something isn't a habitual behavior pattern. (I've yet to meet anyone who didn't get irritable once in a while, there's even famously a picture online of Fred Rogers, probably the closest thing Americans under 60 have to someone everyone regards as a saint, giving someone the middle finger.)

Once, in a slightly different but overlapping community, I received an insulting anonymous letter, and the effects can be surprisingly negative.

I don't doubt it. Of course, it would be hard to find the source of an anonymous letter (more or less by definition.) I think it's reasonable to want people to be polite, as I said, and even to say that we won't tolerate people being impolite. I just would prefer to avoid politically motivated documents or excess formality.

BTW, I'll point out that one prominent OCaml'er has been exceptionally rude to me. I've avoided being rude back or worrying about it too much, but it was rather unpleasant and discouraging. I fully understand the desire not to coddle such behavior.

pmetzger commented 5 years ago

Oh, and if it is important to say "we will not disclose your report unless you agree to it" or what have you (i.e. the confidentiality thing), I think that's fine, so long as one is not expected to act on an anonymous denunciation with no evidence available to the person being denounced, which feels horribly unjust. Regardless, if you suggest some specific edits to the language, I am sure we can come to an agreement. What I don't want to adopt is the "Contributor Code" or the like. And as I said, I'd prefer to keep things informal, but if calling it a "Code of Conduct" is really demanded, names are not as important as content and spirit.

Khady commented 5 years ago

It doesn't aim at excluding people on the autism spectrum

It isn't aimed that way but has a strong effect in that direction. Would you like me to summon some people who will happily explain why? I think it's more effective if I ask them to tell their stories directly. Yes please, it would be helpful.

pmetzger commented 5 years ago

BTW, I've made some edits to remove the claim that this isn't a code of conduct (the title of the section has changed, and I may shortly remove it from the FAQ and make it a section of it's own), to make it clear that the section explains what to do if someone is misbehaving, and to clarify the language about when you should get in touch.

pmetzger commented 5 years ago

I just made the section standalone so that it is more prominent and tweaked it a bit more.

gasche commented 5 years ago

One person we should listen to is @mjambon: what do you think would be helpful to make you comfortable contributing?

pmetzger commented 5 years ago

I would also like to hear what @mjambon feels his needs on this are (especially in terms of goals rather than in terms of specific mechanisms).

mjambon commented 5 years ago

I read the thread and everyone's making valid points.

The reason for me asking for a code of conduct is a particular individual who's occasionally active in the OCaml community. Things that he did in other technical groups and that are unacceptable include:

He uses other tactics, such as posing as an intellectual authority, to maintain control of these groups in which he's an admin.

  1. I don't think such people should be admins, even if their behavior in this particular group is acceptable. Some background checking and vetting by other community members sounds like a good idea.
  2. The presence of a written code of conduct would give a guarantee that bad behavior will be rare and won't stick. This makes it possible to have more contributors by a. to some extent, accepting people with a dubious reputation elsewhere, and b. not rejecting people who otherwise would be afraid of being attacked.
mjambon commented 5 years ago

The contents of "Polite behavior, and what to do if someone else isn't polite." in the readme seems about right to me. It's all about signalling how the group works, and I think form matters. My inclination would be to make this section look less like an afterthought by choosing a more direct title such as "non-harassment policy" or "code of conduct" or something that shows more decisiveness. Probably we should get rid of the parentheses. Also, I would state very clearly the consequences for misbehaving, and who has the power to take action.

rizo commented 5 years ago

I'm very sorry this experience happened to you in the OCaml community.

pmetzger commented 5 years ago

The reason for me asking for a code of conduct is a particular individual who's occasionally active in the OCaml community. Things that he did and that are unacceptable include:

  • publicly insulting people within the community at large
  • publicly insulting a person in the group before banning them with no warning [...etc.]

I can't be sure who you are referring to, but it doesn't matter. I've certainly had bad encounters with an individual in the context of the OCaml community who was very unpleasant to me, and it was very off-putting and reduced my desire to contribute for a time. As I've tried to make explicit, I'd agree that directly insulting behavior, regardless of whether it is under color of authority or not, is unacceptable, and I would not want to give any authority to a person with a sustained history of being unpleasant. My concern is with not having political arguments imported by what are often called "codes of conduct" but which extend beyond responding to bad behavior — I heartily agree that toxic personalities drive people off, and I don't want to be near them either.

My inclination would be to make this section look less like an afterthought by choosing a more direct title such as "non-harassment policy" or "code of conduct" or something that shows more decisiveness. Probably we should get rid of the parentheses. Also, I would state very clearly the consequences for misbehaving, and who has the power to take action.

If you want to propose direct edits for the section I wrote, feel free to do so (a pull request would also be fine, indeed, might safe some time). Otherwise, I'll make some edits to try to fix your concerns a bit later today.

mjambon commented 5 years ago

@rizo it didn't happen in the OCaml community. I just re-read my post and edited it.

pmetzger commented 5 years ago

I'm amending the second to last paragraph to include:

If the other person's bad behavior is difficult to ignore, or is habitual, or they have become a problem for the community, ask the owners of the OCaml-community organization to intervene. We will not disclose that you have complained without your permission. We will attempt to get the person in question to change their behavior, or, if that appears to be futile, we will ban them from further participation in the community.

mjambon commented 5 years ago

@rizo @pmetzger the individual I mentioned is active in AI communities. As far as I can tell, he's been behaving ok on OCaml forums. Except for the off-topic post I flagged last week on discuss.ocaml.org, in which he tried sneakily to position himself as some sort of authority.

pmetzger commented 5 years ago

@mjambon I pushed some more changes. See what you think of them. I haven't retitled the section yet but will consider it — that said, I think it already is crystal clear that we don't accept people being rude.

Also, if you want to discuss your concerns about this individual with me in private, my email address is on my github page.

mjambon commented 5 years ago

As it stands, the readme covers completely my sources of concern regarding contributors. I think it would benefit from an outline or a summary that allows faster reading.

Here's an attempt at outlining what we ask from contributors:

Additionally, I would explain that there are admins and what their duties are:

Admins are asked to:

mjambon commented 5 years ago

Thanks @pmetzger for taking care of crafting the document.

IanConnolly commented 5 years ago

Hi, I've been following along with this -- not a contributor but someone who does works primarily with OCaml professionally on a daily basis and would be happy to get more involved.

First off: I think the discussion thus far has been really well done, and is a credit to the people involved that it has stayed so constructive, even in the face of clear disagreement.

I have a couple of thoughts I'd like to raise, and feel free to ask me to clarify/rephrase if necessary.

I have concerns with the primacy of 'politeness' as a goal in the text as-is. If you take the Contributor's Covenant as a counter-example, it mentions being welcoming, empathetic, and respectful -- but specifically does not mention politeness.

Politeness is something that can be and is regularly weaponized by bad faith actors in communities. Bad faith actors regularly creep to the edge of politeness, intentionally poking and prodding people in ways designed to make them angry and emotional. Once you've been made angry and emotional you've lost their game, and the bad faith actor will point at your emotional outburst and this code-of-conduct-esque text as evidence that they were right all along.

I don't intend this to be an argument against being polite, only its centering as the primary virtue this community should strive for. The Contributor's Covenant talks of "open and welcoming environment", "harassment-free experience for everyone", "welcoming and inclusive language", "Being respectful of differing viewpoints and experiences" etc. -- all of which are impossible without politeness, but politeness is not the goal, merely a tool.

For what it's worth, this is only a single example of a number of very nuanced, very difficult things I firmly believe that the Contributor's Covenant got right through a lot of hard work and time. I think attempting to recreate even a smaller subset of it is fraught with subtle, hard-to-catch mistakes.

As an example, the Contributor's Covenant has been said in this thread to potentially have issues when dealing with members of a certain community (people on the Autistic spectrum), but those issues have not been clearly articulated. I've no doubt that these are real things that people have experienced in good faith, and we should work to amend the text and push those improvements upstream. However, don't forget that this (the Contributor's Covenant) text is in its fifth major revision, and the text has been picked apart word-by-word by dozens of critical communities. Could anything we could muster up as a community from scratch hope to stand up to that level of rigor? Similarly, if after five major revisions there are members of certain communities who feel like the text does not fully support them then how many people will we alienate via a homegrown implementation?

mjambon commented 5 years ago

@IanConnolly I must say I dislike much of the language of the Contributor Covenant. I also don't care so much because what matters is to set expectations for future members. That said, I still prefer a short paragraph written by community members over 3rd-party boilerplate that is more likely to be ignored.

Similarly, if after five major revisions there are members of certain communities who feel like the text does not fully support them then how many people will we alienate via a homegrown implementation?

Probably fewer because:

  1. It will feel personal, heart-felt, and not something done because everyone else does it.
  2. It will resonate better with the population we're trying to reach. The language of the Contributor Covenant is US-centric and politically charged.
pmetzger commented 5 years ago

If people are alienated by the notion that we're trying to foster a friendly, engineering focused environment where ad hominem argumentation and insults are unwelcome, and where civility and reasonable discussion are held in high regard, then perhaps those people do not belong around here. I do not wish to work with people who do not think being polite and friendly is a high value, and who do not cherish civility. Life is stressful enough already.

We all fail to be as friendly as we should be at times, of course — I've failed too many times to count — but it is important to agree on what we are striving for: good engineering, not politics, a welcoming environment for those who want to work on improving the software we develop, good decisions that people feel are fairly agreed to, etc.

IanConnolly commented 5 years ago

Firstly, thank you both for replying -- I know I dumped a wall of text above and I appreciate that you both took the time to read through it and reply on a work day/work night.

@IanConnolly I must say I dislike much of the language of the Contributor Covenant. I also don't care so much because what matters is to set expectations for future members.

I agree that setting expectations is important. Could you perhaps articulate some examples of text from the Contributor Covenant you dislike? I feel it's very important that if this discussion is to be productive that we be clear and concrete so that everyone can communicate effectively.

Similarly, if after five major revisions there are members of certain communities who feel like the text does not fully support them then how many people will we alienate via a homegrown implementation?

Probably fewer because:

  1. It will feel personal, heart-felt, and not something done because everyone else does it.

I actually think having some sort of prelude or introduction that's custom written is a great idea. I don't agree that it should be the whole text, for the reasons I outlined about about how nuanced this area is.

  1. It will resonate better with the population we're trying to reach. The language of the Contributor Covenant is US-centric and politically charged.

I've heard this a number of times, and I'm actually super open to the idea that the language needs to be improved and made more internationalist. I'm a relatively recent import to the US from Ireland myself. But I've yet to see any concrete examples in the actual text of the Contributor Covenant itself that show US-centrism. Could you point to some examples?

Similarly re: your point about it being politically charged, do you have examples from the text? The only explicit mention of politics in the text is a prohibition on "political attacks" which I wholeheartedly agree with.

If people are alienated by the notion that we're trying to foster a friendly, engineering focused environment where ad hominem argumentation and insults are unwelcome, and where civility and reasonable discussion are held in high regard, then perhaps those people do not belong around here I do not wish to work with people who do not think being polite and friendly is a high value, and who do not cherish civility. Life is stressful enough already.

A couple of things to deal with here:

We all fail to be as friendly as we should be at times, of course — I've failed too many times to count — but it is important to agree on what we are striving for: good engineering, not politics, a welcoming environment for those who want to work on improving the software we develop, good decisions that people feel are fairly agreed to, etc.

I wholly agreed with this sentiment, however I firmly believe the text as written fails to either encourage or enforce a structure in which this is ensured.


A couple of final points about things I believe about having productive discussions around community organisation, codes of conduct, and related things:

I'm more than happy to rephrase anything if people feel I could express an idea better. Again, I appreciate y'all taking the time to consider my thoughts.

mjambon commented 5 years ago

@IanConnolly I thank you for your patience but unfortunately I can't afford the time for a debate about community management. I'm sure the people here will do a great job without me. My writing is slow and imprecise and I think I conveyed my wishes already. I'm not applying for a role of admin and I'm aware that this is not where my efforts would be most productively spent. So I won't debate the merits of this or that code of conduct any further.

All I want is the assurance that terrible people won't end up with control over projects that I hand over to the community. I want the community to adopt standards of excellence that make me proud to be a contributor.

pmetzger commented 5 years ago

@mjambon:

All I want is the assurance that terrible people won't end up with control over projects that I hand over to the community. I want the community to adopt standards of excellence that make me proud to be a contributor.

I think we can do that. If there is anything you see as still missing from the section in README do let me know.

pmetzger commented 5 years ago

@IanConnolly Are you an active member of the OCaml developer community? I haven't noticed you before now, are you debating whether to contribute projects you can't maintain currently based on the content of this policy? I have to confess that the fact that I see no OCaml projects in your github account makes me wonder if this decision will actually have any impact on you.

rizo commented 5 years ago

There's no need for that @pmetzger... Of course the final decision will be in hands of the current admins. I'm sure you know @IanConnolly is simply trying to understand our point of view and help us make an informed choice.

(And AFAIK @IanConnolly is currently building a new product/startup using OCaml.)

Honestly, I appreciate all the effort you've put into writing the code of conduct @pmetzger, but it might be simpler to adopt Contributor Covenant as certainly more people will be familiar with it, and I don't see any risks in doing so – it's a decent compromise. If anyone in the future does manifest any concrete concerns, apart from personal preference, I'm sure we can revisit this decision.

If you still feel very strongly against it, the only thing I can suggest is for all admins to take a vote. Please, understand I'm not suggesting to ignore your opinion, in fact, I respect and partially agree with it. I'm simply asking to be reasonable and productive, as we all have actual work to do.

bluddy commented 5 years ago

Here's the thing that'll clarify the debate about the Contributor Convenant. I didn't know what the big deal was, because the language of the covenant itself seems fine. However, if you look at this link you will see that it's actually a lot more political than it first seems. The leader of the covenant also apparently deems it a political movement (there's a bunch of evidence from twitter I was shown to that effect). To my eyes, this now appears to be a way to get naive technical people into supporting a political movement without their knowledge, and I appreciate us not getting into this mess.

rizo commented 5 years ago

I guess you were referring to this twitter thread, @bluddy. Now I'm really confused about all of this and sadly surprised that "being nice" is such a complicated matter...

rizo commented 5 years ago

It seems like anything can become political the moment someone says it is political, and people get angry.

I was going through examples of similar documents in other communities and found Elm's code of conduct to be very simple and clean. Maybe we can draw some inspiration from it. If not @pmetzger version is a good start.

bluddy commented 5 years ago

Quoting from the twitter thread:

Some people are saying that the Contributor Covenant is a political document, and they’re right.

Fighting the status quo in open source is political, just like defending the status quo is.

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

Part of this problem lies with the very structure of some projects: the use of insensitive language, thoughtless use of pronouns, assumptions of gender, and even sexualized or culturally insensitive names.

Marginalized people also suffer some of the unintended consequences of dogmatic insistence on meritocratic principles of governance. Studies have shown that organizational cultures that value meritocracy often result in greater inequality. People with “merit” are often excused for their bad behavior in public spaces based on the value of their technical contributions. Meritocracy also naively assumes a level playing field, in which everyone has access to the same resources, free time, and common life experiences to draw upon. These factors and more make contributing to open source a daunting prospect for many people, especially women and other underrepresented people.

There are definitely things that every decent person can agree with in the above. But there's enough there that's clearly political as well and relates very clearly to politics in our times. I don't think she's lying when she states her aims are political in nature, and that's not what we're looking for here.

I like the Elm code of conduct, and I like @pmetzger's too.

Khady commented 5 years ago

Fighting the status quo in open source is political, just like defending the status quo is. Then any code of conduct is political. The one written by members of the OCaml community would be political too. Given the huge list of projects using the Contributor Covenant and the very big range of political position of those projects, I think it is safe to say that the political goal of the Contributor Covenant is the same as the political goal the the OCaml community CoC (i.e. making sure that anyone can contribute and historical users won't take advantage of their position to bully other people).

bluddy commented 5 years ago

Given the huge list of projects using the Contributor Covenant and the very big range of political position of those projects, I think it is safe to say that the political goal of the Contributor Covenant is the same as the political goal the the OCaml community CoC (i.e. making sure that anyone can contribute and historical users won't take advantage of their position to bully other people).

You did notice I was quoting from the twitter thread of the person who heads the Contributor Covenant there, right?

This is a political organization with goals that go way beyond setting terms for not being mean to others. My opinion is that we shouldn't associate with it. Other companies/organizations have chosen to associate with them, and that's up to them.

pmetzger commented 5 years ago

Honestly, I appreciate all the effort you've put into writing the code of conduct @pmetzger, but it might be simpler to adopt Contributor Covenant as certainly more people will be familiar with it, and I don't see any risks in doing so

I find the political positions espoused by the group surrounding the Contributor Covenant, including an apparent hatred for meritocracy, and making the purpose of the document to further political goals rather than the maintenance of the software, unacceptable. I am not interested in politics, and am not attempting to effect social change by adopting a policy against incivility. The purpose of our civil behavior policy is to foster a nice, friendly space for engineering, where people get along and aren't mean to each other, and anything that comes with additional baggage isn't something I can get behind.

Most importantly, @mjambon, who conveyed quite reasonable motivations for bringing this up with me in private, seems satisfied that the document we have so far will prevent the issues he's worried about.

The OCaml world does have a couple of hot-heads, but because it is small, we can mostly just name who they are. The vast majority of people in it are good people who have been exceptionally welcoming to me since I arrived a year or so ago. I think we don't need much more than what we have right now for at least a few years. If we discover what we have isn't good enough, we can improve it then, just as one does with software.

IanConnolly commented 5 years ago

@IanConnolly Are you an active member of the OCaml developer community? I haven't noticed you before now, are you debating whether to contribute projects you can't maintain currently based on the content of this policy? I have to confess that the fact that I see no OCaml projects in your github account makes me wonder if this decision will actually have any impact on you.

Heh, if there was ever an example of an interaction that's on the surface polite, but is clearly in bad faith. You did not engage with a single point I made, instead opting to just attempting to either dismiss me outright or provoke me into being impolite. If your intent is to foster a nice, friendly space where people are welcome then you are already failing. Welcoming, productive, and collaborative spaces focus on taking and improving the contributions of those who opt to contribute, not on where they come from or who they are, or what OCaml work they've done is public on Github.

Thanks @rizo for calling this out and responding, much appreciated.

I find the political positions espoused by the group surrounding the Contributor Covenant, including an apparent hatred for meritocracy, and making the purpose of the document to further political goals rather than the maintenance of the software, unacceptable. I am not interested in politics, and am not attempting to effect social change by adopting a policy against incivility. The purpose of our civil behavior policy is to foster a nice, friendly space for engineering, where people get along and aren't mean to each other, and anything that comes with additional baggage isn't something I can get behind.

For someone who doesn't want to bring outside politics into software, you're definitely doing so. I implore you to engage with the actual text of the Contributor's Covenant, and attempt to improve problems you see with it. Intentionally not adopting the FOSS standard for code of conducts should be done because you want to produce a better document, not because you dislike the political positions of the author. Richard Stallman considers the GNU system and project to be expressly political, he considers even using copy-left software to be a political act -- I don't agree with or even like Richard Stallman, but I still use GDB.

You are bringing your political and ethical baggage to this discussion by refusing to provide concrete examples of why the text of the Contributor's Covenant is not fit for purpose. You are embarking on a rewrite but you can't or won't articulate what needs to be rewritten. You mention wanting to work on this like software, but this is bad engineering.


For what it's worth, I'm in favour of elm-community's code of conduct. It explicitly stands on the shoulders of prior art, and itself was the product of a significant amount of work to get it right.

bluddy commented 5 years ago

Let's halt this before we get too personal. We've expressed our opinions, and we have code of conduct examples we all agree on. Let's stick with that.