Politics, Safety, and the Future of Scala

While I agree with everything else you’ve said in your comment, I just want to bring up something in regard to this line. While it is always good to try to stay calm during discussions and disagreements this line of thinking, that you must be unemotional, often ends up prioritizing those in power who are being discriminatory.

For example in regards to the statements referenced above about transgender people, it’s a lot easier for the person saying that transgender people should be killed to stay calm than for a transgender person who is being told that they don’t deserve to live. This won’t apply to such an extreme in all discussions, but it is not wrong to be angered by being mistreated.


What is the terminating condition of this infinite loop thread?

A) Heat death of the universe?
B) Eventual natural mortal demise of all participants and their immediate descendants?
C) Onset of existential apathy?
D) Scala 4
E) First posting of Maria Carey’s song, “All I Want for Christmas”? (link included in the random chance this is in fact the correct answer)
F) Everyone comes into complete alignment, agreement, and unanimously support a specific set of actions?

Without an accepted “leader”, a federated group’s means of resolving a conflict is consensus, right?

I am having an incredibly difficult time imagining what could be defined in an attempt to obtain consensus, much less result in viable action. What am I missing? Is there a means of consensus?


There is leadership: the Scala Center, TypeLevel Lightbend, and Martin. As far as I’m aware, the exit condition when someone flags leadership with a situation where they have been made to feel unsafe is one of three outcomes:

  1. An acknowledgement of validity of the complaint, and further discussion on how to correct the problem
  2. A rejection of the merit of the complaint
  3. A non-response, deferring action until some later date

Consensus would be nice, but there’s a limit to how much you can reasonably hope for someone to change their minds about this sort of thing in an online discussion.

Either boosting a racist is unacceptable or it’s not, and that’s not something most people change their minds on talking with people online - you really have to see the disappointment or pain in the eyes of someone you deeply care about to start questioning the really ingrained stuff, it sucks but that’s kind of how the human brain works most of the time.

However, it is plausible that this will help the community leadership watching this mess realize they have to either address the situation or make peace with the direction the Scala community’s reputation is going.


I genuinely appreciate your taking the time to offer that clarification.


When referencing twitter threads, please quote directly, as not everyone can read threads due to twitter’s “blocking” feature.


How did Dennis Ritchie handle such problems in the C community? It was and is much larger than our humble group. Maybe we can learn something from C. Unfortunately, I’m not aware of any particular precedents, despite having used C off and on, but maybe someone else does. Of course, let’s not limit ourselves to just looking at C. We could also look at a smaller community: Haskell. I’m also not aware of anything like this happening there, even though there is a good amount of overlap between certain influential members in Haskell and in Scala.

Finally, I’d like to know how many who take issue with certain libraries based on politics use Linux. Linux has ReiserFS in it, so you may want to read about the developer that created it, and consider switching to a different OS at home or at work. I think that would make what is happening here look much more pale in comparison in some regards - and please be aware I’m not trying to invalidate anyone’s suffering. But I might gently encourage people to come up with coping techniques that don’t involve bringing in the ban hammer.


Thanks, corrected :+1:

1 Like

That’s an interesting comparison, because the community has largely abandoned ReiserFS, so while there’s still support for it in Linux, neither Reiser himself nor the company he funded to support it have any relevance in the Linux community and aren’t in a position to leverage ReiserFS to cause additional harm - he wasn’t even able to sell the company to pay for his legal fees.

1 Like

The most simple way to get consensus is doing nothing. There are people who can not accept such situation they will just leave out. The interesting questions is wether it will be better or worse. Who is more important for community after all. I think if there are no clear way to calculate it is better to do nothing at all.

The road to hell is paved with good intentions.

But to say the truth there are leaders and I think they know answer. They just do not know how to modify coc in safe way. It is really not friendly to calculate who is more important.

Undoubtedly a long prison sentence didn’t help matters, but I wonder if the reason it continued to lose popularity was a combination of ReiserFS never being the most popular FS, nor the most technically useful filesystem (after a few years, at least). Granted the analogy isn’t perfect anyway, but I’m just wondering where people draw the line. Certainly using ReiserFS is unlikely to harm anyone now, though I guess some folks on the forum here would argue that popularizing ZIO allows a platform where bigots can express their opinions. But they can already do that without the help of LambaConf - incidentally, have there been any further incidents involving speakers since circa 2017?

Yes, that is pretty appalling. Thanks for inventing that position for me.

The context was that we already have extensive policies in place to try to stop harassment and abuse.

This is my premise:

(Note that any sort of harassment or abuse is covered by code of conduct violations.)

And I suggested an alternative and provided a not-very-strong counterargument against the alternative.

I could have made an even less palatable suggestion:

Maybe you should give up and move on to something safer. At the end of the day, you have to take care of yourself.

Isn’t that terrible? Suggesting that someone has to just flat-out leave instead of feel safe?

Except guess who said that?

So all I was doing was suggesting a less dire action that would permit you to stay in touch with the community if it ends up being the case that despite the continual improvement with codes of conduct for Scala Center activities, you also continue to feel less and less safe.

A very understandable response is, “but I want not just safety, but also freedom”. Fair point, if that’s your point. Quite reasonable as a reply.

This, erm, was not terribly reasonable or charitable.

But some allowances need to be made when an issue is deeply personal. And anyway, I nonetheless continue to want you to be safe, and to be safe not just after taking extreme measures, but to be safe in every environment where it is reasonable for a person to be safe. (I do not recommend Tigray right now.)

And this should be true for you as well as for basically everyone else.

I think you misunderstand me here. I am saying that I think you will be less safe with increased tribalism. (It could well be that you will feel safer, and maybe that’s what you’re most after?) Unless you’re going to be anonymous and stay online, there are no hard boundaries between communities. It’s not a country (I already acknowledged this as an exception) and so all those people in that other community are still there, except more hateful and less understanding of problems in the “savory” community.

That is, I do not believe that fragmenting a community fosters safety. It only works, I think, if the ejected fraction is so tiny or so further fragmented that it doesn’t have any coherence on its own.*

Perhaps you believe otherwise. If so, maybe you have good arguments to this effect, or good evidence. I haven’t found any compelling research in this area, but my anecdotal experience is that divisions breed more divisiveness than you gain in in-group harmony unless the out-group does not have critical mass to self-organize, or you can completely avoid the out-group, neither of which seem likely to me to be true here unless we take pains to be more inclusive than you seem to be suggesting.

*Addendum added in edit: I don’t think it works specifically in the case of actual danger borne of hatred. If the other community is merely annoying (or, more dangerously, seductively exploitative), the separation can exactly do the trick–they do their annoying/exploitative things over there, and we do our pleasant things over here, and it’s all good. But when feelings run strongly enough for hate-driven harm to be a legitimate concern, I think the scenario flips, and hatred grows, and everything is worse.


This is a good point, and worthy of further discussion.

The reason I made the point I did is that there is actually some research on this, and it does appear to be rather hard to get people to change their minds. I don’t have the study/ies handy, and I don’t recall just how bad it is, so I’m only left with the less-than-completely-convincing impression that this is really important if you’re going to try to convince people. Emotional threat needs to be avoided whenever possible.

There’s also a fair bit of research into whether making people aware of their biases to think certain things helps them not think certain things. The results there are mixed, IIRC, but mostly it doesn’t work. So although in principle I agree with you that it tends to favor the discriminatory party, I don’t think it changes the advice, because people who are aware of that will probably go, “Oh, yeah, but I’m not reacting based on feeling emotionally threatened, but rather because they’re wrong because of rationalizations 1-5 that I rattle off whenever I feel emotionally threatened.”

If we want to do something to help even things out, it’s probably got to be something else. It’s really a quite lousy situation to be in, because I agree: in the case where someone’s saying you should die, it’s pretty difficult to stay calm. Those rare individuals who can do so, however, tend to have inordinately enormous impacts (in addition to being incredibly praiseworthy). Some of the people I hold most dear as heroes displayed exactly that remarkable capacity.

I’m open to other perspectives, but I think they need to be more sophisticated than just pointing out the very real problem that the relationship can start out asymmetric.

Also, I want to point out that the example, “transgender people should be killed”, is not among the points of view expressed here. Fortunately, everything said here has been much more mild. When the idea has come up at all, it has been repeatedly used as a mischaracterization by some arguing for greater application of censure against those arguing for less. So by the principle that the attacker has an easier time staying calm than the attacked, we should forgive anger expressed by those so maligned (but not by the maligner).

Or we could just say: this is the sort of thing that mature people can reasonably be expected to handle (not that they should like it, just that they can cope!), and though we’ll call the aggressors out on any bad behaviors, it is nonetheless very important for everyone to do their part in conducting a relatively civil deliberation. You don’t have to damp out all emotion, but when sides start hurling tribal allegiance phrases and stereotypical slurs at each other, you know things have gotten well past the point of productivity.

Anyway, tl;dr is–you’re right, it’s not fair, and I don’t see a way out aside from just swallowing the unfairness and carrying on. (Also, allies can help present the even-tempered version when needed.)


This is a really good point, and one that I would hope would be investigated more deeply.

The more severe our censure in service of maintaining a pleasant community, the more we ought to look at courts for guidance on how to build a just system. This is not to say that courts are always just (maybe not even “often” in some jurisdictions), but they have had to deal with a lot of the problems that come up.

The principles in play there include things like, for the accused party,

  • Innocent until proven guilty
  • Right to avoid self-incrimination (including no forced confessions)
  • Right to legal representation
  • Right of appeal
  • Right to a fair trial
  • Punishment proportionate to the crime

and even given all these things, in cases where ground truth can be established later (e.g. with DNA evidence), there’s still a pretty high error rate.

So when you propose things that sound a lot like “let’s do our best to ensure that this person is unemployable in the area where they have pursued their career”, I would like to either hear “but it’s actually no big deal for them so no biggie if we get it wrong”, or “and here are the measures we’re employing to make sure that we have appropriate accuracy for such a weighty decision”, or “actually the courts have it wrong, and here is a detailed argument for why they’re wrong”.

(I’d accept a parallel with civil proceedings rather than criminal ones; those can inflict the same kind of economic penalty as we’re potentially considering here, but probably not quite the same level of ostracism.)

That’s entirely true, but entirely unnecessary to argue, because we already have moderation in place.

Yes, but this includes both doing the best we can when we decide to render a judgment, and doing the best we can to reach the threshold we need to render one but recognizing that we’ll often fall short.

An appeal process is good to have, yes. Details are important, though, for it to be a meaningful check and not just a rubber stamp of the original decision.

Added in edit: I just want to clarify that I think that it is NOT the responsibility of endangered parties to have to come up with rules and procedures that will keep them safe. That’s the job of everyone in the community, and especially the community leaders and individuals in positions of authority. It’s not fair to make the endangered bear the whole burden. However, it can be extremely valuable to have input from people who feel endangered on where they perceive danger from, because it’s not always obvious to everyone; and suggestions of what to do about it can also help to better understand the problems and more rapidly find solutions.


“Thinking Fast and Slow” by Daniel Kahneman is a good place to look for relevant data if anyone would like a deeper dive into of human psychology like biases and rationalization.

I think we’re getting a little too close to yelling at each other for comfort, so I’d like to take a moment to talk about common ground.

We can all agree that harassment, and people that propogate it, suck.
We can all agree that, regardless of how you feel about the phrase “hate the artist not the art”, being in a situation where you have to make that choice sucks.
We can agree that inappropriate behaviour by an influential member of any community sucks.
Without making any claims on how it should be resolved or why it exists, we all are affected negatively by the rift in the community, and we can agree that it sucks.

We also share, on some level, an appreciation for scala and functional programming.
We want to see the scala community grow and thrive.
And most importantly, we can all agree that we are all participating in this thread because we want to improve the scala community.

The ideal in this situation is having a community where everyone is inclusive without even thinking about it. Unfortunately real life is messy. Everone here is sitting on a grain of truth.

To my friends on the one side, please do not dismiss those that take a stance against ZIO. If the maintainer of a library was a pedophile, wouldn’t you want them banned from the community? (This is obviously an extreme example, and I don’t want to equate this with the present argument. I just want to provide something adjacent that is common ground)

And to my friends on the other side, please do not hastily label those that are skeptical as bigots. Surely you can empathize with wanting to seperate good code from the imperfect people that write it. Though it can be tempting to shame someone with the moral high-ground, that makes it virtually impossible to have a productive conversation.


What is scala community – set S of all people who use scala language? Is the scala community exists in a sense other than a group of people selected by random? Сan somebody includes/exclude people from this group?

We have two groups, looking at X, and group A says that X is a crime, group B that is not. A and B both represent valuable parts of S. Representative of both A and B feel unsafe in the presence of the opposite party in S. Is a solution for this puzzle exist at all?

I don’t know the right way, but history gives us evidence of what approaches are wrong:

  • Labeling somebody as a perpetrator without legal basis. Complex juridical systems are not ideal, but this is a process of a long long evolution of society. And thinks like 'presumption of innocence, ‘right to defense’, ‘right to appeal’, ‘responsibility for false accusation’ exists and are important because of the long history of law abuse. Throwing all this out in favor of subjective labeling throw society on 500 years back. In the modern world, places, where ‘morality’ is prioritized over justify, is Iran and the Taliban. People from Western Europe still remember the Russian words: ‘Vrag Naroda’ and ‘reovlutionnaya troika’
  • Blocking the communication channels. This often leads to the escalation of conflict. A well-known example is The Cuban Missile Crisis.
  • Attempt to set up global censorship with cancel culture. It contributes to the polarization of society but does not lead to changes in opinion. (see ‘Academic Analysis’ section in Wikipedia article: Cancel culture - Wikipedia )

What’s worked relative well:

  • Special places or events (such as Olimpic Truce or Christmas Truce), where people from different camps can speak with each other. The existence of such places allows to grows institutional changes, such as the creation of law of wars or evolving platforms of negotiations to institutions.
  • Admission of the right to error, which is decreasing polarization, by providing intensity to be a 'social accepted member of society instead of becoming an enemy event after error.

Knowing the history, my thoughts are not very optimistic.


A community isn’t a court of law and it doesn’t have to be.

When working for your employer, you are expected to behave like a professional. So first of all, a professional code of conduct is not demanded by criminal law.

Your family has rules too, like “leave your slippers at the door”. Your house, your rules. If your family has a certain political orientation, engaging with the opposite side might be healthy for your opinions, but it might also be emotionally draining, so you’ll naturally befriend those with similar opinions and interests. You don’t need a court of law for any of that.

On one hand, I too worry about “blasphemies” affecting people’s lives again, like it happened prior to 20th century or so. In our society we should have freedom of speech. But … you don’t necessarily have freedom of speech on someone else’s property.

In regards to pointing at “perpetrators”, I’d like to point that we wouldn’t come to this if the community had leadership that simply said …

We don’t do that here

Simpler, more effective words have never been spoken. Just like in your home, when you tell your guests “leave your shoes at the door”. And your guests know you mean business, either they leave their shoes at the door, or they are not walking into your house.

And I’m sorry to say, but as a “community” we’ve been lacking that leadership, and now more extreme measures may be necessary. Now we talk of perpetrators and victims because they exist.

I’d also like to point out that this entire thread has gone into philosophical weeds.

For me it’s simple, really. People don’t want to collaborate with assholes that keep behaving like assholes. Minorities don’t want to collaborate with bigots that make them feel unsafe. And someone is always getting excluded — it’s either the victim, or the perpetrator. And by doing nothing, you exclude the victim.

I started looking at Scala around versions 2.8 - 2.9. Back then Scala’s IRC was pretty goddam hostile. I’m pretty sure a lot of people walked away from Scala due to that IRC channel. I don’t think we had a prominent JdG back then, but we had Tony Morris and others.

What makes Scala attract such “talent” and behavior? What makes Scala different from Rust (and similar to Haskell)? Or maybe we should ask what’s missing from Scala? :man_shrugging:


Yes, you are free to exclude JDj and his supporters from typesafe (and delete the integration with ZIO libraries), but the overall Scala community is not your home, quill author has. the same right as skunk author. This becomes a public space and low become needed.

1 Like


I have been using Scala at work since 2014 or so, when Lift framework was a thing. To this day, I have not used any library from either ZIO or Cats ecosystems (we are using Akka and think it is alright), so I guess I could claim to represent the silent majority of Scala users, and to have some impartiality in the matter. However, I have been following the epic drama and got some impressions to share.

My main motivation with this post is to express support for Martin Odersky. Thank you, sir, for your creation, and for leading Scala development to make it the language it has become! We are using it for a good cause, storing and distributing European greenhouse gas measurements, hopefully helping to keep the climate change at check. I hope to continue doing it, and to continue using Scala for many years to come.

Now, to answer the original poster. You have chosen Scala Contributors forum, which is supposed to be “a civilized place for gathering and discussing everything related with the evolution of the Scala language, from tools and libraries to the internals of the compiler”, as a venue to express a personal disappointment with:

  • Martin Odersky
  • the fact that among (probably) hundreds of people in Scala “community” (if there is such a thing), you have encountered a number of “unsavoury individuals”
  • that somebody has mocked you on an IRC channel some years ago
  • that BBC has published a video where some insane/evil person was saying that transgender people should be killed

Well, Martin cannot fix human nature for you, and neither does he owe it to you to keep you satisfied. He is entitled to his opinions and preferences, just like all of us, and if he does have some “internalized anger” towards Typelevel, he has IMHO at least three good reasons for that:

  • trying to turn Scala into Haskell and being the reason many consider Scala “too academic” => harming language adoption
  • being very vocal and appropriating the niche of Scala functional programming, when functional programming does not have to have anything to do with category theory
  • being the constant source of political drama, giving the language very bad PR => harming language adoption
  • even the stereotype of slow compilation times may be due to a Typelevel product (shapeless) => harming language adoption

To make a long story short, your post is extremely off-topic for this forum, and arguably violates Scala Code of Conduct (unstructured critique, nonconstructive criticism, flaming, attention-seeking behaviour). I wonder why the moderators permitted it.

Finally, I would like to propose a concrete step for Scala Center to take: do not ban people; instead, ban foul language, personal attacks, bullying, and ban mentioning other individuals’: gender (except pronouns), sexual orientation and sex life, religion, race, ethnicity, appearance, and political views. Somebody has brought up Rust as a positive example of a community taking an active political stance. However, this approach is very controversial, as this discussion can show. In the discussion, the poster asks why Rust Twitter has expressed a stance against police brutality in the US, but was silent about brutal genocide of Muslim people in Myanmar. The question was never properly answered, because there is no good answer to it. I propose that Scala avoids similar dilemmas (which political issues to express solidarity with, and which not) by staying strictly professional instead.

P.S. To those who like to throw word “bigot” around. Here is what googling “define bigotry” gives: obstinate or unreasonable attachment to a belief, opinion, or faction; in particular, prejudice against a person or people on the basis of their membership of a particular group. Hm, why does this sound familiar?


I’m glad you think that Typelevel can have its own rules.

Now pay attention to the cause of this thread, such that we don’t talk past each other … and tell that to Martin Odersky too.


It is important to note that doing something you also exclude a victim. It is a good question who is more victim. A person who has come out by himself or a person who is kicked out by owner.