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 6 years ago

mjambon commented 6 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?

Khady commented 6 years ago

That you agree on. Let's call a vote?

rizo commented 6 years ago

My fear is that a vote might leave some people unhappy, which is not acceptable. I personally care less about the particular choice of the CoC and more about the environment in which we all collaborate (this discussion included!).

Right now we seem to agree on the principles and disagree on the particular choice of document.

Given that some people seem to like Elm's CoC, my final recommendation is to adopt it (we can ask permission is that's needed). It is a neutral document that, I believe, both aligns with our values and has a neutral position.

Would that be acceptable for you @pmetzger, @bluddy? Is the particular choice of Contributor's Covenant that important @Khady, @IanConnolly?

IanConnolly commented 6 years ago

@rizo If the Contributor's Covenant itself is vetoed, and we're unwilling to push through that disagreement then I'd be happy with the Elm code of conduct. I'd similarly be happy with the Rust code of conduct, but that's concretely tied to how that community organises itself. I'm opposed to a homegrown code of conduct.

gasche commented 6 years ago

As I previously mentioned, I would be in favor of reusing an existing text that is adopted somewhere. I believe that it is generally a bad idea to roll our own license, crypto, or code of conduct. If @pmetzger and @bluddy strongly dislike the Contributor Covenant's CoC, I would support using the Elm CoC as an alternative. (It doesn't have the same strength-of-being-a-standard, but at least it already exists and traces its history. Minor modifications would be needed, everywhere "Elm" is mentioned in the document.)

pmetzger commented 6 years ago

@IanConnolly

Heh, if there was ever an example of an interaction that's on the surface polite, but is clearly in bad faith.

It was a good faith comment. I honestly don't wish to take into account the opinions of outsiders who may not have an actual stake in the outcome. Because of your presumption of bad faith, I ceased reading there, because I'm not going to pay attention to an opinion that assumes I'm discussing things in bad faith. (One of the core principles of civilized discourse, by the way, is a presumption of good faith.)

If you care to apologize, I will continue reading at that point. Otherwise, I'm not going to pay further attention to your remarks. I see no point in discussing anything with someone who presumes I'm arguing in bad faith.

BTW, there's a distinction between being polite and putting up with bad behavior. I'm trying to be polite, but polite does not mean accepting any possible outcome, or being a doormat. (One doesn't have to retreat or to give up one's principles in being polite. Being polite doesn't imply avoiding disagreement. It implies only civility and reasonableness.)

pmetzger commented 6 years ago

As for the rest: @mjambon requested that we get something in place, because he had specific concerns that he very graciously discussed with me in private. I believe we can achieve what he wants. If someone has a specific reason to feel that the document I've constructed has inadequacies, I've demonstrated that I'm willing to address them. Let's discuss specifics of what we think may be insufficient rather than concerning ourselves with what is popular.

rizo commented 6 years ago

And here we have a proof of how we do indeed need a CoC :)

Nobody is doing anything out of bad faith here, it’s a mere misunderstanding natural to this form of communication. Just relax folks, lets focus on what matters.

@pmetzger are you open to the idea of adopting and adjusting Elm’s CoC, or do we really need to vote?

pmetzger commented 6 years ago

I've read the Elm CoC. I don't find it specific enough, and I'm not sure what the defects in the text I produced are. These are not legal contracts, where there's considerable concern as to whether specific chosen language has a long history of litigation behind it and will be understood properly by a court. In that situation, innovation is deadly, and one wants to only use language with long precedent behind it. This is a situation where I think it's fine for a community to construct language that suits its expectations.

pmetzger commented 6 years ago

BTW, I've now extended the new conduct section at the end of the README.md to include even more specific language at the request of @mjambon. I'm hoping that we have now covered most of the concerns people might have. I welcome having others look at the text. If there are specific things people do not feel are addressed by the language currently in place, we can fix them.

Khady commented 6 years ago

Is the particular choice of Contributor's Covenant that important @Khady

I second @IanConnolly and @gasche in the requests they expressed in this issue. Elm CoC seems a reasonable fallback if Contributor Covenant's CoC is rejected. Compared to the version currently in OCaml community readme, it seems clearer, more organized, more specific.

mjambon commented 6 years ago

I'm marking the issue as resolved since the readme now incorporates a code of conduct and it's good enough for me. I hope this saves everyone time.

pmetzger commented 6 years ago

@Khady If you have specific edits to request to make things more specific in our document, I'm happy to oblige. You can request it here, in a new issue, in email to me, or in a pull request. If you have specific improvements to suggest in terms of organization I'm also happy to oblige on those.

This of course applies to anyone who has specific requests to make.

rizo commented 6 years ago

I’m glad that what we currently have is satisfactory. (And sorry the discussion derailed so much.)

If anyone still feels very unhappy about the current code of conduct, I suggest the following:

Thanks again to @mjambon for bringing this up and to @pmetzger for producing the document.

Khady commented 6 years ago

I'm very sad that all decisions went in only one direction, that requests from multiple people got ignored, that the tone used to answers people with questions was bad, that actual questions got not answer and that final document is not protecting us from what happened in this discussion.

mjambon commented 6 years ago

@Khady I have the impression that all requests were taken into account and yes, some were rejected. This happens and it's never pleasant. The original issue was the absence of a code of conduct just two days ago. Now there is one, and I think it's great. Please make requests for improvements as a new issue or pull request. (sorry I don't know how to have a better tone than this if that's what you're complaining about. I'm already very careful my choice of words and it takes me a lot of time, which is scarce. I would recommend against interpreting people's tone from written messages. Please relax and keep in mind that we're all in here for the fun of programming. It's ok to sound cold and rational)

rizo commented 6 years ago

@Khady I’m rereading the entire thread and share your frustration...

We didn’t just try to satisfy @mjambon’s origianl request, or discuss the merits of a specific Code of Conduct, we did ironically see an example of a direct confrontation that would benefit from a Code of Conduct. So even though the issue seems resolved for @mjambon, maybe we should try to understand what happened here.

@pmetzger I also reread your proposed Code of Conduct and it does seem very clear and sensible. One thing I would like to try is to look at one of your comments in this therad from its perspective:

It is especially important to never make a technical discussion personal. Don't make personal attacks against other people, and in fact, avoid discussing other people when you should be discussing technical issues

I belive this comment was very personal and damaged the dicussion. I’m not saying you had bad intentions (I’m sure you didn’t!), but it was interpreted negatively and provoked more negative boiling emotions on the other side, etc. It’s not productive to go into details, but I just wanted to highlight this as I belive this was unnecessary (and according to your own words, you seem to agree).

There’s another thing that worries me. I know you invested a considerable effort into this, but people involved in this dicussion (including admins) did not reach any conclusion and you already started writing your own version of a code of conduct directly in the README. I understand you eagerly wanted to solve the problem, but is this how we want to make important decisions?

To be clear, I personally don’t see anythining wrong with your version. But other people have mentioned multiple times that having a home-grown Code of Conduct is not ideal and you kept ignoring them and made a decision on your own essentially. Just something to reflect on.

pmetzger commented 6 years ago

I probably shouldn't have mentioned my concern about keeping the discussion to people who were likely to actually be impacted by the decision — I agree it was divisive. I felt that it was a mistake almost immediately. It's entirely reasonable of you to point that out, and if I could do it over again, I wouldn't make that comment.

As for my starting writing, it seemed like the best way to cut the Gordian knot. My past experience with discussions like this is that a concrete document people can argue with will cause discussion to terminate, but theoretical solutions can be argued about endlessly, and discussions of these topics can become incredibly divisive. We already bordered on that as can be seen.

I also understand that many people would have preferred a canned solution, but I don't think one would have been appropriate for our needs. Note that we've done this a bunch so far — even the initiative to create OCaml-community was unilateral on my part, and I picked the people who are organization owners and in the admin group. It's difficult to have group decision-making before you have a real group going, and we're still at a very early stage here. At some point in the maturity of the organization will be much higher and that will no longer be a good way to do things, but early on, when such a group is in its earliest stages, a degree of informality is necessary grease for the gears.

rizo commented 6 years ago

a degree of informality is necessary grease for the gears

I don't disagree. My point is that this particular sensitive matter would have benefited from a constructive, collaborative consensus and not a unilateral decision made just by you. I'm sure right now some people are unhappy with the result. I personally am with the way it was conducted.