Politics, Safety, and the Future of Scala

And yet, here we are, again :disappointed: . I hope that @odersky just misspoke, and just meant that because the reasons for the PR were non-technical, he didn’t think TypeLevel should weigh in on it. However, it’s really easy to read it as as at least a threat of retribution, and that it’s not an unreasonable way to understand it is a red flag that people don’t really trust the CoC to be enforced in a way that will keep them safe.

When the space where one side stands is that the other should not exist, no compromise is possible. The person we’ve been talking about obliquely has a history of defending and signal-boosting racists, actively engaged in misogyny and online harassment, all of which is well documented.

This is why I think this comes across as apologetic and a deflection, because the political position that “racists are OK, actually” should be considered extreme:

The initial comment by @odersky appears to show support for a man who has a well document pattern of engaging in behavior commonly linked to abhorrent beliefs (specifically: misogyny, transphobia, and racism apologetics), as well as coming out strongly in support of others with similar beliefs who are significantly louder about it. It’s not really unreasonable to worry that consistent support for someone who’s loud about a particular belief is at least sympathetic to those beliefs.


Most of those “documented” cases are clearly baseless, if you actually read them


Hi Everyone,

We at the Scala Center were observing and learning this whole day from your posts in this forum and wider. Thank you for engaging and we are sad indeed to see how hurtful it can get, especially in the community we care and attend to to the best of our capacities and abilities.

We truly want to make a change for the better, and I invite everyone to see how we intend to do that, so far captured in these two Advisory board minutes:

This process takes time, as we want to include many of you as well as get expert help and capacity-building trainings to make it sustainable. Time is one of the resources we are lacking, people and money are another. So we ask for your understanding and let us make it right.

I decided, and am supported by the moderation team of this forum, to temporarily close this topic over the weekend.


Hi again Everyone,

This topic is now reopened and we hope that new posts would bring new quality to the conversation. Please try taking one on one discussions if your disagreement is not of public interest.

Thank you for understanding.


Can we make this thread a little more solution-oriented please?

So ZIO has 26 commits by a bigot. Now what. Is the question whether ZIO must delete those commits? Ban that person? Or do we now have to ban ZIO because of that?

Please be clear what your goal is, or if that’s what you want to hear other people’s suggestions on, then be clear about that.

Otherwise this is just a bad therapy session or I don’t know what. I don’t think that’s what most subscribers are here for.

Also, there are times in life when unfortunately the only solution is worse than the problem. And if that’s the case, and we all hope it’s not, then sometimes we just have to accept that life isn’t always how we want it to be.

So please, let’s try to focus on (1) precisely identifying problems we want to solve, (2) analyzing potential solutions and their tradeoffs, and (3) coming to agreement on next steps.


Also why not just ban that person/reporting him to scala center/org admins and be done with it? Also why Travis is not banned in scala community for violating coc numerous times bashing scala harassing/doxing individuals from every part of the scala community?


Thank you for attempting to foster a productive discussion, Darja! I have to say that I am not terribly hopeful given the comments that have appeared thus far, but I think it’s an important issue so I’ll try once, anyway, to try to bring things into a productive track.

I think the ideal for any community ought to be that everyone feels safe and welcome. I recognize that it is not possible to accomplish this: some people make some other people feel endangered and unwelcome (and may actually endanger them). Thus, the boundaries have to be drawn somewhat smaller than the ideal. I still think that the principle is important.

I also think that this is not a new problem. Human societies have had to deal with this sort of issue for forever, and they’ve come up with a lot of different solutions, some very horrible, and some rather less so. Because people are sometimes horrible to each other, but nation-states already are equipped to deal with a lot of such behavior, we also have to ask what scope of action is appropriate for the Scala Center and what can be handled by the various countries in which we live.

The thing that most troubles me about finding a solution is that we have a very high–I guess predictably high, given the ongoing “culture war” in society (especially in the U.S., not that I think calling it a “war” is doing anyone any favors)–level of disrespect and hostility in what ought to be a serious and thoughtful discussion. These topics aren’t easy to get right. I implore people to take seriously the concerns expressed by people they disagree with, and try to persuade with example and evidence, not browbeat with invective or dismiss with scorn.

I think there are some points of broad agreement. Everyone, I think, agrees that everyone ought to be physically safe. And I’m pretty sure that at least almost everyone agrees that emotional safety is also very important (though unlike physical safety it’s a little harder to tell objectively what the conditions for that are, and therefore hard to tell if there are fundamental incompatibilities in different people’s needs for emotional safety).

There’s some moderately good research that supports the very intuitive idea that a culture of hostility leads to acts of hostility. (If anyone doubts this, let me know and I’ll pull up some of the citations.) I don’t think there’s any reason not to accept this as (provisionally) true and act accordingly; I’m not sure whether we all agree on this, but we probably ought to.

And in terms of where we stand, the Scala Code of Conduct soundly rejects any such hostility in all venues, physical or virtual, that fall under the domain of the Scala Center. And a lot of conferences specifically have rules about not admitting behavior that is even remotely close to causing harm to others (e.g. Scale by the Bay, Scala in the City, etc.). And even if they don’t have an explicit policy, often they have a culture of not inviting people who, through prior actions, might reasonably be considered a risk. So we’re not starting from zero, and though some people somewhat disagree with these policies, I don’t think they’re a primary point of contention.

What things are in contention?

First, I think, is whether we judge a person’s actions or a person’s soul. So far, all of the Code of Conduct stuff is judging actions. It’s somewhat subject to abuse by people who very cleverly run juuuuust under the line, but if we put an end to that, it would also be judging their actions. In contrast, if we were to deem certain people unredeemably flawed (or unacceptably flawed and not yet redeemed), it wouldn’t matter what they did any longer: any sanctions would depend on our judgement of their character. This is a difficult transition to make fairly, which doesn’t mean it should necessarily be completely ruled out, but it does mean that any proposals in that regard should be prepared to deal with all the thorny issues normally limited to legal proceedings. (Also, note that most legal proceedings judge actions only, and character only enters the picture at the time of sentencing.) For instance, in cases of disagreement, who is the ultimate arbiter of truth? Is the accused entitled to representation, or to present their case? Is there an appeal process? And so on. On the other hand, human societies have ostracized people forever, so there’s clearly some need there that’s being met.

Second, I think there is a disagreement about the scale of sanction: is it limited to individuals or does it spread beyond? So far, the Code of Conduct is limited to the individual engaged in that conduct. We don’t have a Code of Conduct for institutions. Should we have one? Is it just to sanction an institution at which many people contribute on the basis of the actions of only one or a few of its members? If yes, is there a point at which it becomes unjust? If we don’t sanction institutions, is it just that bad actors can potentially continue acting badly while being shielded from consequence by their institution?

Third, I think there is a fair bit of disagreement over who has caused what harm, how serious it is, and whether it’s ongoing or historical. If we are going to reach any more agreement on this (maybe it’s not possible), it’s especially important to discuss the matter calmly, as emotional reactions tend only to strengthen everyone’s resolve to stick to their original position. In particular, three names have been thrown out, but, I think, there are quite different particulars about what the nature of the offense was supposed to be. It doesn’t make very much sense to me to treat them all as one.

Fourth, I don’t think there’s agreement on the relative importance of the stability and technical capacity of the Scala ecosystem vs. maintaining a community that abides by certain principles of behavior and perhaps thought. These are in tension because people who you don’t like can nonetheless do useful things. If you are not Christian, can you still enjoy Handel’s Messiah or Mozart’s Requiem?

Thus far, I think most organizations have decided that their power of sanction and expulsion is relatively limited: it governs acts, and it governs individuals. If there’s going to be a change in this regard, I think it deserves a comprehensive, well-reasoned argument, including addressing possible unintended consequences, and explaining clearly the scale and nature of the benefits.

Anyway, I don’t actually have any proposals. I very much want people to be actually safe. I very much want people to feel safe. But I don’t think the issues are simple at all, and I think there’s a great danger of causing a great deal of strife and additional problems without even solving the original problem if we don’t proceed very carefully and talk through the issues.


I joined the Scala community around 8 or 9 years ago. At that time I was one of those guys with the opinion that politics has no place in coding or OSS. I didn’t think it was a harmful position at that time, I just only really cared about the tech and also, I naively thought politics just meant stuff like discussing the economy. I’ve learned so much since then, and I look back on my past self with shame for some of the perspectives I tried to champion, even though at the time I thought I was standing up for the right thing for everyone.

I don’t know why it was initially so hard for me to grok, but I’ve learned that just because I do something that I don’t think is, or should be harmful, doesn’t mean that people aren’t going to be harmed, or that they don’t have a valid reason for feeling the way they do. A really hard obstacle for me to overcome was that I grew up in extreme poverty, surrounded by trauma and violence, and I have worked my ass off, alone, with no support my entire life to get to where I am today. I even had a few close calls that could’ve landed me in jail and I probably never would’ve escaped some of the horrible cycles in that old life. The way people would treat me when I used to try to have good-faith discussions about contentious things like politics in online communities back in the day, was so hurtful because I felt I was told that I’d had an easy life as a white-passing male, and that I need to just shut up and fall in line. Trying to discuss further even got me called a Nazi once which just was jaw-droppingly confusing and hurtful. Fast-forward to today and I realise that I didn’t have a fundamental difference of values with those people, but rather the terrible communication styles prevalent at the time ended up preventing any education or true understanding on either side of the fence. Looking at this thread, it’s the same thing repeating.

If you still believe that “politics has no place in online communities”, I get that you’re very likely not a bad person at all. On the flip side, for those of us who can see the harm that a position like that can cause, let’s also do the hard thing and instead of venting our frustration or anger, put what effort we can afford into understanding that some people just don’t have the experiences and/or knowledge that we do, and try to help these people understand our perspectives. I’m not arguing that we be “enlightened centerists”, absolutely not, but let’s try to explain our side and have empathy, rather than attacking in frustration. Hopefully when they understand the experiences of others less privileged, they might be very happy to make the kind of improvements that would help make our community more welcoming and inclusive. I’m putting myself out there and reminding people that I was to be exactly the kind of person we’re angry at today, I’m so sorry, I feel shame even bringing this up, but I have changed for the better, and I believe others can too. It’s kind of funny because it the end of the day, I didn’t change any of my values. I’ve never wished ill on anyone. I didn’t even think things like sexism still existed in our modern times, cos I’d never seen it or heard about it from any of my female friends. I just needed to get outside of my own head and understand that it’s a big world, and that other people have very different lives, environments and experiences. I’m eternally grateful to a good friend of mine in particular, who was much more informed and who spend literally 2 years arguing with me about this stuff. I’m not brainwashed or beaten down, I just literally have more knowledge now and my own logic backs up my updated positions. I’m more informed now about how to be the kind of person I always was inside, and I’m sure there are many others here who would slowly but happily change too if they understood that genuine harm is still being by some members in our community. Just cos one person doesn’t think something is or should be harmful, doesn’t mean that others aren’t harmed by it. It’s kinda not even personal unless someone’s going out of their way to be ignorant or mean, you just need to swallow a potentially hard pill and understand that people are different, and that if you had their background and experiences you’d probably be saying the same thing as them. This is what we really mean by inclusivity. Not gagging. Not banning all jokes. Not thought-police. Just understanding and being kind, and sometimes in a dependently-typed way. If a community member says they feel uncomfortable or unsafe, let’s just try to help. We don’t have to feel the same way ourselves.

Politics isn’t what I used to think it was, in my extreme ignorance. We’re not discussing national defence budgets in OSS, we’re fighting for the right for less-privileged people to be treated respectfully. Politics has been described as “the art of associating men”. In modern less-sexist language and with the scope reduced to our discussion here in OSS, politics is the ways in which we interact and associate with each other. Is anyone really going to make the point that we should never, in our communities, consider and manage how community members interact with each other? Is anyone really going to argue that we shouldn’t look at the impact a part of the community makes on another part of the community? Isn’t that absurd? The community is literally the most appropriate place to discuss community interaction. When we argue that politics is relevant, this is all that we mean. We just want everyone, to feel comfortable. For some people that means not making certain jokes, for some people that means not being so dismissive or condescending, for some people that means doing the uncomfortable thing and not remaining silent when someone’s being treated unkindly. Maybe we’ve all been using different language when we talk about this issue in this thread, but can we agree small changes like this are worth making, both for individuals and the community at large?

I’d rather have a warm and welcoming, more inclusive community with less libraries; than a community with more libraries but where people leave because they feel unsafe and/or attacked and/or threatened. And besides, I think that would cause the community to grow and with more people involved and happy, and lead to more libraries anyway.

Can we also please acknowledge that like it or not, those who contribute to the community have more weight to their words and actions? A lot of people love my libraries, so now my words and behaviour carry more weight than they did when I was new to the community. I didn’t ask for it; but it just is what it is. Same with Rob, same with JdG. Martin’s voice and actions carry a HUGE amount of weight because he IS Scala! He doesn’t get to just burp out reactionary opinions without accepting responsibility for the weight they carry. Like, say whatever you want, but understand that the whole Scala community is watching and listening. I don’t think it’s fair for Martin to bemoan the cracks in the community when he uses his influence the way he does (and sometimes doesn’t). I understand Martin also wants a vibrant and healthy community, but I think a more mindful approach with a deliberate intent to help, would be more useful. Or if not, no worries, it does takes a lot of effort, but maybe at least just take care not to inflame? Same for all of us.

Finally, I think Travis made a good point on Twitter which I’m taking in a different direction and paraphrasing here: trying to sweep all of these problems under the rug is just going to result in an even bigger explosion next time around, and just keep getting worse. We, everyday community members, need to do the hard thing and try to resolve this. I can’t see how some side project from the Scala Centre in slides from 6 months, despite its great intent, is really going to fix anything. It’s up to us. JdG is at the center of this storm and that’s the real topic we need to be discussing. My limited understanding is that there is a record of John’s behaviour that has been harmful to people, but that John will not adequately address it. I don’t care if John never intended harm, I care that many people have experienced harm. I care that John, to the best of my knowledge, isn’t interested in reconciling with the community. If any community member affects so much of the community, even indirectly, even if they feel it’s unfair, and insists on charging on ahead without changing their behaviour or trying to mend things, well firstly that’s terrible leadership, but secondly I’m sorry to say: that’s harmful and they should be removed from the community. This is why we’re seeing walls going up around the ZIO community. Saying “hey just get along!” is stupid. Getting along is exactly what people are trying to do, it’s just that some people are listening to people who say they feel unsafe, and some people aren’t. (This is what makes the spiritual leader of Scala’s response so frustrating. It’s effectively telling people who feel unsafe to just shut up, even though obviously that’s not his intent.) If we want a healthy community again John needs to step up and work with the people that are upset with him. If he did something stupid that he now regrets, just apologise. Don’t have a tantrum if you have to apologise more than once, or in more detail. Just actually care and show it. And on the other side of the fence, we’re gonna need people to engage in good-faith, (still be firm ofc), but talk to John and really try to work things out. Surely some representatives will pop up? It’s not fun for anyone but it’s this or division in Scala forever. There can be a path to having a happy unified community that includes ZIO where every one feels safe and comfortable, but it’s going to take a number of steps to get there, and if we don’t take the first step then we’ll never get there. The carpet’s already touching the ceiling, there’s no more room to sweep anything else under it.


This is the first reply to this forum thread. I did not find out until yesterday that you are the (current) author/maintainer of Quill, and that you’re the one who made the decision to have Quill be part of the ZIO organisation. That information is critical context to your replies, particularly in terms of judging the objectivity and intent of them. It colours them much differently than they might have seemed initially.

Not disclaiming the fact that you’re the maintainer of Quill before replying to this thread is incredibly dishonest, bordering on deceitful. Not everyone will have read the entirety of the linked github PR, and even of those who did, some may have missed the implication that you are the maintainer of Quill.

“Unsavoury” was perhaps not the most accurate or descriptive word for me to use, but yes. We should ban people who cause harm.

This is, unfortunately, something that we as a community—as well as as a society in general—have to contend with in judging others. It’s unavoidable. Courts need to pass judgement, even though mistakes are a possibility.

We cannot avoid moderation for the possibility of making a mistake in judgement; that only means that people who cause harm may do so with impunity in perpetuity. We do the best we can, and that’s something that we as a community (and a society) have to live with. And of course, appeal is available to help fix mistakes and reduce the impact and incidence of false positives.

This is an appalling thing to say. To suggest that people hide who they are and that they are members of minorities, in order to avoid harassment and abuse? Must BIPOC (Black, Indigenous and People of Colour) folks pretend to be white, women pretend to be men, trans, nonbinary and intersex folks pretend to be cis, queer folks pretend to be straight, neurodiverse folks pretend to be neurotypical, disabled folks pretend not to be? You want people to hide and deny their identities so they don’t get harassed and abused, instead of stopping the harassment and abuse?

For shame.

And on top of being an abhorrent notion, it’s ridiculous. Even online, not all neurodivergent people can hide their neurodiversity. But what about in-person interactions, such as conferences? You cannot hide being black. You cannot hide being a woman. Are minorities excluded from conferences and meet-ups on top of being forced to hide themselves online?

Suggesting such a thing is inappropriate and disgusting. You should be ashamed of yourself.

This argument is broken on both sides:

We use our judgement to make sure that the people we are removing are actually causing harm. Your supposition is kind of a false premise opposed to moderation in general, and I don’t think is a valid argument.

We are not trying to make a separate community formed by all of the harmful people we’ve removed safe. We’re trying to make our own community safe. Yes, if we ban harmful people, they may form their own groups and communities that are unsafe, but we make our community better, which is the goal. And people who need safety will be able to participate in our community. I don’t think the ability for people to form their own bad communities is an argument against making our own a safe one.

That’s… literally masking yourself.

You’ve publicly given your name as Naftoli Gugenheim. If the minority group you’re a member of was to be any more public, you’d need a billboard. You’ve also stated the minority group you’re a member of publicly in the past. If you wanted to mask it, you’d use a pseudonym that hid your identity as a member of that group.

The thread’s intention was not to claim that people on it are guilty of bigotry, harassment or abuse (by definition, in fact, since when I made the thread I was its only member). The point was that there are people in the Scala community in general who are guilty of such things.

This is a major simplification and misses several key points:

  • John de Goes, the primary person in question, invited multiple people with “abhorrent beliefs” to speak at his conference, and in doing so promoted their bigotry. This is more than just working with them. It has caused substantial harm to many, many people. It is one of the reasons I do not feel safe in his presence, digital or otherwise. (I am not stating that this is the only thing he has done; it is just the most major and community-relevant, in my mind.)
  • John de Goes is the stated Benevolent Dictator For Life of the ZIO organisation. The organisation has defined itself in a way that ties John de Goes inextricably to its core.

It is not that people are guilty regardless of their beliefs; it is that the ZIO organisation in particular is problematic for its leader.

This conversation is not saying what you stated, and is certainly not “truly saying” it in a True Scotsman fashion.

Neither I, nor from what I’ve read anyone else in this thread, has stated that supporting ZIO means you are a bigot; however, ZIO is lead by someone who has promoted bigotry in a very wide and public fashion, and caused much harm in doing so. Thus, supporting ZIO signals acceptance of that bigotry and harm, and that acceptance makes those who are harmed feel even less safe and less welcome.

This is a gross caricaturisation of the views and statements of myself and many others in the community. It is deliberately worded to paint us as ignorant and stubborn. It is inappropriate.

Yes. Removing people who cause harm from the community reduces future harm and increases safety. This is a fairly well-known principle, and the reason why moderation of communities exists as a concept in general.

And until everyone behaves ethically, we remove those who don’t and who cause harm.


I have, along with the linked documents, and have not found them to be misrepresenting the described behaviors, nor would I consider those behaviors baseless or without merit.

I think this is a very important gap in the current CoC, and is probably something that should be addressed. Personally, I tend to make that determination on the basis of how influential the offender is in that organization - essentially, how likely they will be able to leverage their position to enable their poor behaviors. A project’s founder or a highly-regarded moderator is more likely to do further harm than someone who only submitted a few PRs.

This resonates with me big time, and I think it’s probably the case that many of us look at some of our old positions the way we look at our old code - with a deeply uncomfortable wince at how bad it was. Unfortunately, we do have to figure out what to do when somebody steadfastly refuses to consider that growth is desirable (or even possible), and it seem to get uglier every time we kick the can down the road.


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