Last Sunday I got a notification from GitHub about an issue someone had opened against an open source project I maintain. The issue description was one line:

Publish for Scala 2.13.x please. Its a dependency of Eff

I couldn't remember ever having interacted with the author, and the phrasing seemed kind of weirdly demanding coming from a total stranger, so I did a Twitter search for the person's name, and at the top of their Twitter feed I found this:

No. I generally share @typelevel values in code, but I dont support silencing someone because you disagree with their views. tolerance, rly?

The person was responding to this tweet from the official Typelevel account:

If you know anything about the recent history of the Scala community, you know that in 2016 the organizers of a conference called LambdaConf invited Curtis Yarvin to speak at their event. Yarvin is best known as a white supremacist and figure from the alt-right who had a "line to the White House" following the U.S. presidential election later that year. He likes to write long confusing blog posts about IQ, long confusing blog posts with titles like "What’s so bad about the Nazis?", long confusing blog posts that argue that some races are better suited to slavery than others, etc.

A lot of people have written about this situation, including me. I believe the tech industry in general and the Scala community in particular have a serious problem with creating spaces that are inclusive for people who aren't white cis men, and I think inviting an internationally infamous white supremacist to our conferences is obviously not a step in the right direction.

Many people in the Scala community disagreed with me about this, and argued that as long as Yarvin wasn't doing alt-right stuff at the conference, his presence wasn't a problem. This isn't too surprising, given that free speech absolutism and an opposition to codes of conduct are pretty widespread in the community (not to mention casual sexism, violently abusive language, etc.).

Thanks in part to the LambdaConf organizers, a few of us in the community who spoke out about the Yarvin invitation were the target of months of abuse, both from inside the Scala community and from alt-right hate mobs. (In my case I got my own personal Breitbart article and a handful of death threats.)

…and apparently one of the people who had taken the side of the white supremacist was this guy whose rudely-written issue I was reading at 7:00 AM last Sunday morning. So I closed the issue and tweeted about it:

This might not have been the most productive thing to do, but I was angry, and I think at least part of that anger was justified, and I don't intend to apologize or delete the tweets.

The reason I'm writing this post is another issue this author has opened, where he accuses me of cyber-bullying in these tweets. I'm glad that Typelevel is taking this report seriously, because I strongly believe that codes of conduct are critically important to building better communities, and that they should be enforced fairly.

In my view these tweets pretty clearly don't constitute a violation of the Scala code of conduct applied to the Typelevel community, though. I guess you could argue that they're aggressive (although I think the author overstates this—I never called him a "shithead", for example, as he claims), but they're outside of official Typelevel channels, and I don't speak as a Typelevel representative, either on Twitter or anywhere else.

I want to make sure this last point is clear: I am a Cats maintainer now, but I haven't been a member of the Typelevel leadership for years. I think Typelevel has made the Scala community a better place, on the whole, but I also think it's more or less a failed experiment at this point, in part because of its leadership's unwillingness to engage in the kind of community moderation that I believed was central to its original mission.

Among other things, the author of the issue accuses me of "implying [he] was a defender of white supremacists", and he's right about this one: if you attack an organization for not wanting to associate with another organization because it's giving a platform to white supremacists, then sure, I think you're a defender of white supremacists.

I don't want to work in a community that welcomes white supremacists, or their sympathizers, or terfs, or men who say shit like this to women, or dudes with a disturbing fascination with James Damore and race science. I've taken shit from people in the Scala community for criticizing these assholes for years, and I don't intend to stop, if only because I'm privileged enough to be in a position to draw some of the fire away from the targets of their hate.