Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Rod Vagg's statement on the request to be removed from the Node.js CTC (github.com/nodejs)
214 points by krlkv on Aug 25, 2017 | hide | past | favorite | 170 comments


What I'm completely missing in this discussion of Code of Conduct violation is a specific list of which actions violated which clauses in this Code of Conduct.

I see a list of complaints, but for an outsider it is really hard to follow why these actions are considered to be CoC violations.

Take this, for instance:

"In [moderation repository discussion], Rod’s first action was to apologize to a contributor who had been repeatedly moderated. Rod did not discuss the issue with other members of the CTC/TSC first. The result undermined the moderation process as it was occurring. It also undercut the authority as moderators of other CTC/TSC members."

Do you know how this reads? A case is being made against a "toxic" person who "repeatedly breaks CoC" and the first complaint against him is that he apologized to a contributor? Really? I just don't get this.


This was how I viewed it as well. Especially if what Rod said about not being notified about ANY of these items is true.

This just appears someone compiled a list of things Rod screwed up, most of which he seemed to own and tried to fix. Maybe my impression is wrong but it just comes off as awful.

I tried getting the entire story. I tried reading through the complaints, hunting down tweets and even reading Rod's side. But I eventually had to give it; it was going to take me hours to gain a small amount of context (some appears to be private / offline so I don't see a way to gain all of the necessary context to judge this situation).

I get the feeling people are going to take their biases, one way or another, and run with what their side is because I don't see a quick way of wading through all of this.


it just comes off as awful

This is why have stopped contributing to OSS in a public fashion over 20 years ago. Nasty backstabbing politics (and in my case, there was actually a business purpose behind it, unlike most of this drama) People online are awful and the veil of anonymity and distance brings out the worst in people.

Fuck that.


HAVE YOU EVEN SEEN THE ACCUSATIONS? HERE IT IS:

https://web.archive.org/web/20170821212745/https://github.co...

1. "Rod’s first action was to apologize to a contributor who had been repeatedly moderated"

2. "Rod did not moderate himself when asked by another foundation director"

3. "Rod tweeted in support of an inflammatory anti-Code-of-Conduct article"

NOW ASK YOURSELF: Why was those points removed? Supposedly to save Rod from harassment. But right now EVERYONE speculates what serious bad behavior it must have been that leaving it in the public could lead to harassment! NO ONE would EVER imagine that HE'S #1 BAD BEHAVIOR WAS APOLOGIZING!!!

The second one was not removing his comment THAT DIDN'T INCLUDE ANYTHING RUDE, OFFENSIVE or in ANY WAY unacceptable, while NO EVIDENCE was ever provided that would demonstrate that he was even asked to do so!

The third point is DELIBERATELY MISLEADING. In fact Rod tweeted NO MORE NO LESS: "If you've never considered the potential downsides of codes of conduct, here's a good place to start" and posted a link to The Neurodiversity Case for Free Speech ARTICLE by A KNOWN PSYCHOLOGIST Geoffrey Miller - "an American evolutionary psychologist, serving as an associate professor of psychology at the University of New Mexico and known for his expertise in sexual selection in human evolution" (Wikipedia) THAT WAS DESCRIBED AS: "tweeted in support of an inflammatory anti-Code-of-Conduct article"

NOW ASK YOURSELF: was the actual accusations, the 3 worst things that Rod ever did, removed to save Rod from harassment? Or to make us all speculate of what crimes it must have been that he could be harassed if anyone knew what he did? FOOD FOR THOUGHT.

.

REFERENCES:

https://news.ycombinator.com/item?id=15176562

https://medium.com/@rvagg/the-truth-about-rod-vagg-f063f6a53...

https://twitter.com/rvagg/status/887652116524707841

http://quillette.com/2017/07/18/neurodiversity-case-free-spe...

https://en.wikipedia.org/wiki/Geoffrey_Miller_(psychologist)

.

SEE ALSO:

https://news.ycombinator.com/item?id=15176562


!!! UPDATE !!!

The Node's Code of Conduct was originally copied from:

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

which has FEMINIST colors and explicitly link to extreme FEMINIST website: the so called Geek Feminism wiki, that fights to introduce 50% women (of course feminists) to every software project, NOT BASED ON SKILLS which is explicitly stated on the website.

If you read more closely you will not only see obvious links to FEMINISM but also to MARXISM. At this point it should be no surprise that they are fighting with "white men" that they hate using their own made-up language like cisheteronormative bias etc.

ONE OF THE FEMINISTS FROM NODE WERE ACCUSED OF MUCH WORST VIOLATIONS THAN ROD VAGG AND THEY ARE ALREADY MAKING EXCUSES:

>>> Multiple CoC violations by Node.js board member Ashley Williams https://www.reddit.com/r/node/comments/6whs2e/multiple_coc_v...

WARNING: there is RASIST and SEXIST language quoted in the tweets written by Ashley Williams, promoting GENOCIDE and forced CASTRATION but apparently that is nothing compared to an innocent tweet by Rod Vagg.

Now DON'T BE SURPRISED!

FEMINISM is like MARXISM (and in fact there are very strong links between the two).

This is CLASS CONFLICT. Like MARXISTS don't want EQUAL RIGHTS for the CAPITALIST - they just want to TAKE OVER what they achieved. THE SAME IS HERE.

So PEOPLE!!! Don't be surprised if you let those FEMINIST "CODE OF CONDUCTS" into your projects!!!


This as least is something I can understand (and it seems he understands it too, as he apologized for it). When you're not involved in a discussion, are in a leadership position, and apologize to someone for the outcome of the discussion, you are undercutting the authority of the people involved in that discussion, the decision they made, and the entire organizational process that produced the decision.


Yes I get it that he may have stepped over other moderators, I can understand this. But how is that in violation with Code of Conduct, exactly? Just don't say it is "Other conduct which could reasonably be considered inappropriate in a professional setting".

https://github.com/nodejs/TSC/blob/master/CODE_OF_CONDUCT.md


I would go with:

- "Focusing on what is best for the community"

- "Other conduct which could reasonably be considered inappropriate in a professional setting" (yes you said not to but it does apply)


It's not a violation of the CoC, it undermines the CoC, which is generally inappropriate. It's basically broadcasting "Don't take the CoC seriously".


For this apology to undermine CoC, the moderated contributor (to whom the apology was made) must have violated CoC with his contribution (or whatever it was). Nobody links to that discussion anymore (probably better so).

Somehow it is quite hard to make an informed opinion in this case.



I'm missing "specific list of which actions violated which clauses in this Code of Conduct", not the Code of Conduct itself.


Secret, anonymous accusations? Check.

Instructions to not discuss this with anyone? Check.

Little to no evidence? Check.

No opportunity to provide a response? Check.

Witch hunt. But don't worry, if he doesn't float, we'll pardon him posthumously.


Having reviewed the relevant tweets/GitHub issues/blog posts, I feel most of the noise is generated by people who make it their mission to find things about which to be outraged.

The NodeJS brand has the momentum necessary to build great things. If they squander it by cry-wolf-forking every time there is an internal disagreement, another JS engine (e.g. Chakra) will take the helm.


> The NodeJS brand has the momentum necessary to build great things. If they squander it by cry-wolf-forking every time there is an internal disagreement, another JS engine (e.g. Chakra) will take the helm.

Node.js is not an engine, Node.js uses the V8 engine (same engine that powers the Chrome browser). Technically you could use Node.js with the Chakra engine or other JavaScript engines.


Right, I could have phrased it differently: another brand/community/project/environment/solution, like Chakra, will take the helm.

The greater point I was making is that this fork seems to be a baby-and-bathwater reaction; disagreeing with one member's behavior does not make the entire community toxic.


Didn't Microsoft do that? Created a version of Node using Chakra as proof of concept


No, Microsoft modified node to allow drop in replacement of the JavaScript engine and then provided a Chakra backed version of node. It actually seemed to work pretty well and was pretty well received by the community. I believe others were attempting to do the same with the Firefox JS engine (SpiderMonkey? I can't remember what it's called) using the same base of work Microsoft created.


> I believe others were attempting to do the same with the Firefox JS engine (SpiderMonkey? I can't remember what it's called)

You don't mean Rhino? That was years ago when node was just gaining traction.


My impression is that Rhino was a separate project entirely.


It seems to me that when one seeks umbrage, one finds it.


> I have submitted myself to our Code of Conduct as a participant in this project. I have been involved in the application of our Code of Conduct. But I do not accept it as a sacred text that is above critique or even discussion.

This, to me, is one of the most important lines of his response. I feel like critiques of CoCs and other related documents and processes coming from a white male are often interpreted as hostile. I would consider myself an ally, but I am afraid to weigh in on these kinds of discussions because differing opinions are so often manipulated into "hate" and "toxicity."


> I feel like critiques of CoCs and other related documents and processes coming from a white male are often interpreted as hostile.

At what point do we stop ignoring this inconvenient truth?


If you want to be taken seriously by these troublemaking outrage addicts as a while male, you need to get a weird haircut and to dye your hair a few different colors. Chunky glasses are a plus.


Statements like yours do nothing to help matters.


This has echoes of Title IX proceedings. From the account above.

> Some time ago I received notification via email that there are complaints against me. No details were provided and I was informed that I would neither receive those details or be involved in the whatever process was to take place. Further, TSC members were not allowed to speak to me directly about these matters, including my work colleagues also on the TSC. I was never provided with an opportunity to understand the specific charges against me or be involved in any discussions on this topic from that point onward.

From the article below, [1]

> Right away, the accused is cautioned about confidentiality: s/he is warned not to discuss the pending complaint with colleagues or students. The accused will only learn of the accusations against them when s/he meets face-to-face with the local Title IX enforcement squad.

Kangaroo court.

[1] http://quillette.com/2017/08/24/survived-title-ix-star-chamb...


One of the things that is useful about due process is the right to confront your accusers and cross examine them under oath. Without those rights, it is difficult, if not impossible, to see justice done.

Too often these important elements are missing, and Rod's statement "At no point have I been provided with an opportunity to answer to these complaints, correct the factual errors contained in them (see below), apologize and make amends where possible, or provide additional context that may further explain accusations against me." suggests that this lack of due process is present in this case as well.

When "Somebody complained about you in a serious way, but we can't say who, or the substance of the complaint." is the standard against which the process is measured, then it leaves itself open for abuse.


This is, as I see it, an unfortunate side effect of vastly under valuing intent and over valuing individual interpretations and how they make people feel. There needs to be a balance, and when there's not you end up with problems. If that's what happened in this case, it might have resulted in fault being a much more nebulous concept to those people.

It's possible he said some things which ended up hurting people's feelings. It's entirely possibly he had no intention his actions be interpreted as they were. In that case, if you over value intent, he did nothing wrong, and some people were being too sensitive. If you over value interpretation, he should have known better, and it's his responsibility to be on top of how his actions would be interpreted.

Neither extreme is even remotely workable for all situations. The only thing that works in practice is that people accept that their wording sometimes needs changing based on common perceptions of it, and also that people may not have interpreted something as intended and intention matters as well. The only way to do this in practice is to actually communicate intent and interpretation when there's a problem so corrections can be made if they apply, and to both parties being open to accepting those corrections. This is obviously impossible if there is no communication.


Four people resigned from the whatever-board when Rob was not asked to leave, and have written elsewhere about their repeated interactions with him. The fact that the four of them basically decided they don't wish to work in an org that Rob works in speaks (imo obviously) to him being a relatively unpleasant person to be around. Also, I'm skeptical that four people all are blowing things out of proportion, but who knows.


There are plenty of times I've seen a small group misinterpret something, and then feed off each other, and then reinterpret future events with that new, sometimes incorrect, context. On one side we have people that were apparently so upset they decided to leave. On the other we have someone that professes to not being notified when he made people uncomfortable, and more so, actively kept in the dark to the point that he had to drag minute details out of third parties that weren't supposed to talk about it.

What I'm saying is that it's entirely possible that they are both telling the absolute truth. Even if that's the case, one side appears to be trying to communicate and come to an amicable solution. The other side doesn't appear to be willing to consider that (or have ever really considered it an avenue of addressing the problem), at least from the information presented so far, but that's not necessarily the whole story either.


What you are saying is very reasonable. But...if he did so much to upset so many, it should be easy to come up with concrete and specific examples of conduct that any reasonable person would consider unacceptable.


I'm not. Several of the people in the centre of this drama have a number of Twitter posts saying things like "kill all men" and "all men are terrible" etc. I'm completely willing to believe that these 4 people have a lot of fun, and a lot of invested identity, in being "offended" by things white men do. It doesn't reflect on his character all that much to me.


Indeed. And while the fork proclaims to be more inclusive and provide safe-space, how am I as a developer to feel safe when I am subject to kangaroo-court processes?

And this is the reward for the effort of contributing time & code to a project? No, this is not inclusiveness.


The judgment communities make is between the ill effects of an imperfect process and between the ill effects of no process at all. There is nothing wrong with a community looking at the effects of no process at all and deciding "We can do better." It is perhaps worth pointing out that no process at all has no due process either.


I feel that this is a false dichotomy. As I see it 'no process' is the state where any process at all may be applied depending on the individuals that come into conflict. As such, that 'no process' state includes all possible processes that might be implemented for any given event.

Whereas a process without a notion of due process, is always worse than a process with a notion of due process.

I see it as the judgement a community makes is between dealing with the conflict openly (both accuser and accused are named and aware of each other and aware of the conflict) and avoiding open conflict. And in the interest of avoiding open conflict they sacrifice fairness.


A code of conduct lets people focus on the community purpose of the project. It lets people know what to expect so they can decide "I disagree, and therefore this is not for me," or "I disagree but I can live with it," or "I agree and can live with it." Codes of conduct are practical tools allowing a community to handle people who decide "I disagree and will stay and not abide by it" and then behave in ways that disrupt the community from its purpose.

From a practical standpoint, due process can be simple as the people assigned to deal with complaints saying, "This is problematic. Please stop." The cost of lawyering up when the response is "So sue me," is disproportionate to what has been asked. Due process is a three way street.


I agree with your assessment of what a code of conduct is.

That said, just the 'code' is pretty useless without a process to give it life. This is exactly like laws that tell you what you can and cannot do, and the process tells you how you evaluate whether or not the laws have been broken.

So on the one hand you have a document that says, if you're part of this community you will be expected to do this, this, and this other thing. And then this process side is "if you don't, these are the consequences; further this is how we will evaluate whether you haven't followed this code ..."

   > From a practical standpoint, due process can be
   > simple as the people assigned to deal with
   > complaints saying, "This is problematic. Please
   > stop."
I see it differently, practical or not, the reason behind having a process that requires disclosing who made the accusation of failing to follow the process, and the evidence that such a failure occurred, and a rebuttal from the accused, puts the transgression into context for all parties so that a fair judgement can be made. In the absence of an investigating body it is the only way something can possibly be fair.

From the practical stand point the process can be as simple as the adjudicating group sending an email to the accused saying "Bob has accused you of violating our code of conduct, and offers as evidence the following; ... what do you say?" [2] There isn't any need for actual lawyers and you don't even need an appeal process. Once the adjudicating body has made its decision on whether or not there was a violation then they can enact what ever remedy is specified in the code of conduct.

In your example, the only way "people assigned to deal with complaints" could say "this is problematic, please stop." is if they take on the role of the accuser. And if they do take on that role they must only do so when they have direct, and for them incontrovertible, evidence of the violation, rather than hearsay from someone that there was a violation.

I feel it is important to understand why the process has to be at least this thorough because it prevents abuse and injustice. One of the most interesting things about the law for me is how it creates these sorts of processes to deal with the fact that people who have to run them may be bad actors. And then still generate fair results[3].

[1] Initially only to the adjudicating authority, the accused and the accuser.

[2] And of course the adjudicating body has the obligation to do everything in their power to corroborate the evidence presented and the rebuttal.

[3] In the absence of grand collusion between accuser and adjudicating body.


After I wrote my previous comment, I went and looked up the applicable code of conduct. [1] I suspect the relevant passage might be:

  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.
As I said, due process is a three way street. And the more I read the statement linked as the story here, the less I think this is about anonymous complaints and the more I think it is related to whether or not actions by a committee member reflect the level of good faith expected in order for the committee to function efficiently.

In some contexts, voting people off the island is sufficient due process. If it is not sufficient here then many people will have to have acted contrary to good faith. I don't see evidence to support that conspiracy theory.

[1]: https://github.com/nodejs/TSC/blob/master/CODE_OF_CONDUCT.md


Thanks for adding this: I don't see evidence to support that conspiracy theory.

I see you are concerned with other comments here and elsewhere arguing a conspiracy of some sort to get the author banned. I have no opinion one way or the other on that specific accusation. I also don't think it is germane to my claims in this thread.

I was remarking that "Due Process" the specific legal term associated with the how the legal system deals with accusations, was designed to avoid the situation the author writes about where he asserts he was not told who is accusers were, what he was accused of, or given an opportunity to refute those accusations. This works because it removes information asymmetry that can be exploited by the attacker or the attacked. An recent example of how this can be exploited is the story of a venture capitalist who was accused of sexual harassment anonymously by someone who turned out to be a competitor[1].

In a system where, as part of the process, an accuser and accused are made aware of the real identities of each other this would never has passed the first examination.

If such a process were in place in this particular case, and the code of conduct violation was the one you cited, then the email to the author would have said

   "These {insert identities} have accused you of failing 
    to enforce the code of conduct elements {identified paragraphs}
    in the following situations {links to exchanges between author
    and community}. We would like to hear your side of this 
    before we render a judgement." 
And they would get back the authors point of view, then they might ask the accuser or the author for more information, and then they would render some judgement and an explanation of why they ruled the way they did so that in the future people would either recognize that it wasn't an issue or that it was and to not do it.

Processes are like programs or math proofs, if you do each of the steps in the right order you get the right answer regardless of the intent or opinion of the people carrying out the process.

[1] http://www.mercurynews.com/2017/07/25/lawsuit-sexual-harassm...


I believe it is likely that the author was told the nature of problem and that the nature of the problem is related to acting in good faith regarding the code of conduct as befits a community leadership position.

At the point where the legalese is called for, the working relationships necessary for a functioning committee within a voluntary association have already broken down. There aren't full time human resource staffers and legal council and there's no lateral move to another department available. The TSC's rules stipulate that removal of a member is by a normal committee motion.

I'm avoiding picking apart the statement because I don't want to pile into the internet witch hunt that is throwing titillation and innuendo at the twitters. I think it is a practical problem regarding the function of the organization. Part of it is probably a result of success changing the organization. Part of it is probably the result of changing attitudes among wider stakeholders. And for better or worse, part of it is probably deliberate choices by the people involved over a period of time.


It's insane that we might reach a point where people install different branches of a project based on their political leanings...

I think the main takeaway here is that a Code of Conduct, while valuable, has to be treated carefully. A lot of these projects agreed to a Code of Conduct just to appease a certain faction of their devs, and are now seeing that it can be used against them.


There is absolutely no evidence that this fork will gain traction, because it contributes nothing new technically, so it's unlikely we'll reach the point you mention.


I'm not an expert, but it seems within the realm of possibility. Despite what hackernews thinks, the forkers have a somewhat reasonable argument, in that Vagg did violate the Code of Conduct (because it is extreme), and the committee voted to ignore it (because he's a valuable contributor). Morality aside, it calls the system into question if someone can violate established rules and get away with it because the judges disagree with the rules.

Also, several members of their ruling committee left to make the fork. So it's not just a bunch of randoms, and they might be able to make some meaningful progress on their own.


> the forkers have a somewhat reasonable argument, in that Vagg did violate the Code of Conduct

Vagg seems to have a somewhat reasonable argument as well, in that he cannot correct behavior that has not been noted as problematic by himself or others.

If that's true, even though committee members ended up leaving for the fork, I could see their behavior as extreme enough to drive away people who try to contribute to the fork.

Edit: I'm not sure why you're getting downvoted. Either case seems possible to me given the dearth of objective information. That I'm collecting upvotes while you are getting downvotes is odd, and IMO unwarranted.


This is definitely a good experiment to see if a project that is so centered around its CoC will prosper or wither on the vine.

My bet is on cold hard code, but who knows? Time will tell.


The political question is whether they can attract via their politics the people who make the cold hard code.

Code hard code matters far more than politics to nodeJS consumers, but nodeJS producers may be influenced by politics.

You want to be the side that attracts the cold hard coders similarly to the way communists defected to the west during the cold war.


An important thing to note about that analogy is that defections to the West happened because the West was actually better, not merely more attractive on the surface.


Exactly, capitalists pay in cold hard cash. You can't buy a sports car if the state doesn't even allow them to be made.


Also, several members of their ruling committee left to make the fork. So it's not just a bunch of randoms, and they might be able to make some meaningful progress on their own.

That's easy enough to answer - look at the commit histories of those four.


> it calls the system into question if someone can violate established rules and get away with it because the judges disagree with the rules.

Welcome to adulthood, corporate life, and the real world. It's not fair. It's not designed to be fair. It's not intended to be fair. It's never been fair. You just pull up your big boy pants and deal with it.


But it has a PR open to bolster its "VALUES.md" file, as well as an issue for the most important subject of a logo.

There is no doubt that this fork is future of server-side JS.


I truly hope we are about the high water mark for this kind of entirely irrelevant nonsense. It seems at least in this case the majority of the TSC had the sense to properly deem this ridiculous.


Yes, and where does one draw the line? Maybe one day the city of Seattle is forced to be renamed because Chief Seattle (of which the city is named after) was actually a slave owner himself.


It was pretty hard to discern what happened. A lot of text and veiled insinuations. He is how far I got:

It was this article tweeted by Rod:

http://quillette.com/2017/07/18/neurodiversity-case-free-spe...

Which was noticed by a member of the community:

https://twitter.com/captainsafia/status/887782785221615618

Does that describe it? Maybe someone has a more clear summary

One thing I noticed is that Node.js community seems to be followed by drama. Maybe it's just something I misunderstood, but I have observed Python, Erlang, Elixir, other communities around specific projects and libraries and I just don't see these many scandals there. In fact at one point when I reject Node.js as viable platform, the community scandals and seeming immaturity was one of top factors. What is it about this community that seems to attract this kind of behavior? And note I am not taking any sides in this case, as it is not clear what happened, it is just it looks messy to an outside developer looking in.


Disclaimer: I'm a gay male that has been involved with groups run/moderated by the people I mention below.

Several high ranking members of Node / NPM are militant queer feminists. If they smell blood in the water, they tend to pounce hard without much regard for due process. Others glom on either in agreement or to make themselves seem progressive.


To give a specific example, I was part of an LGBTQ in Tech Slack group that was admined by several members of the community mentioned above.

Their CoC indicated that anyone considered a majority group (white and male being the worst) would automatically be considered at fault in any/all arguments and they would be resolved in favor of the minority.

That's the mentality at play here that does not give a space for people to defend themselves and resolve conflict. Sweep it under the rug so as to not disturb the more sensitive fringe elements, and condemn those who have not had a chance to even consider repenting.


What is it about this community that seems to attract this kind of behavior?

I don't know about Node.js specifically, but I found when it is a project with a very high code-to-comms ration, this doesn't happen often. When there are a lot of non-coding "Open Source Groupies" involved in a project that start talking about "community engagement" and the like (or fledgling commercial entities, trying to cash in and influence), this shit isn't far behind.

Good open source code speaks for itself, and doesn't require non-code contributions. Or boards. Or a "Governance Structure".


I do not know that I have the answer, but I do have a guess: Node.js is the only one of those projects whose development is primarily backed by a corporation.

Culturally, this sort of drama can only take place in environments where the "shut up and show me the code" hacker ethos is either missing or superceeded by other concerns. When a single company has significant control of the project, its priorities will override the project's. Many companies are interested in widespread adoption of the project, which is how "inclusion" ends up working its way on the list of project priorities. Many companies are also averse to controversy, so they're inclined to simply cut someone loose if there is a problem just to make the problem go away.

I could be wrong in the specific case of Node.js; the last time I paid attention to its governance was during the gendered code comment fiasco, where the contributor who was kicked out did not work for Joyent. But I have seen it in other open source contexts, most recently in the Drupal project.


Counterexample: Go. Also drama, but nothing on node's scale.

And Joyent left the node scene almost entirely years ago, so that's not it. Now node.js is a bunch of smaller companies fighting over their piece of the pie.

The Joyent drama was also because other young companies saw potential profits if they unseated the incumbent. I suspect the best thing Joyent ever did was leave the scene -- they spent several years nursing node.js from nothing to fame, and look what they got in return: a mess and long-term negative vibes.

The drama we continually see in node.js are part SJWs, and a much-larger part behind-the-scenes competitive corporate politics.


I must have missed most of the Joyent drama then, because your description of it sounds bigger than I remember. Again, I don't follow Node closely enough to be sure.

Go is a good counter example, and it also doesn't have the corporate politics despite being backed mostly by a single corporation. I was thinking that my guess was probably missing something; the behind the scenes struggle for control between multiple companies might be it.

Is there a way to quantify this "corporate politics" thing in Node and compare it to other communities with drama?


Weren't a couple guys at a Python conference fired for telling a joke in a line that someone else overheard? I mean the backlash was just as bad.. but that seems pretty similar.


That's one scandal I can think can of in such a large community.

Node had the "pronoun" scandal and the power struggle between strongloop and joyent.

The left-pad one which broke a ridiculous number of packages.

Crockford removed as speaker from some conference.

Project was forked at least 2 times IO.js vs node.js vs Ayo.js

While not a single scandal I have noticed in personal interactions while interviewing candidates, conferences, and online in forums that node.js devs seem to be very excited and confident and that's good, but also they don't know what they are talking about. That combination doesn't come off too well. That's why my "immaturity" comment. Maybe I am wrong and just happened to find all the bad apples by accident.


It really makes me sad to think of the amount of hours Rod has spent on this instead of writing free software for all of us to use.

Node got really popular, and with that came a whole group of people who are more interested in social justice instead of actual technical work.

NPM is partially to blame for employing most of the people who are pushing to remove Rod.


I agree, Marak. To ALL of what you said.


Too much drama and polemics. My god he spent a lot of time on that response -- like hours.

If you are writing long emails dealing with responses to drama, you need to move on. Not because you are at fault but the whole situation is screwed up and not worth your time. This is not a win-win situation, but an everyone lose situation.

It means you and others are in the muck. Once you get a bunch of these accusations and long polemical post flying around it is nearly impossible to figure out who is right and who is wrong. The way people try to win here is ultra long polemical posts, secret discussions, accusations, character assassinations, etc. Non of which is at all productive.

Being in the muck is a huge waste of time and energy for everyone. Find something that doesn't involve so much drama, life is short.

I think one rule in software development is that once you are engaging in polemics, especially many hours of it per day, and not technical matters, something is sick about the situation -- get out of it.


Was "Polemic" in your word of the day email or something?

Anyways, Rod's character is being assassinated on the internet. Prospective employers could Google his name and all they'll see is one side of things, unless he attempts to defend himself.

Additionally - the people wielding the pitchforks want him to just give up. At some point it's important for people to take a stand if they believe in their principles - or maybe I'm just old fashioned.


This is a polemic: https://en.wikipedia.org/wiki/Polemic

It is not a means of trying to fix the issue, but rather a strong worded, accusatory, defensive blast at his critics by someone who believes they were wronged and others are at fault.

This is not a "how to get to yes" type response, but rather a response that just inflames a situation, and causes everyone to dig in.

There is going to be no winner going down this path, just losers all around and a lot of wasted energy and time.

Yuk.


Sounds like you'd already made up your mind about Rod, and weren't keen to hear the other side.

I, on the other hand, was curious to read his version of things so I'm glad he took the time to offer a detailed reply. After reading his "polemic" I felt he was rational, composed, and defended his actions and character rather well. I came to the conclusion that the pitchfork wielding folks were slinging a lot of unsubstantiated accusations that look a lot like moral authoritarianism.

My read was that he diffused a lot of possible indignation and inflammation with his word choice and tone. He was more conciliatory than I would have been in his position.


> Sounds like you'd already made up your mind about Rod, and weren't keen to hear the other side.

I actually only read his side, although I stopped after a couple screen fulls as I recognized from experience that what I was reading was not a productive response to the situation at hand, but a defensive one.


Of course it's a defensive one. He's the person being accused! ಠ_ಠ

God forbid someone defend themselves after being publicly and on-record dragged through the mud. This isn't going away for him even if he stepped down and disappeared from the scene entirely.


> I recognized from experience that what I was reading was not a productive response to the situation at hand, but a defensive one.

What would a productive response be? I agree that getting unnecessarily mired in drama is counterproductive, but I don't think that these accusations could have been reasonably ignored, nor do I know what Rod could (or should) have done differently.


In real-life, outside of 10,000 word github issues, one should call those you are having problems with and talk about it. That is how you resolve these issues. You show empathy, you show understanding, you take more responsibility that you deserve because you have a strong ego, you focus on the future and how best to achieve joint success, you show some flexibility, you get a mutually beneficial resolution or an agreed plan of action that should lead to a better outcome. This is best done on a one-by-one basis. And people come to your side or at least understand you.

You need to not be accusatory, nor defensive.

This is the age old way of dealing with issues in a productive fashion. Read getting to "Getting to yes" or try getting married.

What I read in this github issue is just immature, very ineffective problem solving from I guess someone who doesn't know better.


When people defame you in the public, to talk to people in the private don't solve all the problems. The public need to hear from both sides.

You don't like to hear the defense, all right. Just don't try to stop other people from hearing it.


> When people defame you in the public, to talk to people in the private don't solve all the problems. The public need to hear from both sides.

Only if you want to run a negative sum game for all involved. This is a horrible strategy to engage in. You only end up also wrecking your own reputation and others and wasting a ton of time.

The socially mature thing to do is resolve this behind closed doors and be flexible as I suggested.

He may get some success by playing the martyr, but it will be success that occurs by his aggression, stubbornness and by expending more efforts in polemics than others. In the end he might still be standing but everyone around him will be wounded metaphorically because of this (mostly via huge wastes of time because of difficult conversations and departures of people from the project.)

Anyone who wants to run a company focused on results and to avoid unnecessary drama should avoid this type of character like the plague.

This behavior he is currently engaging in is a huge red flag if you recognize it for what it is.

Again, he is engaging in a strategy that forces everyone into a negative sum game, which is itself a form of aggression -- and it is easy to recognize from this github issue as I've seen this before close up. It is not a smart thing to do and should have been avoided by doing things differently long ago.

He can still pull up by basically retracting all of this and re-engaging in a mature and flexible manner that shows some contrition/empathy -- but that requires a strong ego, social maturity, and flexibility which may not be something that is possible on his part at this time. Everyone he is dealing with would love that I am sure, even at this stage, because it will stop the negative sum game.


This isn't unnecessary drama on Rod's part. He is standing in the line of fire to shield the rest of his community from a McCarthyesque witchhunt conducted by SJWs, who are the real source of the drama.


Once someone drags your name through the mud in public, it's well past the point of having a private chat. His behavior isn't a huge red flag in the slightest; he's responding to what's essentially a public attack of his character. Responding to something like that publicly when it's already a public situation isn't a form of aggression.

You are projecting WAY too much of your own bias and opinion into what was simply a response. It's telling that you're suggesting he needs to have social maturity when the allegations levied against him are pretty unsubstantiated- see the "evidence" of him retweeting an article discussing free speech concerns on college campuses.

Are you genuinely so obtuse as to scorn a man who's attempting to merely respond to being accused of something?


If the allegations were unsubstantiated it would not have gotten this far, especially if he dealt with this in a mature fashion by engaging and showing he is just a reasonable person. If they were totally unsubstantiated the only way it would get to this point is because he dealt with it in the worst ways possiblle.

People wouldn't have quit to make what is essentially a useless fork if it were truly unsubstantiated. Those people are truly angry about what happened. This means there was something to resolve but it wasn't resolved, we just get grandstanding and massive effort into polemical defenses.

He tactically argues like a really smart guy, but his overall strategy is the wrong one.


This reads akin to the logic behind a witch hunt - a bunch of people are very upset at a person, therefore the person must be a witch. I disagree with the premise.

The people are indisputibly angry. They may have reason to be angry. I don't see it, but they may have it. But the entire line that "he's accused, therefore he must be guilty" is flawed.


If it was substantiated there would be evidence. I see nothing beyond inane things that aren't worth this fuss.

It seems like another example of CoCs being used maliciously to hunt someone out of bias.


bhouston's statements are far more nuanced than saying that they don't want to hear the defense or attempting to prevent others from hearing it.


Perhaps you should be telling this to those who launched a witchhunt against Rod because he undermined their oppression tool. They certainly didn't try to "call those you are having problems with and talk about it."


When people have already mounted an attack, a polite defense seems a very reasonable response.


>I actually only read his side, although I stopped after a couple screen fulls as I recognized from experience...

So what you're saying is you made up your mind (based on past experience) and weren't really keen to read the full text because of that?


This story actually helped crystallize why I have been quite so knee jerk against things like Codes of Conduct.

The whole point of a Code of Conduct, Homeowner's Association, or anything else which attempts to codify politeness, common sense, respect, etc. is to be used as a bureaucratic bludgeon against someone. And, while those may get put in place to get used against a single egregiously bad person, they then stick around to get used by the far more numerous petty political jerks.


this. where can i vote a million times?


We need an updated Waldorf Statement [1].

"Members of the Node.js community deplore the action of the CTC men who have been cited for contempt by the Foundation board. We do not desire to prejudge their legal rights, but their actions have been a disservice to this project and have impaired their usefulness to the industry."

"We will forthwith discharge or suspend without compensation those in our employ, and will not re-employ any of these men until such a time as he is acquitted on Twitter or has purged himself of contempt and declares under oath that he is not a Meritocracist."

"On the broader issue of alleged sexist and non-inclusive elements in Silicon Valley, our members are likewise prepared to take positive action."

[1] https://en.wikipedia.org/wiki/Waldorf_Statement


I don't particularly understand the claims against this man, but as this organization and its discussions happen (almost) entirely online [is this correct?], surely it must be incredibly obvious whether or not allegations brought against him are true or not?


It seems it's not that simple. At least according to him, this wasn't all online, e.g. consider this quote:

> I do not recall being asked to remove the names of the companies involved, I have only now seen that they have been edited out of my post. I cannot find any evidence that such a request was even made. This would have been a trivial matter on my part and I would have done it without argument if I had have seen such a request.


As I understand, the question wasn't the veracity of the claims - I'm not sure those were contested. The question was whether they warranted his removal, and that comes down to how much you care about the Code of Conduct and believe team members are responsible for upholding its legitimacy, even if they disagree privately or internally.


Possibly off-topic: this is why GitHub, and GitLab, are both problematic platforms for online collaboration and community-building.

There was once a list of grievances against this person here https://github.com/nodejs/TSC/issues/310. That list is no longer present; it has been redacted, and a reason for that redaction has been posted.

As someone who has zero context for this issue, this makes it very hard for me to understand.

This redaction is not something that can happen easily with source code. Comments and other "metadata" can be edited, permanently and without a view into history. That makes it very hard to trace the genealogy of discussions.

Sure, you can rewrite git history and push, but that's a) less durable, because someone might have a fork/copy of the repo, and b) much less common by convention.

I really don't like the tendency of GitHub/GitLab as platforms to encourage the "facebook style" of content authorship (what you posted is what you posted . . . until someone edits, it, then it never was that in the eyes of recent arrivals).

Edit: I will probably accidentally type markdown into HN comments until the day I die.


OTOH if you build an immutable system it will be exploited for all kinds of bad things as well. Also note that code generally only becomes immutable after it has been reviewed.


Fortunately, somebody already took a snapshot and there's a way back: https://web.archive.org/web/20170821212745/https://github.co...


That was my first thought. A lot of people in the last several years have learned the hard way that for all practical purposes, the Internet tends to be forever.

Sure, you may not be able to find that really useful utility you once used to parse regular expressions because the author stopped maintaining it, took the web site down and never released the source code[0], but that one time you[1] drank too much and tweeted something embarrassing will be discoverable on Google next to your name for decades after you die.

[0] That's been a bugger of mine for a while -- if anyone knows where Rad Regular Expression Designer went, I'll e-mail you a soda.

[1] Or when someone who shares your name and got arrested for theft (thank God he lives in a part of the country I have never visited).


If only current ICO hype could spawn DAPP alternative to github


Shame how such a cool project as node.js can drown in political fingerpointing. The only measurement that counts (in my opinion) is cold hard code contributions.


It's a little extreme to say that cold hard code is the only thing that counts. Years ago I worked with someone who contributed more cold hard code than anyone else I've known. A brilliant developer, probably one of those "10X" people they talk about: that rare combination of outstanding technical chops and "get the job done" productivity.

But more than once, he jumped into projects and features that he knew other people on the team were already working on, implemented them himself in a rush without coordinating with the other developers, and pushed his code instead.

Sometimes he would take shortcuts to get it done faster while his teammates were working on a more fully developed version of the feature. And since he was first, that was the code that would be used. The other developers were left with nothing to show for their efforts, less of a feeling that they were valued members of the team, and a significant loss of reputation in the eyes of management.

Cold hard code is important, of course. But it's not the only thing.


Who was running that team? Blame should be on leadership for running an inefficient team where team members don't share and coordinate so that common projects, code, libs etc can be flushed out.


That's not brilliant, IMO. Just someone who knows how to program but not work on a team.


I fully agree that it sounds awful for a project to go down due to politics. But only paying attention to code reviews ignores how the community feels, as well as non-code work. For example, look at Rod Vagg's contributions to node: https://github.com/nodejs/node/commits?author=rvagg

At least from the first page, it seems he's mostly working on documentation, specifically changelogs. But honestly, those changelogs are fantastic and definitely make a difference in my life (I don't want to comb through tons of commits to figure out what has changed between versions of Node). It might not be code per se, but the contribution is noticeable.

Even if all you do is make people feel welcome in a community or bring people in, those are still worthwhile (new people can mean more code). And if you're an amazing programmer but make everyone want to leave the project, one can see how that would also affect the code (contributors leaving).


Usually, one who writes change logs is part of leadership deciding what should be worked on next, strategy, prioritizing and often times accountability as well. This is because they have a birds eye view of everything that is being worked on. Not easy and often thankless.


People who choose to contribute under their real names or easily cross-referencible pseudonyms are taking a calculated risk. People who participate in political structures like the TSC -- which despite its name is a political, not a technical effort -- incur risks that are intrinsic to being in a high-profile leadership role.

"Cold hard code" contributions are an option available to anyone who feels comfortable with donating their labor under an opaque pseudonym. It's a good way to proactively shield oneself from disputes of this nature. It's a natural continuation of the quip "On the Internet, nobody knows you're a dog" -- except if you tell everyone you're a dog. Plenty of people contribute to collaborative projects solely on the merit of their contributions, even as many projects have come to follow the trend of considering other factors as well [1].

[1] https://news.ycombinator.com/item?id=14539465


If you ever want to leverage your open source activities in the real world, you have no choice. How can you put it on your CV if your name's not on it? Or write a book or give talks at conferences or write a blog etc.


Are you going to accept cold hard code contributions from someone who regularly writes excellent code and engages in political fingerpointing?

Are you going to accept cold hard code contributions from someone who regularly writes excellent code and has the technical sense of the community about 80% of the time, and is at odds with the technical sense of the community 20% of the time, and regularly tells everyone involved in the 20% case that they're idiots and the project will fail if they don't merge the remaining 20% of their code (which is technically excellent too, just not implementing the design people want)?

Are you going to accept cold hard code contributions from someone who generally writes good code that works on the first try but refuses to listen to code reviews?

Are you going to accept cold hard code contributions under the wrong license? (Licenses are politics, not code!)


That sounds nice until you think about it -- what code are you writing? Who decided on the the feature you're writing? Who's writing the docs, and tutorials, and putting together conferences and paying bills and maintaining tax status and filing paperwork, and...?


Lots of real people aren't robots, and are concerned with other feature software the environment in which they choose to spend time to make a product than just the resulting output. And those people are going to choose environments based on the features of concern.


"Cut the crap, Kent; you've built a weapon!"


Unless you're the only contributor, you're still going to have to deal with other people, and the interactions with other people on the project.


Are long-winded quarrels and dysfunctions unique to node core, or is node core just transparent in documenting the making of the sausage?


See also: all of human history.


No, libreboot did as well: https://libreboot.org/news/unity.html


Node community is going to argue its way into obscurity.


While the snark of this comment may push it into obscurity by those who hate snarky comments, I totally agree. I was surprised we could even still have Node.js after the huge Node.js vs io.js debacle. I think all of these arguments are about important issues, but they also can give a very negative impression to outsiders (not to mention how insiders aware of all the facts may feel).

That said, I am at least happy to see a he's going for a middle ground - he seems to be saying he won't step down, but he also looks like he's apologizing for anything he did wrong. Perhaps that's the best way to end the argument despite it not 100% pleasing either side


It's the only adult thing for him to do, considering that he didn't even know that people were offended.


The Node.js vs io.js fork changed the way many looked at node and probably changed its growth axis.

This is not the same and highlights why a code of conduct focusing on moral issues is not always the best path for a project/language.


Perhaps this is because my coffee rush ended and I'm currently in the post-coffee slump, but I don't follow what you're saying. Are you saying this event will/has not change(d) the way many looked at node as well as perhaps its growth axis? Also, when you mention these changes, I'm honestly not familiar with the stats - did they improve or decline? I also don't follow your second paragraph, but that could be simply because I missed what you were saying in your first


The first fork drove some away because some felt the ecosystem was fragmenting but many came back after they merged back or understood io.js advantages. Some new developers who might have choosen the language never came back. The growth curve was altered because of those events.

This new split will not drive people away or stop the adoption in the same way. It's may cause some to put there changes in this new fork but this new fork will push changes to the node.js repo and this new fork will keep pulling changes from node.js.


Completely agreed, although the parent's post does not appear to be snark to me. I believe it is sincere, and I fear exactly the same outcome.


Perhaps counterintuitively, debate and dissent can make projects stronger. I definitely would say that was the case with the iojs fork and subsequent merge. This time I am much more unfamiliar with the goings-on, so I can't say if it will happen again.


It's been quite a journey from a "great babbling bazaar of differing agendas and approaches"[1] to this mess. Bureaucracy always wins in the end.

[1] <http://www.catb.org/esr/writings/cathedral-bazaar/cathedral-...


A code of conduct without transparency or due process seems more than dangerous to me. It is the stuff of kangaroo courts and star chambers.


James Snell's reasoning behind hiding the accusations inside the committee deliberations is theoretically sound: to keep Rod from getting harassed. I mean, under the current circumstances, a public, enumerated list of all your supposed crimes is pretty much guaranteed to bring a mob down on your head, and it would probably rocket to the top of Google searches for your name -- regardless of how the process turned out.

But transparency in the process is also important. I don't have a good answer for this. It seems to be damned-if-you-do, damned-if-you-don't.


He makes it sound as if he was unable to even know what he was being accused of in order to defend himself. He should be apart of that process even if it is in private.

Not being allowed to criticize something is the first red flag, for me personally, that the idea is likely to be worthless. There shouldn't be any debate about whether or not an idea can be criticized and the people in this thread who seem to be ok with firing/excluding a person because of their opinion... man that is just bizarro-land to me.


> James Snell's reasoning behind hiding the accusations inside the committee deliberations is theoretically sound: to keep Rod from getting harassed.

No. It is not. Saying that the specific accusations were removed to keep Rod from getting harassed suggests that it must have been something serious. Fortunately there's the Web Archive and you see what was the 3 most serious crimes that rod was accused of, and I quote:

1. "Rod’s first action was to apologize to a contributor who had been repeatedly moderated" 2. "Rod did not moderate himself when asked by another foundation director" 3. "Most recently Rod tweeted in support of an inflammatory anti-Code-of-Conduct article"

Some of this is NOT EVEN TRUE - see Rod's response: https://medium.com/@rvagg/the-truth-about-rod-vagg-f063f6a53... - as no evidence was ever provided that he was indeed asked to "moderate himself" (read: remove what he posted in a comment on GitHub which was not even ever accused of being incorrect).

The third point is deliberately misleading and you can see for yourself - just see the tweet in question: https://twitter.com/rvagg/status/887652116524707841

Rod twitted no more no less but: "If you've never considered the potential downsides of codes of conduct, here's a good place to start" and posted a link to The Neurodiversity Case for Free Speech by Geoffrey Miller - who is described by Wikipedia as: "Geoffrey F. Miller (born 1965 in Cincinnati, Ohio) is an American evolutionary psychologist, serving as an associate professor of psychology at the University of New Mexico and known for his expertise in sexual selection in human evolution, and for his views on the evolution through sexual selection of the human brain as sexual ornamentation." - see: https://en.wikipedia.org/wiki/Geoffrey_Miller_(psychologist)

As you can see, when someone is quoting a very interesting article of a known professor of psychology with the only comment of "If you've never considered the potential downsides of codes of conduct, here's a good place to start" and THEN someone else describes it as: "Rod tweeted in support of an inflammatory anti-Code-of-Conduct article" then it is a deliberate misinformation - but who will take the time to search for the real tweet, follow the article, read it and read about its author? No one. But the rest of the world is already describing Rod as "a person who has generally been standing in the way of making Node.js an inclusive project" because of the mysterious accusations that were later removed - see: https://github.com/ayojs/ayo/issues/4

Now, even if all of the accusations were indeed true and even if they were not blown out of proportion - it all boils down to 3 points:

1. he apologized someone for being censored 2. he didn't respond to self-censorship request fast enough and instead got censored by someone else 3. he twitted a link to an article on Twitter - a medium where no one can censor him unlike on GitHub, an article that (God forbid!) explains the exact same problems that we see here.

See the original accusation and think for yourself - were the actual accusations removed to defend Rod from harassment or to make us think that it must have been serious misbehavior if there was a risk of harassment if anyone knew the facts involved? THAT is the real reason of never talking about the real "crimes". Think about it.

See: https://web.archive.org/web/20170821212745/https://github.co...

> I mean, under the current circumstances, a public, enumerated list of all your supposed crimes is pretty much guaranteed to bring a mob down on your head, and it would probably rocket to the top of Google searches for your name -- regardless of how the process turned out.

See? Even you assumed that those must be something that rod should be ashamed of. Meanwhile it was ONLY those 3 things that I described above. Now, when those were removed, people who google for his name will see articles like "Node.js forks again – this time it's a war of words over anti-sex-pest codes of conduct" and think that he must be a "sex-pest" because all of the actual accusations were (deliberately) removed.


It is weird. But a lot of times "toxic" people need real protection. It is easy to get accused but not every one can argue or explain their personal views like Rod. Or even have strength to deal with it and not over react or get panic attack

I am wondering about introvert geeks accused of "toxic behavior" silently sitting in the corner.


The Node community seems to have more issues like this than others. This feels similar to the Nodevember drama where Douglas Crockford was uninvited to speak because a small group of people felt uncomfortable. What that community needs to understand is that speaking takes a lot of work and guts to do. Professionals are busy people and it’s a privilege to hear experts present. Same goes for contributing time and expertise to open source projects. If it becomes common to force people out for perceived wrong think than all that will be left are codes of conducts instead of codes of systems.


A bit of a thought experiment for myself: suppose that Rod were as terrible as the worst possible claims made against him. (I am confident he's not.) Suppose he were actively, consciously hoping to deceive and harm the Node community. (I am also confident he's not.) What sort of statement would he write? How much would it look like this one?


Once somebody has decided someone else's guilt, all following stimuli is interpreted through the lens of confirmation bias by default—and it takes an uncommonly truth-seeking mind to see past it. No matter how "heartfelt" or "thoughtful" a written or verbal apology is, it won't change any minds that've already been made up.

This has been happening more and more recently, both online and in geopolitics.


Eh, my personal reaction was that I was significantly more sympathetic to him after reading his writeup, so I was wondering if that's actually evidence-based or just emotion-based.


Please follow up on what was the supposed evidence against him and you will see his response was reasonable.


Oh yeah - his response was definitely reasonable if the facts are that the supposed evidence against him was trumped up and he's in the right.

I'm just trying to figure out if his response is also what I'd expect to see if the facts are that the supposed evidence against him is completely accurate and that he's a toxic contributor who's trying to hurt the project.


So he is condemned in your eyes, not matter what evidence is presented?


Huh? That's rather the opposite of what I'm saying.


lol what? Did you reply to the wrong comment?


"You say you're not a witch? Why, that's exactly what a witch would say!"


Well, yes, the statement "I'm not a witch" is of zero information value. It's ridiculous to conclude "That's exactly what a witch would say, therefore I believe more that you are a witch", but it's equally ridiculous to conclude "That's exactly what a non-witch would say, therefore I believe more that you aren't a witch." You should not have your beliefs changed at all by the fact that someone claims not to be a witch (unless you believe that witches are unwilling to lie, or something).

I'm trying to figure out if this response is similarly of zero information value - interesting, but should not convince me either that he's in the right or that he's in the wrong - or of nonzero information value, convincing me that he's in the right. I'm currently leaning towards the former.


I have never understood why open source projects have taken to trying to cargo cult dispute resolution and due process.

They don't have the training, resources, or infrastructure to make it work.

Really, they should just be realistic, and say "we're gonna look at what people say, make a completely arbitrary decision, and stick with it".

Because that's what is really happening.


Does anyone have a TLDR about this story? I haven't had the time to follow all the drama.


Just reading through his response takes quite a while, and at the end you're left either accepting his interpretation and explanation, or you need to probably wade through some multiple of that content in disparate other sources to get the other side.

Given the types of complaints and their subjective nature in some instances, I imagine you're probably looking at something close to 4-5 hours at least to get enough context to form an objective opinion of your own on this situation if you aren't coming into it with that background knowledge already. I'm not willing to invest that.



Honestly, GitHub gets more like Tumblr every day.


It's been that way for a while. One of the big reasons I up and moved away from it. I only use it to send PRs for Github hosted repos now.

It's amazing how quickly an organization or platform can just die like this. Sure, it isn't dead dead, but it's descended into a pit of political BS and petty drama.


If there was a TLDR, would you believe it? What if there are two TLDRs that say completely opposite things?

I don't follow Node, but I've seen the Bitcoin community get to a place where understanding the politics alone could be a full-time job. It's pretty sad.


tl;dr: Politics 101.

Prediction, the side that forked loses.


Not surprised to see James Snell prominently involved in this. I've had bad feelings about this since the io.js group joined the foundation. This is upsetting having followed (and used) the project for so long.


I've tried keeping up with what's been happening with Node, but I'm completely lost here. Could anyone summarize what's been happening or point me to a summarization?


As a thought experiment imagine your manager asks you about the new node.js fork and whether you should switch to it. What would you say?


If your manager is aware enough of the situation to know there is a fork, but is not aware enough to know that the fork is pure politics, it might be time to change managers. That is such an odd superposition of being simultaneously informed and not that one couldn't help but wonder what other strategic mistakes would happen.


News of this has made mainstream tech news sites like El Reg. That's how I originally heard about it, I don't do much Github these days.


If your manager is relying on mainstream news to inform decisions regarding their product's primary software dependency, it might be time to change managers.


Since it is so serious, I promise I will change the imaginary managery from the thought experiment.


"Whatever you pay me to do."


I didn't know who Mr. Vagg was or his role in Node before reading his post, and without looking at posts/tweets from the people who opposed him, or having a clear grasp of the controversy, I still appreciated that he put the time toward a lengthy rebuttal. Writing a lot of words, for any reason, is a decent time investment. And it takes significantly more time to make it reasonably accommodating and (at least from my non-informed viewpoint) not obviously antagonistic. Whatever the merit of the arguments/complaints, I can at least appreciate that this is something important to him.

Since the primary complaints against him involve details that he does not specify (and may not be easily findable after a lot of digging), I was interested in the 3rd listed complaint, which was about how he allegedly conducted himself on Twitter:

> Most recently Rod tweeted in support of an inflammatory anti-Code-of-Conduct article. As a perceived leader in the project, it can be difficult for outsiders to separate Rod’s opinions from that of the project. Knowing the space he is participating in and the values of our community, Rod should have predicted the kind of response this tweet received. https://twitter.com/rvagg/status/887652116524707841*

Point 1 of his rebuttal:

> The post I linked to was absolutely not an anti-Code-of-Conduct article. It was an article written by an Associate Professor of Evolutionary Psychology at the University of New Mexico, discussing free speech in general and suggesting a case against speech codes in American university campuses. In sharing this, I hoped to encourage meaningful discussion regarding the possible shortcomings of some standard Code of Conduct language. My intent was not to suggest that the Node.js project should not have a Code of Conduct in place.*

Point 4:

> To re-state for further clarity, I have not made a case against Codes of Conduct in general, but rather, would like to see ongoing discussion about how such social guidelines could be improved upon, as they clearly have impact on open source project health.

Here's his Tweet and its reply chain: https://twitter.com/rvagg/status/887652116524707841

I don't think the tweet rises to the level of demanding his removal. I don't know Vagg or his Twitter account so I don't know what his rhetorical style is (and I tend to give everyone the benefit of the doubt that Twitter is part-performance). But I didn't find his rebuttal to be convincing. It's not just that he tweeted out an article that may have annoyed/offended people. It's the way his tweet replies are what you'd expect from someone who just doesn't like CoC's, but is too politically savvy to say it, e.g.

"And folks who think there's a possibility that CoCs may not be achieving their stated aims? No room for discussion on that?"

"I accept that, but there are surely valid concerns about their current implementation that could lead to improved solutions"

"If we're talking evidence, I'd love to see some solid data on the use of CoCs, it doesn't exist, we just have to have faith."

"But I have witnessed the negatives, again and again, the most tragic are against those who don't naturally fit in"

Even accepting that Twitter is just not ideal for substantive debate, it's hard to not feel he's being less than upfront. He wants an open discussion about CoC's. But every tweet has the tone of "But maybe CoCs can be bad? Why isn't there data? etc etc". For the sake of argument, I'll happily assume his premise -- that CoCs may be inherently flawed and lead to the injustice they purport to fight -- but why doesn't he describe an actual example? Calling for "open discussion" and then just retorting with points so vague that no one can honestly discuss them is one of the most annoying things to see. e.g. "But there are surely valid concerns about their current implementation that could lead to improved solutions" If you think this surely must be the case, why don't you kick off the discussion with just one of those things you've considered?

Back to his posted rebuttal on Github. I'm glad that he pointed out his record for supporting Node.js's CoC and using CoC in his own projects. But when he says:

- "I have never made a case against the Node.js Code of Conduct."

- But on Twitter, he implies that people aren't skeptical enough of CoC's and that he has "witnessed the negatives, again and again".

Is his lack of criticism of Node.js CoC ("I have never made a case") because Node does it right? Or is it because he doesn't think it's worth it for him (in his position) to critique Node.js CoC (which is an understandable position). His rebuttal, when looking at the source material, doesn't feel direct enough to me. How can he claim that "the post I linked to was absolutely not an anti-Code-of-Conduct article" when the article starts off with:

"In this article, I’ll explore the science of neurodiversity, and how campus speech codes and restrictive speech norms impose impossible expectations on the social sensitivity, cultural awareness, verbal precision, and self-control of many neurodivergent people."

Concludes with:

"Campus speech codes discriminate against neurominorities."

Followed by:

"In a future article, I’ll outline a legal strategy to use the ADA to eliminate campus speech codes that discriminate against neurominorities."*

Reading the entire post a couple times over, if the professor believes that there are code of conducts that are not inherently discriminatory, he doesn't cite any evidence of their existence, or make an attempt to outline what an acceptable CoC looks like.

----

Putting aside all the other complaints leveled at Vagg -- not because I think they're unimportant, but because there's not enough info for outsiders to have an informed opinion -- I sincerely hope that Vagg and Node.js's governance can come to an amicable and transparent resolution at least on whether Node.js CoC is as good as it can be -- which seems reasonable if Vagg's public record of supporting it comes from his personal principles.

I do believe that CoC's are both well-intentioned and worth fighting for. And I also agree that they are and will always be a hard problem, because they attempt to address and mitigate hard problems. I don't know what the resolution to Node.js's conflict is, but the last thing we need is yet another fucking blowup in which the entire debate gets reduced to the lazy polemic of "Objective programmers yelled at by SJW soft scientists"


> But when he says:

>> "I have never made a case against the Node.js Code of Conduct."

> But on Twitter, he implies that people aren't skeptical enough of CoC's and that he has "witnessed the negatives, again and again".

If you use anything enough times, you'll witness the negatives again and again, even if you feel the positives outweigh the negatives and overall recommend it. Viewing something as a net positive, let alone not making a case against it, does not require you to be blind to it's negatives.


I think it's unfair to infer his personal opinions from tweets and apply it to conscious decisions he's made in his position at Node.js. Context matters.


> I don't know what the resolution to Node.js's conflict is, but the last thing we need is yet another fucking blowup in which the entire debate gets reduced to the lazy polemic of "Objective programmers yelled at by SJW soft scientists"

But without a transparent process where the accusations are clearly stated, I see two practical consequences:

1. The lazy polemic you quoted.

2. Reserving judgment.

Is there another option I'm not seeing?


What is wrong with Node.js governance (except Rod's case)? Is there any list of such problems?


He is clear, logical, and reasonable.

Poor guy, they will eat him alive.


Oh stop. "They" who? There was already a vote to remove him and the motion was rejected. He has clearly declined to back down in the matter (I don't mean this negatively, I just mean he's not folding). Somehow I suspect he will be just fine.


My momma had a way of dealing with these sorts of arguments. Everyone was punished. Look at these petty people. They all seem to have missed out on that sort of parenting.

"Rod has his opinion on CoC and you have yours. Now play nice or you both go to bed early with no TV."

I believe Rod and his detractors are all earning a different sort of punishment though. Who wants to hire a bunch of drama queens like this? It's too bad salary data isn't public like tweets. It would be interesting to see exactly how much internet drama negatively impacts a person's lifetime earning potential.


TLDR: core contributor displeases blue-haired SF nobodies, who fail to evict him from the project.

They proceed to throw a temper-tantrum and create a useless fork which so far has done nothing but bike-shedding.


This breaks the HN guideline against name-calling, which is a really bad idea when the topic is divisive to begin with, so would you please stop doing that?

https://news.ycombinator.com/newsguidelines.html

(We detached this subthread from https://news.ycombinator.com/item?id=15102018 and marked it off-topic.)


While you most likely made that comment in jest. Stereotyping everyone into a category like "blue-haired SF nobodies" is rather offensive.

Not saying I disagree about the temper-tantrum, but there was no reason to state it in the way you did.


Yes, you are right, it was an unnecessary jab...and I apologise if this offends.

The frustrated comment I gave is from the perspective of someone who is not an american; I don't see american californians as the moral authority of how open source software must be developed.

It is a sad day when politics must be paramount when contributing to a foss project. If developers wanted this burden they'd need look no further than working in a soul-crushing multinational mega-corp.

EDIT: please do not downvote the parent comment to this. He/she has commented to continue discussion, if you disagree please discuss, not downvote.


> It is a sad day when politics must be paramount when contributing to a foss project

Politics have always been the reason for me. It depends on what you call politics though.

I got involved with FOSS initially because of the GPL. I then found a project whose aims I agreed with, and also had a welcoming environment.

I might contribute a one off patch here or there to some other projects, but the ones I stay are such as those.


It might be offensive but it sure is accurate.


It looks like you've been using HN primarily for political/ideological battle. That's destructive of what the site is for, so we ban accounts that do this, so would you please stop doing this? Intellectual curiosity can't flourish on a battlefield.

https://news.ycombinator.com/newsguidelines.html


"It looks like you've been using HN primarily for political/ideological battle. That's destructive of what the site is for,"

Then why is this entire thread and subject here? It's entirely political and ideological.


Note that word 'primarily'. It is the important distinction here.

Occasionally commenting on a political issue isn't a problem as long as you do it civilly; some overlap with political topics is unavoidable. But when political battles become the thing you're primarily using HN comments for, that's when it becomes abusive, regardless of which politics.

HN's purpose is the gratification of intellectual curiosity. We can't be that and be a political battlefield at the same time, so we need to draw the line somewhere. The 'primarily' test turns out to be a good place to draw the line.

(There's a separate question of what kind of comments people post when they do turn to politics. To the extent that an account does political flaming as opposed to thoughtful discussion, we adjust the line in favor of more moderation.)

See https://news.ycombinator.com/newsguidelines.html for more.


"HN's purpose is the gratification of intellectual curiosity. We can't be that and be a political battlefield at the same time"

Incorrect - that's what communication is entirely about. And communication is what you're destroying.

"Note that word 'primarily'. It is the important distinction here."

No, the distinction is "political/ideological battle. That's destructive of what the site is for," If it's destructive to the site why is this entire thread about Rod Vagg here? It's entirely political and has nothing to do with technical merits of Node.js, at all. Every last bit of it is 100% internal politics, and as you state, this site isn't the place for it.

If you're capable of actually living up to your "This isn't the place for political/ideological battles" then this entire thread needs to be purged from the site.

Because otherwise this is pure hypocrisy.


You, I like you. Best view on the matter so far. Thanks.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: