The Future

The percentage of open source contributors who are men, a disparity that leads to fights over inclusivity like the one roiling the Node.js community
The Future

The Node.js world is imploding

Another programming community is having a meltdown due to festering sexism.

A close-knit tech community has fallen into disarray over a debate that started around a Code of Conduct and quickly spiraled into a referendum on diversity initiatives.

Ashley Williams, an outspoken advocate for diversity in tech and a member of the Node Foundation Board of Directors, the volunteer leadership organization for the popular open source Node.js technology, is being accused of “hateful speech,” “promoting sex and race based prejudice and stereotypes,” and “promoting violence (homicide) towards men,” according to an anonymous Reddit post that rose to the top of the Node subreddit one week ago.

Williams, her anonymous critics say, is guilty of the very crime she has railed against: making the community, which is made up of more than 1,500 contributors, less inclusive in ways that violate the community’s code of conduct. Her anonymous critic cited her tweets as evidence, including the time someone tweeted a photo of a contest at the security convention DEF CON with the sarcastic caption: “Hacker Jeopardy. Category is ‘Dicks’. Men play. Women give them beers. Why aren't there more women in security?" and Williams quote-tweeted them with the phrase “kill all men.” This was cited as “Promoting violence (homicide) towards men.”

Codes of conduct are intended to protect underrepresented communities, like women, people of color, and LGBTQ people, and help set standards of behavior for the people who contribute to complex open source projects. The gender imbalance within the open source world, for example, is pretty extreme — open source contributors are 95 percent men, according to one survey. Williams has frequently given talks and presentations about making the Node community more inclusive, and she believes codes of conduct are important for that. “These things are the bare minimum for successful communication among people,” she told The Outline. “It's really not meant to be a policing tool in any way.”

But now, Node’s Code of Conduct is being used against her. It’s important to remember that the controversy surrounding Williams didn’t start because a member of the Node community was having trouble working with her and filed a complaint, but because an anonymous Reddit user dredged up her old tweets and laid them out against selected portions of the code of conduct. (The author of the Reddit post used a throwaway account and declined to identify themselves in messages to The Outline, but said they actively contribute to the Node.js project.) The post about Williams is the most popular in the Node subreddit ever. And as her critics piled on, the leadership of Node has seemingly circled the wagons in what appears to be an effort to protect one of its own — not Williams, but another divisive member of Node leadership named Rod Vagg.

The controversy started about two weeks ago.

Node isn’t owned by anybody; all of the source code is available for free online, and it’s used by major tech companies including Netflix, Uber, and PayPal. An army of volunteers work to improve Node and manage the developers who contribute to it. To that end, Node has multiple committees including a Board of Directors and a Technical Steering Committee, which recently merged with its Core Technical Committee. This infrastructure is necessary in order to manage such a large project.

Rod Vagg, a developer and member of the Core Technical Committee or CTC, had been involved in Node since 2012, which at the very least is a huge sacrifice of Vagg’s free time for no pay. But he was increasingly unpopular with a subset of the Node community.

“...His bad behavior stems from ignorance and an unwillingness to learn.”
Bryan Hughes, who resigned his position on the Node Technical Steering Committee after a vote failed to remove a divisive colleague, Rod Vagg

Members of the Node community filed multiple Code of Conduct complaints against Vagg, according to Williams’s tweets, saying he had been rude or aggressive, and that his often thousand-word long comments would derail discussion and make work less productive. The public claims against him, which have since been redacted, included Vagg’s implied support of an “inflammatory anti Code of Conduct article” and contradicting action taken by moderators.

The complaints against Vagg led the 13-member Node Technical Steering Committee to call a vote on two things: whether to remove Vagg from the committee, and whether to ask him to step down voluntarily. Vagg and two other members did not participate in the vote, leaving 10 members to decide Vagg’s fate. On both proposals, six members voted in favor and four voted against, which meant Vagg got to keep his position.

The fallout had just started, however. The failure to remove Vagg seemed to trigger a meltdown in the Node community. Four board members stepped down after the vote: Anna Henningsen, Bryan Hughes, Myles Borins, and Jeremiah Senkpiel. “This is not about a specific individual, this is about the values we choose to demonstrate as a project and holding ourselves accountable,” Borin, a Google employee, wrote in his resignation letter. ��Rod had repeatedly shown a lack of judgement in how he acts within the project and with the broader community. He violated the Code of Conduct multiple times, and undermined efforts to increase inclusivity efforts at every step along the way,” Microsoft employee Bryan Hughes wrote in his resignation letter. “I do not believe Rod did this intentionally, or that he is a bad actor in the classical definition. Rather, his bad behavior stems from ignorance and an unwillingness to learn. Rod’s intentions don’t really matter though. As they say, the road to hell is paved with good intentions.”

Around the same time, a group of concerned Node members split or “forked” the Node project, as an alternative version of Node but with new leadership. Alarmed, Marcus Hinkle, the executive director of the Node.js Foundation, urged the Technical Steering Committee to reconsider its decision and “and suspend the individual involved from active TSC participation until this matter is resolved, hopefully with consensus, including support from those who recently resigned, if they would be willing to help.”

Vagg responded in a 4,700 word blog post titled, “The Truth About Rod Vagg.” “This caricature of me and vague notions regarding my ‘toxicity,’ my propensity for ‘harassment,’ the ‘systematic’ breaking of rules and other slanderous claims against my character has no basis in fact,” Vagg wrote. “I will not dignify these attacks by taking tacit responsibility through voluntary resignation.” (Vagg declined to comment for this article. “I have received advice that I can't comment on the record about these matters with you unfortunately,” he said in an email.)

It’s unclear why the debate coalesced around Williams. Williams was not involved in the vote or the resignations, but she was a vocal critic of Vagg’s. In July, she tweeted that she had pushed for “sorely needed action” against him behind the scenes.

Regardless, the anonymous Reddit post about Williams triggered the next phase in the Vagg/Node Code of Conduct fight. Node was now embroiled in a full-on internal culture war, with commenters degrading Williams, degrading Vagg, degrading diversity initiatives and the people who advocate for them, and debating the merits of Codes of Conduct. “It's truly sad that the platform that I once loved has turned out like this. It almost feels like a religious war with the CoC rules,” one commenter wrote. The thread became a forum for airing grievances against “social justice warriors” and lamenting the role gender and race have come to play in the discourse. “Everything must be viewed through the lens of how your gender makes you a victim,” one user wrote sarcastically. “But it's the other people who are sexists, you know, the ones who don't act like women need to be treated with kid gloves, and who judge a woman by her output.” “This is what you get when you play diversity politics instead of choosing the best person for the job based on ability. Eventually, any organization playing diversity games becomes unable to fulfill their primary function and it collapses,” another wrote.

Node seems to be yet another tech community that harbors hostility toward diversity initiatives just under the surface

Williams doesn’t know if a vote will take place to remove her from her position on the Node.js Foundation, or if she will be asked to step down. In a break from standard protocol, Node leadership publicly discussed the complaint against Williams; before the thread was moved to a private discussion, multiple members of Node leadership seemed to agree that William’s dredged-up tweets constituted a violation of the Code of Conduct.

A week has passed, and tensions seem to have cooled somewhat. The Core Technical Committee absorbed the Technical Steering Committee (a change that had been in the works before the Vagg vote) which mitigated the effect of the resignations. But there is still the sense that Node is yet another tech community that harbors hostility just under the surface toward diversity initiatives and the people who push for them. The dust-up mirrors what happened when engineer James Damore wrote a critique of Google’s diversity program that was leaked to the press. Damore’s memo was loudly denounced and its author fired, but internally and externally, many people supported his sentiments, which included fatigue, resentment, and the belief that diversity initiatives are pushing unqualified people into positions they don’t deserve. The controversy that hit Google and Node seems destined to repeat in more tech communities.

“My goal is to make Node as open as it possibly can be, and I really love the technology,” Williams told The Outline. “But there's always that moment where you have to ask yourself, is what I'm doing helping?”

Dark patterns

Open-source programmers are mad

San Francisco-based Kite took over the development of two popular open-source tools.
It made some changes that appeared to be self-serving and against the spirit of open source.
Now some coders are worried that the community has become vulnerable to bad actors.
Read More