Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

meta: statement from the Node.js Board of Directors #15011

Closed
jasnell opened this issue Aug 24, 2017 · 19 comments
Closed

meta: statement from the Node.js Board of Directors #15011

jasnell opened this issue Aug 24, 2017 · 19 comments
Labels
meta Issues and PRs related to the general management of the project.

Comments

@jasnell
Copy link
Member

jasnell commented Aug 24, 2017

@nodejs/collaborators ... Re: this week's TSC decision, please refer to this statement from the Foundation Board: nodejs/board#67

@hiroppy hiroppy added the meta Issues and PRs related to the general management of the project. label Aug 24, 2017
@binoculars
Copy link

I've specifically not contributed to Node.js because of the strict Code of Conduct. I fully support @rvagg. We can disagree politically without it being labelled as harassment. Nothing in his tweet was directed at any specific individual, which should be the basis for harassment. I think you're alienating a much larger portion of your potential and current contributor base by handing over control to the wrong-think police. It's also incredibly ironic that promoting free speech would be met with an attempt to silence. I think it's sad to see that you all are wasting your time and energy on this issue. These things are a distraction from what makes Node.js so wonderful.

This is just my personal opinion. If you disagree, please do so respectfully and explain why, without attacking me personally.

@gibfahn
Copy link
Member

gibfahn commented Aug 24, 2017

I've specifically not contributed to Node.js because of the strict Code of Conduct.

@binoculars to be clear, are you saying you haven't contributed because there's a CoC at all, or because you think the one we have is too strict? If the latter, what specifically do you think is too strict about it?

@Qard
Copy link
Member

Qard commented Aug 24, 2017

The Code of Conduct is not intended for "wrong-think" policing, it is merely intended to create a common ground with documented guidelines for how to interact in a way that avoids conflict. Node.js is a very diverse community, so there's bound to be people that don't agree on things and that's okay. By adhering to the guidelines set forth in the Code of Conduct we can all interact in a civil manner and work together, despite our differences, to achieve some amazing things.

If we don't properly enforce the Code of Conduct, however, we lose the ability to collaborate in a respectful way. Whether or not you or any other specific individual considers a given action harmful is not relevant, the point is to avoid behaviour that could be harmful to people that are perhaps not yet part of the community. That's how we become a more inclusive community.

@binoculars
Copy link

@gibfahn although I think the concept of having and effectively enforcing a Code of Conduct is fundamentally flawed, this alone does not discourage me. Since the Code of Conduct lives in a git repository, and therefore can be changed at the whim of the TSC, this disturbs me. What's acceptable and unacceptable behavior shouldn't change very much over time. I wouldn't want to have to constantly worry about my compliance with the Code of Conduct.

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

This could've just been stopped at everyone.

Examples of behavior that contributes to creating a positive environment include:

  • Using welcoming and inclusive language
  • Being respectful of differing viewpoints and experiences
  • Gracefully accepting constructive criticism
  • Focusing on what is best for the community
  • Showing empathy towards other community members

No definitions for what's considered welcoming and inclusive--this is way too subjective. Respectful of differing viewpoints--clearly this is not upheld, this situation with Rod is a case in point. Showing empathy--not sure what empathy has to do with anything. I'm not concerned with people's feelings.

There's no definition of harassment. It seems that anything that triggers anyone for any reason is harassment now.

Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.

This is too loose. Rod posted from his personal twitter account and is being reprimanded for it. The merits of his points or the article he linked to aren't the issue here. It's that the viewpoint dissented from the ideas inside the Overton Window. This isn't something I'd want to deal with.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

Again, very subjective and I wouldn't want to enforce a policy that I disagree with.

I speak only for myself here. I'm giving you reasons why I wouldn't contribute based on the Code of Conduct, because the question was asked. I'd rather spend my time contributing to other projects where Codes of Conduct are not a real issue. The Code of Conduct is clearly not without merit. The intent is good, but the execution is horrible, IMO. I also think that making this an issue (Rod situation) sends a very clear message to other potential contributors--that if you don't share our politics, you are not welcome.

@Qard

The Code of Conduct is not intended for "wrong-think" policing, it is merely intended to create a common ground with documented guidelines for how to interact in a way that avoids conflict. Node.js is a very diverse community, so there's bound to be people that don't agree on things and that's okay. By adhering to the guidelines set forth in the Code of Conduct we can all interact in a civil manner and work together, despite our differences, to achieve some amazing things.

That may not be the intent, but that's the result. Obviously, this is not avoiding conflict. It's creating conflict. Case in point, this conversation. We wouldn't be having it if it didn't create conflict.

If we don't properly enforce the Code of Conduct, however, we lose the ability to collaborate in a respectful way. Whether or not you or any other specific individual considers a given action harmful is not relevant, the point is to avoid behaviour that could be harmful to people that are perhaps not yet part of the community. That's how we become a more inclusive community.

I understand that this is your position, but I disagree with the assertions. We still have the ability to collaborate without the Code of Conduct, especially in its current state and the way it's currently being enforced. What's clear is that diversity of opinion is not valued if that opinion doesn't fit the popular political narrative. People contact me privately all the time--including because of this thread--whenever say this in a public forum, because they are afraid of the repercussions.

@benwiley4000
Copy link

I'm in no way involved in the Foundation or TSC, but as a fan of inclusivity and the Foundation's actions today I felt like contributing here.

@binoculars I doubt any of the members here are enemies of further clarity. The hosting of the Code of Conduct in a git repo, as a living document, allows it to gain clarity over time.

In regards to your first quotation:

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

This could've just been stopped at everyone.

That quip seems to run counter to your subsequent requests that the Code of Conduct be more specific. By specifically naming identities, as this CoC does, it explicitly recognizes marginalized groups within our community. It makes clear the intention to affirm participation by those people in continuing to develop and grow our community.

A proclamation of equal treatment which fails to proactively affirm participation by marginalized groups tends to normalize the treatment those groups have been receiving already, here and elsewhere. It's exciting to me that the Node community is a space which would aim to fight those trends, and benefit from diverse involvement.

@jasnell
Copy link
Member Author

jasnell commented Aug 25, 2017

All: This repo is not the place to discuss the general merits for and against CoCs. Node.js has adopted the Contributor Covenent CoC verbatim. Issues with the content of that CoC should be directed to that project. Discussions that relate to Node.js' specific CoC issues should be directed to the nodejs/tsc repo.

@ronkorving
Copy link
Contributor

ronkorving commented Aug 25, 2017

Let me first be clear, that I don't believe I am in any position to judge Rod's actions, because I simply haven't been exposed to them in their full context. GitHub issues get moderated, so original text disappears from history, and so I won't use that to guide any judgement one way or another.

However, Rod pointed out something in his statement, that I as a collaborator am concerned about as well.

The environment in which the crowd can shame someone into retirement (from a project or a career) is scary as hell. In fact, it's that fear that almost made me not write this comment at all. "What if it's misinterpreted? What if some people start calling me evil, simply because I share a concern with Rod himself?".

This kind of thinking of mine is possibly incorrect, but definitely crippling. I feel like one really has to tread very carefully to avoid the wrath of the internets. And so it would be safer not to tread anywhere at all. The world is getting smaller by the day, and pitchforks seem to be all too readily available.

Which brings me to the greater concern. If it's safer not to do anything for the community than it is to help achieve awesomeness together, what's to say there will be a community left after multiple events like this? (this is one concern Rod had, and I feel too)
Whatever is decided (now or in the future), I hope we do not do it out of fear, pressure or as a knee-jerk response, but rather through thoughtful consideration and communication.

To clarify, I absolutely do believe that people need to be held to standards and expectations, regardless of the positive things they bring to the community. But people should be allowed to make a mistake and redeem themselves (to a reasonable extent). We learn through our mistakes, nobody is born perfect.

So again, the focus of my post here is not judgement (or lack thereof) about any particular person in any way, but more about how we deal with feedback, hopefully avoiding knee-jerk responses to what some people may expect from us, and how we treat the people in our community when they make a mistake.

I wonder how much clarity and agreement there is among the Node leadership when it comes to this.

I know there are much smarter and more eloquent people than I am in our community that can address these issues, but I wanted to share the perspective of one collaborator, and will attempt to leave my feedback limited to this post. I can imagine many people will have something to say.

@refack
Copy link
Contributor

refack commented Aug 25, 2017

@ashleygwilliams @williamkapke @nodejs/board I want to reiterate @ronkorving's statement, and I wish for you to convey that to the Board.

@lance
Copy link
Member

lance commented Aug 25, 2017

I've spent way too much time on this stuff this week - piecing together from twitter feeds and scattered github issues what went down. I have reacted in various ways to the accusations and responses that I've been able to find and read, but I will third @ronkorving's comment.

Without knowing all of the details, it's difficult to take sides in a situation like this, but I read Rod's statement and found myself agreeing with him on many points. And I still do not clearly understand exactly how/where he went wrong. In wanting to reply to this and demand greater accountability on the part of the accusers, I immediately self-censored out of fear of those pitchforks @ronkorving mentioned.

Whatever the fallout of this fiasco ultimately is, it seems clear to me that very few actors in this drama are without fault, and all bear some responsibility for making Node.js community a less inclusive place.

@williamkapke
Copy link
Contributor

@ronkorving @refack @lance Thanks for the feedback.

I was not part of the petition and did not express my personal opinion in the proceedings. I have been intentionally staying in the background to continue to provide a neutral and confidential avenue for community feedback- some have already reached out expressing your same concerns.

I will be relaying the feedback, with identities withheld, to the Board at our next meeting. Feel free to send others my way.

@jakeNiemiec
Copy link

jakeNiemiec commented Aug 25, 2017

@ronkorving

...is scary as hell. In fact, it's that fear that almost made me not write this comment at all.
...I don't believe I am in any position to judge Rod's actions, because I simply haven't been exposed to them in their full context.

@lance

Without knowing all of the details, it's difficult to take sides in a situation like this

I am right there with you, see this thread for similar sentiments and push-back by node community committee members.

Specifically this great insight from @jasnell:

Re: the comment witch hunt in reaction to a fair vote. There is certainly a significant degree of truth in this statement. From the moment I posted the notice, even before I redacted the specific list of issues reported, a barrage of posts to social media were made that, in my opinion, were complete gross mis-characterizations of the actual events that occurred. There has long been an unhealthy back and forth between specific individuals in this community that has led to ongoing challenges. This is hardly the first incident and, unfortunately, not likely to be the last. No one side of the discussion deserves more blame than the other and unfortunate decisions on methods of interaction, methods of approaching issues, and methods of communication have been made by more than just this one individual in question. My general recommendation is to ignore the hyperbolic vitriol on Twitter and not to give in to the artificial sense of urgency it creates.

(note: please examine the context, @jasnell was responding to my comment and did not bring 'witch hunt' into the conversation)

Leaving it up to people's imagination was not so great, but members with 6000+ followers on twitter need to have a better sense of duty to the truth. (deleting tweets doesn't absolve them of this)

@BudickDa
Copy link

BudickDa commented Aug 25, 2017

I am shaken by this whole incident on a professional level and as a human. This is how I perceived this whole in story from the outside:

As a developer I earn most of my money developing with node.js and so do millions (or at least a lot) of other devs around the world. I still cannot believe that the community of an organization of this importance is in part led by person who step down and fork because they lost a vote that resulted in a person not leaving the project.

Even more shocking to me was the way the accusation where “published”. From an outside perspective, I only knew the name of the accused and that he had done something. What he is accused of could be according to tweets anything from sleeping during a meeting to ${worstThingYouCanImagine}.
At this point I was happy I have never contributed to this project. This is not the way I would like to be handled if I did something wrong.

Thanks to google cache I could finally read the accusations and I lost my shit. In germany we say: „Aus einer Mücke einen Elefanten machen.“
I don’t know how bad this moderation issue was, but it cannot be that bad that it justifies this whole brimborium.
I also read the tweet, the reactions and the article in question (And yes, there had been harassment. Against Rod.).
Also: if tweeting an article using a private twitter account breaches the code of conduct of an open source project, I don’t want to be part of this project.

Being nice and supportive to each other is important. But even more important is freedom of speech. Creating taboos and censoring opinions kills innovation and creates a toxic atmosphere of hate, fear and backstabbing.
I read the word “witch hunt” multiple times today, and it tl;dr exactly how I perceived this incident: unprofessional, childish and witch hunt.

**Off topic (rant against the coc):** My opinion about code of conducts for adults: If someone needs a coc you don’t want him on your project. If someone needs written rules to not discriminate against, insult, etc. you better keep your distance, do not let him in your team, house, car… Code of conducts for children are fine by the way, because children need to learn how to behave in society. Adults should already know. Also: you don’t need to enforce a coc. People who need a coc to punish/educate others are assholes and you don’t want them on your team. If one adult wants to punish another adult he/she is either a judge or weird.

If someone insults, harasses or discriminates against me I tell him/her to fuck off / go to the police / sue him/her. I don’t need a coc for this.
Tl;dr: I will never ever contribute to a project that has a coc because there are either people who need a coc to behave or people who find joy in punishing or most probably both.

[refack: folded self professed off-topic section]

@lance
Copy link
Member

lance commented Aug 26, 2017

@BudickDa on a lighter note, thank you for introducing me to a new favorite word I was unaware of. Brimborium: http://mobile-dictionary.reverso.net/german-english/Brimborium

@refack
Copy link
Contributor

refack commented Aug 26, 2017

superseded by my comment below

@binoculars could you edit and explain your last sentence in the following paragraph:
image
Your intention is not clear, and as is stands it's a violation of the CoC clause you cite just above that:

  • Showing empathy towards other community members

IMHO for some members of the community it would be easier to understand and hence support or disagree with your comment if it does not include that sentence as is.

@binoculars
Copy link

@refack I'm extremely disturbed that a criticism of the Code of Conduct would be met with accusations of a violation of the Code of Conduct. This strikes at the heart of the problem. Out of respect for @jasnell and the community, I won't respond to this directly here. I'm happy to have a rational discussion about it with anyone that is willing to have it, but I will not entertain provocations such as this.

@refack
Copy link
Contributor

refack commented Aug 26, 2017

@refack I'm extremely disturbed that a criticism of the Code of Conduct would be met with accusations of a violation of the Code of Conduct.

@binoculars please don't see my request for explanation as an accusation, or anything personal at all. I'm trying to make an objective observation (which is very hard to do in the current climate).

Generally I agree with your comment. It's only that single sentence that IMHO would benefit from editing and elaboration.

If I understand your intent correctly, it might be better phrased as something similar to

Showing empathy--not sure what empathy has to do with anything. I don't feel comfortable being constantly worried about hurting other people's feelings when I'm sure that is not my intention.

Or

Showing empathy--not sure what empathy has to do with anything. I this it is feel disruptive to be constantly worried about hurting other people's feelings when I know that that is obviously not my intention.

@WozSoftware
Copy link

For such a high profile project used by so many people I find it deeply worrying that this sort of vote can occur where the people making the accusations make it high profile and very public and yet do their up most to bury any details of what the "crime" is.

This should have been handled internally. But since you made it public you should ACTUALLY make it public. Reading @rvagg. post it appears he is not even in possession of all the facts. Appalling behavior that amounts to character assassination with no way to fully respond.

Without the facts this just looks like a group of people not liking him or his views and wanting to push him out by any means possible. When they don't get their way they resign. If you call a vote and do not get your way it is professional to live with the democratic result.

If the are CoC violations I would expect them to be dealt with professionally and consistently.

@isaacs
Copy link
Contributor

isaacs commented Aug 28, 2017

It's disappointing to me that so much digital ink has been spilled here for and against the concept of Codes of Conduct or enforcement of those codes.

It seems to me to be completely obvious that any open source community, if it is to achieve its goals of being a big tent where as many people as possible feel welcome to participate, will require a higher level of conduct from its leaders than its members, and cannot tolerate all "free speech" that anyone might care to share. A community cannot function if it tolerates behaviors and ideas that are antithetical to the functioning of that community. Karl Popper put it much better than I can, go read up on the subject if you're interested: https://en.wikipedia.org/wiki/Paradox_of_tolerance

Yes, there is a chilling effect. You have to watch what you say in public, otherwise the public might decide that they don't want to work with you. This chilling effect is in place whether it's explicit or not. A code of conduct makes it explicit, so that you don't have to guess what's allowed and what isn't. But a CoC without enforcement is perhaps worse than none at all, because it provides cover for bad actors who violate it with impunity.

The shortcoming here was twofold.

  1. The TSC was expected to police itself when a member violated the CoC or was otherwise just not a productive leader for the project, but the enforcement mechanisms stopped at "make a motion to vote them off".
  2. Efforts at protecting reputations and avoiding conflict have resulted in more conflict and worse reputational impact. Specific details of the CoC complaints have been omitted from many statements, and I believe that this led a lot of people to assume the worst.

I believe that the second problem necessarily stems from the first, and that the issue can only be resolved with structural change.

This should have been handled internally. But since you made it public you should ACTUALLY make it public.

I agree that it should be actually public if it's public. And, of course, it should have been handled internally, but the structural problems of CoC enforcement, lack of TSC accountability, and unlimited terms for individual TSC members, all lead to a situation where such issues are not reconcilable internally.


Looking more at the underlying problems that led to this explosion: there is no clear expectation of timelines, owner, budget, or definition of success regarding the ratification of working groups, resulting in inconsistent approval of working groups, inconsistent levels of authority of those working groups that do get ratified, and a vulnerability to endless delays and discussion which can be politically motivated. The explicit stated goal of this foundation is to govern this project in a way that faithfully represents the interests and values of this community. The resistance and eventual abandonment of the Inclusivity Working Group, which was 100% aligned with this goal, is indicative of the problem.

The result of a lack of accountability structure for the TSC has led to the TSC evolving into a body that effectively enforces the status quo and prevents the project structure from evolving and improving.

I recommend reading The Tyranny of Structurelessness for more exploration of how status quo protection occurs when there is a lack of clear authority or alignment of values.

There is a tremendous amount of skill and expertise in this community, and the abilities of those people are going un-harnessed. It's easy to ignore them because they don't participate in the process. "It's open, if they really cared, they should step up." However, it's worth asking ourselves if the process is as open as it seems to those within it. When everyone in a leadership position in this project just happens to be men of their nation's dominant racial minority, despite the fact that the Node.js community has so many people of so many genders and races, is a glaring warning sign.

@jasnell
Copy link
Member Author

jasnell commented Aug 28, 2017

Thank you all for the input.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta Issues and PRs related to the general management of the project.
Projects
None yet
Development

No branches or pull requests