Politics, Safety, and the Future of Scala

One of the core goals stated in the Scala Code of Conduct is “making this community a welcoming and safe place”. But from the very start of when I joined the Scala community, I was treated in an unwelcoming fashion, and made to feel unsafe.

My first foray into the Scala community was when I joined the (unofficial) Scala IRC channel. I was new to the language, and I wanted to learn more, participate in the community, and hopefully even give back to the community at some point. The people in the channel were talking about JSON serialization, and comparing different libraries and strategies. One person in the channel said that a particular library was better, and gave a vague reason. When I asked for clarification about the reason, and said it was unclear, they ridiculed and mocked me, and several other people in the channel laughed along with them. Within a couple hours of joining the channel, I left for good, feeling humiliated, discouraged, and unwelcome.

I later learned that the person who had mocked me was well known in the community for treating others extremely poorly.

At the time, there was little direction for how to deal with Code of Conduct violations, and the best information I could find was to send a message to an administrator on this very forum, the Contributors’forum. I sent a message detailing what had transpired in the IRC channel and how badly I had been treated. I have not received a response, to this day.

By a stroke of luck, either due to time waiting requirements for messaging administrators, or perhaps just by me stumbling onto the list of topics, I became engrossed in the Contributors forum. At first, I just read threads, learning eagerly. Then after a while, I felt comfortable enough to leave small thoughts of my own occasionally. Here, I felt welcome.

Slowly over the course of a few years, I started contributing to the language and standard library. But I also started learning more about the community, and the more I learned, the less welcome I felt. The folks at Lightbend, the primary people with whom I interacted when contributing code, were and continue to be kind, compassionate and welcoming. But the more community channels I joined, the more unsavoury individuals I bumped into. Some were repeatedly rude to others. Worse still, some have well-documented records of publicly supporting, enabling and/or perpetuating bigotry of all sorts. To my knowledge, none of them have been banned from this forum, or from any part of the Scala community.

And with my growing knowledge, I have felt less and less safe, since nearly the beginning of when I joined the community. When I’m reading a thread and I see these unsavoury individuals, particularly those who espouse bigotry or promote other bigots, I withdraw. They probably don’t know who I am, but if they decided to find out, who knows what they’d do to me? Many have histories of targetted harassment. And each time I see one of their names participating in the community, I feel less and less safe.


Martin, I’m disappointed in you.

Two days ago the BBC published a piece suggesting that transgender women are sexually predatory featuring a woman who has called for all trans women to be murdered1, and you have the gall to say that you’re “sick of this kind of politics”?

This very day, there are ongoing court procedings for the rally where a white nationalist drove his car into counter-protestors, killing one and severely and permanently injuring several others, and you have the AUDACITY to say that you’re “sick of this kind of politics”?!


To Martin and the many others who want to ignore differences in views and just focus on programming:

You may be able to ignore politics, but many of us—particularly the most vulnerable of us—cannot. I am a transgender, neurodivergent, disabled woman. My very life and existance is political. I do not have the luxury or privilege of ignoring politics. My political differences with some others in the community is that I want to live, and they want me to not exist. There is no reconciliation there.

Several times I have considered leaving the Scala community because I do not feel safe, and it is still something I consider. Every time I see the name of someone who tweets racist or bigoted ideas or dogwhistles, I wonder if I should give up and move on to something safer. I love Scala, and I cherish the friendships I have made. But at the end of the day, I have to take care of myself.

I’ve no doubt that there are many who did not stay in the community as long as I did, and whose names none of us will ever learn, because they left without saying a word. Safety is not just something you need to care about when a loud, major incident happens. Safety is a thing you need to worry about all the time, to protect all the people who aren’t even here yet. If not, the community will be a worse, emptier place for it.


I understand that what I’ve said here may be quite unpopular to many. I will not deny that I have been harsh, and some may consider what I’ve said unacceptable.

This post may be deleted. I may be banned from the community. I accept that. But I cannot continue to participate in a community where I and others like me are not safe.

The people who leave because of people who make them feel unsafe do not announce themselves. You never see them. But they’re real.

I hope this community can change to be more inclusive, welcoming, and safe. But we need to work together as a community to do that.


1 The BBC later removed the contribution, but did not issue an apology, and left the rest of the extraordinarily transphobic piece in place.

44 Likes

Woe to us of what we have become. Woe to use that we have forgotten how to tell apart politics from ethics and the only boundaries that exist are political in nature. @NthPortal I am so, so sorry about the treatment that you have experienced and the wounds that it has left. I cannot undo or un-say anything but if it was indeed as painful and as harmful as it was, it was clearly unethical and those responsible for it are reprehensible without reservation.

We are human beings. Our existence is flesh and blood, not slogans and banners. We are not made of rhetoric and it is not ideology that flows through our veins. Where is the materia of politics that we may touch it? Where is it’s smell and taste that we may experience it? What is real is our pain, our difficulties, and our longings. What is real is when we cry out and our cry is unanswered. When it is emptiness, anger and fear, those things tend to define reality.

Are we so hopeless that we cannot ever hope to understand one another? Are we so engrossed and entrenched, unforgivable and unforgiving that our conflicts must last the span of decades and even centuries? Is there no common thread that can unite us that we are bound for eternal conflict? I am so sorry for your pain @NthPortal. I am so sorry for what you have had to endure and continue to endure every day.

Every day now it seems that the future of this community grows dimmer. Every day there seems to be more pain and more irreconcilable conflict that emerges. Just when one upheaval is done, another one seems to emerge. How have we come to this?

I utterly hate identity politics but for the sake of reference, I am a Jew from eastern Europe about half of whose family was killed by Nazis. My great-grandfather was killed by Nazis, my great-aunt was killed by Nazis, my great-uncle went through three concentration camps, and my Grandfather’s Rabbi and his entire community were killed by the Nazis and then tossed together into a mass grave whilst still wearing their Tzitzit (religious garb). This makes it especially painful for me to be named that very name dozens of times on social media for the mere act of being associated with a group of developers.

Is there truly no way that we can learn to respect one another independently of our politics and our affiliations? Ethics are not dependent of politics at all. Can we not just agree to follow some simple principles?

Do not kill, do not steal.
Do not envy, do not embarrass.

Can we not create an atmosphere where everyone can feel safe on the basis of simple ethics alone?

7 Likes

This should probably be locked

3 Likes

I’m not sure you can uphold this, while supporting someone known for habitually transgressing this norm (and helping them build out their ecosystem is supporting them). It might not feel like it to you, but once they’ve established a consistent pattern of bad behavior, supporting them is cosigning their decisions. It’s basically saying, “I don’t care enough about this to be bothered by it”.

I don’t know the future of this community, however I am reminded of a parable from my childhood:

As teenager I was cutting firewood when I was called into the house, unwilling to take my axe on the round trip, I left it in the crook of a tree. One thing led to another, and I forgot about that chore as teenagers are wont to do.

Years passed, and the tree grew around the axe head, leaving no outward sign of the forgotten axe head.

One winter we had a bit of a storm, and all our trees survived except that one, which split around the old rusted axe head, and fell in two parts.

We are only as welcoming and supportive as the most abusive person we tolerate, and if we have a particular reputation as a community, maybe we should introspect a bit and change our behaviors instead of blaming it on the people who come forward for being too political - it’s a bit like yelling at a fire alarm and hoping that’ll stop the house from burning down.

12 Likes

When we are in pain can we not simply state that we are in pain and the reason for this pain? At least then we could give others the opportunity to return from something. If feels like we are endlessly unacknowledged and unacknowledging for past deeds and circling in an eternal cyclone of blame and enmity.

I know there have been some significant attempts at reconciliation by the person of whom you speak but it is a thread that forever seems to hang bare. Is some amount of forgiveness even a possibility? Can we never acknowledge one another from the place in which we both stand?

If the parable of the axe is as you say, then we are all doomed already. After all, it was the entire tree that fell. Not just the part that was indented.

I have nothing to say about dog whistles or any other such issue. I accept people as they are and from the exact place in which they stand. I have no opinions about nature versus nurture except that I hope that we can all respect one another as simple human beings. Can we not just treat one another the way we would want them to treat ourselves? I try to live this ethic to the best of my ability. If I have somehow failed in that, I am sorry.

Unfortunately, when that happens, the response is often gaslighting, minimization, complaining about how they’re being overly political, or some other flavor of deflection. Like, for example, talking at length about how horrible such behavior is, then going back to supporting the work of someone who’s caused that sort of pain in the past. Calling for reconciliation and understanding is all well and good, but if the abuse is coming predominantly from one side, it’s less reconciliation and more being an apologist for the abuser.

It really comes down to each person or community to answer for themselves to what kinds of behavior they’re willing to tolerate.

I personally draw a hard line at defending the decision to platform a white nationalist. As for the other type of behavior this particular person is known for, a constant cycle of abusive behavior, then making overtures towards reconciliation, then returning to abusive behavior is one of the most dangerous cycles in an abusive relationship, so I don’t really consider behavior changes to be a mitigating factor until a new pattern of behavior has been established over a period equivalent to the period of toxic behavior.

The parable of the forgotten axe points out the dangers of leaving such situations unaddressed, it doesn’t mean that we’re doomed. The whole tree probably fell in the version I’m most familiar with because the community I grew up in was intensely collectivist and had a massive persecution complex. If someone else were telling it, then some diminished portion of the tree might live on. I can say that I’m uncertain if a community as insular as ours would survive a catastrophic split - the community I came from was also very insular, and they did survive a similar split (but only barely), so there is some reason to be optimistic.

4 Likes

There is nothing that I can say here that will help heal anything or anyone. Certainly nothing that would change anyone’s mind about about anyone or anything. I am sorry for all the pain that has been done and to all those who are hurt.
That is all. There is nothing else.

Well I followed the link and read Martin’s comment. I wasn’t able to give Martin a thumbs up for his comment there because the thread had been locked, so I would just like to express my support for his sentiments here.

7 Likes

Well, one could condemn those who caused that harm. Not just regret or be sorry for, but condemn those who cause harm. To say it was not an accident of nature or a “fact of life”, but the wrong (or mistaken) action of another person, who should apologise, and make ammends, for it. That one regards those who suffer harm in the right, and those who cause it in the wrong.

13 Likes

So many people don’t understand (or even consider) this. We can’t “set aside our opinions” when one of these opinions is that someone else doesn’t deserve to be treated with respect. Or live.

Thank you for the post. I’m sorry that you had to go through this kind of awful experience early on, and I hope we’ve improved as a community since then, so that people like this are relentlessly banned from it. I also hope any reports of such behavior will be treated seriously.


I’ve been following this discourse for years and I can’t recall a single apology from the person we’re talking about (there was a teaser of one, but it was removed). Forgiveness makes the most sense when someone admits to their mistake, but in this case they’re doubling down instead, over and over.

Somehow the attempts you’re talking about are always a vague “let’s just move on from past focus on making the best software possible”, " but never an “I’m sorry, I messed up, I will do X to make sure this never happens again so we can have healthy technical discourse”. That would’ve been a start.

21 Likes

That’s your personal view, and one that many hold. But are you not capable of understanding the other side of that argument?

The post links an example of exactly this.

10 Likes

Yes, I think we all understand the other side of the argument. What some of us are saying is that we don’t want to spend our hobby time working with those that disagree with us about it.

Isn’t that one’s right? Are we somehow required to work with whomever on this free labor that we are contributing?

10 Likes

to anyone who wants to engage in good faith, here is the link again:

https://web.archive.org/web/20211102173817/https://twitter.com/christapeterso/status/1455575354572148740

1 Like

My take on this topic is that the issue is not about mixing politics into personal life.

It’s about mixing personal life with work.

We use terms like “online community” or “the Scala community.” But those are borrowed terms. Being a Scala developer and engaging with other Scala developers online does not make them your family, your friends, or your neighbors. I mean if you become friends with other Scala developers that’s great. And if you have no actual community, then you have my sympathy. But it’s a borrowed term and it’s not healthy to think of it as a real community.

Even if all the allegations are true, and so far all the “evidence” I’ve seen is either less than weak, clearly distorted, or in the opposite direction, the accused is an individual, not a company, organization, or software product. Morality does not require you to boycott all bad people. If it did then you had better start spending a lot of time researching every single person that you might somehow benefit by your actions. How many of your, I don’t know, clothing salespeople’s homes have you been to?

We use Scala because it benefits us to use it in one way or another. Hopefully we all have lives besides that. When it comes to the Scala community our goal should be to help it continue to benefit us and to improve in that regard.

Now, one of the ways to do that is to do our best (using morally valid means) to see to it that newcomers feel welcome. That does not necessarily require punishing the offender. This is not a legal system. It’s not our job as a ‘community’ to be jealous for the emotional injury. The goal is for the future. Whether that involves a ban, some guarantee that it won’t happen again, or something else doesn’t matter, as long as it achieves that goal.

What we should not do IMO (again, as a community, I’m not telling individuals what to do) is

A) Make subjective moral claims like “not banning them is equivalent to the crime itself”
B) Make the kind of noise that divides the community and perpetuates the rest of the world’s negative perceptions about Scala
C) Take actions that cause valuable software that everyone needs to suffer
D) Accept allegations without (a) sufficient evidence and (b) giving the accused the opportunity to present their side of the story

Also, can we please not lump together emotional safety with physical safety? They’re both essential of course, but they aren’t the same thing at all and conflating them just causes confusion and lessens trust.

15 Likes

@rossabaker Did you really not know what I meant?

Obviously there are deranged people in the world. The question was whether there is someone in the Scala community that is threatening the physical safety of transgenders.

@oscar Please don’t impute my motives like that. If you assume without evidence that I am engaging in bad faith, then it is you who is doing so. But if you want me to state it bluntly, I will: Of course it was sincere.

4 Likes

I apologize. I can see how my post sounds that way. I believe you are sincere, but in that case I think your post was not very empathetic: this thread was started by a transgender woman sharing some of her experiences and her citing that there are people in our society that do call for the murder of trans women. I think “Please. no one want’s transgenders to die” isn’t the right message, IMO.

For instance, someone might say “I hope no one in the scala community holds the reprehensible views that you linked to…”, but the “Please.” in your comment sounded very dismissive to me.

3 Likes

This post was flagged by the community and is temporarily hidden.

1 Like

Of course it is.

I guess in a way this thread is about the somewhat cryptic comment of Odersky. Since this thread is about it I may as well post the relevant bits:

So, what happened was, that the maintainer of Quill chose to move it under the ZIO organization, for whatever reason. He’s basically the solo maintainer IIUC, and whatever his reasons, as you see it’s his labor and he can do that. The ramifications of that are unclear, maybe right now nothing but maybe in the future it will reuse code from zio, who knows, but I don’t think it has yet.

Now, Doobie, which is maintained by Rob Norris, contained within the same within the same repo a 2-file integration library with Quill. So, Rob Norris deleted it (others will maintain it elsewhere) with the following comment:

This removes integration with Quill, which is now part of the ZIO organization, which I will not support.

Some comments followed, some for and some against. Then Martin commented:

I think this disqualifies both doobie and TypeLevel from further conversation. You can do what you want. But I am sick of this kind of politics.

Now I don’t know what he meant exactly so here are some possibilities:

  1. What was the “this”? Was it the decision to remove the integration? Or was it the inflammatory, public statement that Rob will not support ZIO? Or perhaps it was the extremism of suggesting that maintaining an integration with Quill constitutes support of ZIO now. Still another possibility is that Martin thought that it matters what the maintainer’s motivation is in removing the integration.
  2. Was it just a spontaneous expression of anger or frustration that won’t really change anything? Or did Martin make some kind of actual decision?
  3. What does “further conversation” mean? Does it mean Martin will delete doobie and everything typelevel from all community builds? Does it mean they won’t be invited to certain meetings or conversations? Does it mean there was some ongoing behind the scenes series of conversations towards some plan that is now being stopped? There could be many more meanings.
3 Likes

Well, NthPortal, you’re an excellent coder and Scala and its community would be worse off without you. And of course you deserve to be safe. Can we help you be safer (actually safer)? I’m sorry you don’t feel safe, and also that you were treated poorly when you were new.

But what is the solution? Is there one?

Maybe you were just venting. Feeling under threat constantly must be nerve-wracking, so it’s understandable (albeit not topic-appropriate) to just express what is bothering you, even if there isn’t a solution.

But if there was to be any response, what would it be? We can’t do it on code of conduct violations, because the violations aren’t happening now.

Do we divide the world into “unsavory” and “savory” and ban everyone so associated from all public channels? What if whoever is painting people the unsavory color gets it wrong? (More refined perspective: what level of false positives and false negatives can we admit in our labeling?)

The thing that I most enjoy about contributing online is that nobody needs to know who I am unless I want them to. I never have to expose myself to danger that I don’t want to face. I never need to be judged based on irrelevant characteristics because I can choose to not reveal them, or pretend that they’re other than what they actually are. You can avail yourself of this to any degree that you wish. Is this not enough?

If it’s about personal safety outside of online interactions, then it’s not obvious to me (1) that the Scala community has any power to influence anything one way or the other outside of the occasional in-person conference, or (2) that trying to factionalize things into “safe” and “unsafe” actually increases safety, because if the “unsafe” faction is actually safe, it’s just a waste of effort, and if it really is unsafe, the increased isolation will just increase tribalism, making that group even more dismissive of other concerns and even more unsafe. Until you actually live in a different country, this seems strictly worse to me.

I sympathize. But is there actually anything to be done?

(Note: I’m intentionally focusing on what I believe to be the core of the issue. Not commenting on other parts should not be construed as support for, rejection of, or any other opinion on that matter. I’m just trying to stay focused on what I think is the core concern.)

7 Likes