CoC-compatible Community Builds


I don’t think it’s a good idea to have eligibility criteria for the community build that promise the community build team will adopt the project in the community build if those criteria are met. Having the criteria as guidelines seems good, but if a project turns out to be more hassle than it’s worth, it shouldn’t be in the community build. Let’s not make more out of the build than it is.


There’s a whole section at the end of that document which covers “We may not want your project”. Setting minimum eligibility criteria is an orthogonal concern, and a very good thing in terms of transparency.


That would be very cool.

A closely related possibility for projects that:

  • aren’t included in the community build, for whatever reason
  • but want to help catch Scala compiler regressions and/or get early notice of new incompatibilities

is for those projects to add “latest Scala nightly” to their own CI matrices. there is some past discussion on this at . As you can see it’s an old ticket, but it isn’t really something that critically depends on central action from the Scala org, it’s something that individual projects can do on their own initiative. (The ticket would be a good place to swap tips & knowhow.)

The considerations are somewhat different depending on whether you want to test against a Scala release series that has frozen binary compatibility (e.g. the 2.12.x series for a while now), or a release series that hasn’t yet (e.g. the 2.13.x series until 2.13.0 comes out, though we’re already trying very hard to avoid any further bincompat changes).

Once bincompat is frozen, you can pull all your dependencies from Maven Central and just compile your new code with the new compiler.

Before bincompat is frozen, all your dependencies have to be built with the compiler you want to test. That’s when dbuild is so important to have. (Or some other tool that builds everything from source, such as Bazel, Pants, or Fury.)

This thread has become very lengthy and is devoted mainly to the community/governance issues, so for further technical discussion in this vein, it might be better to move to a new thread.


Come to think of it, since nightly is well, nightly, if you want to build against it you don’t need something like Scala Steward, you just need a CI that supports scheduled builds.


So, what’s the meaning of this storm?

I’ll keep this brief and unilateral.

Agreed, and I empathise with and commend you on your holistic view and approach.

Sounds to me as someone who’s states that the main purpose of his/her/their life is to serve as a warning to others.

Which I (privately) believe is a commendable and reasonable purpose as long as others are not enforced to react on the warnings expressed.

And thus the Hero in me, protecting the underdog, leapt into action, not knowing the depths of the divide.

That one got the room quite hot, my apologies, scalaz is not my fight, not my level, I leave that to the omnibenevolent.

So let me back-track to the origin that got me on this forum, and leave the realm of organisational names.

I haven’t seen John here while he was so passionate in his request for an explanation.

I haven’t seen Seth communicate with John anymore, or anywhere, still he committed to the removal of scalaz and zio.

I believe both think the other should apologise for something the other did, the question is what and how we can help them do so?

Because as a Scala programmer, professionally, I’m not interested in the why.

This thread is dead-locked in carelessness on its semaphores: John and Seth.

But I extended that lock to you all in words, and included myself in spirit after being asked to explain myself.

Everything in this comment was written in denotational language.

I principally crafted this comment with the intend to remove all implied language.

Even though in reality this is an impossibility.

If I have only one thought adding value at this forum, it would be that thought.

The physical act of clicking Send thus publishing this comment scares me … but I’ll do it anyway.


I was directed to this thread from an issue I opened on Github, which asked two questions:

  1. Why were the projects (ZIO, Scalaz, Argonaut, etc.) removed from the build, particularly an explanation of the commit message, “Removed CoC-incompatible projects”
  2. What steps would be necessary to get some or all of these projects back into the build (i.e. eligibility criteria)

I was disappointed when the thread was closed without explanation or resolution, and I was redirected here. Although I have not read every word of all 230+ posts here (I commend those who have!), I cannot find any answers to these questions from official project maintainers.

While disappointed, I’m still very grateful to Lightbend for sponsoring the community build, and I think it provides tremendous value, helping to ensure a stable Scala compiler for users worldwide. I think the build provides even more value to the Scala community when it includes important projects (for example: Scalaz has 1 million downloads a month; ZIO pushes the type system in novel ways at the intersection of subtyping and FP, and has already identified a number of issues for Scala 3).

More than that, I’m personally grateful to Seth, whose positivity, work-ethic, generosity and commitment to the betterment of the community are evident in his every interaction; and to Adriaan and others whose important work at Lightbend have helped make Scala the production-worthy choice that it is today.

I believe that Scala-the-language belongs to all of us who live and breath Scala, and who have chosen to devote our careers and sometimes our personal lives to the language and ecosystem. I also believe that when companies sponsor work inside the official Scala organization on Github (scala), they are assuming the position of stewards of the Scala community.

Quite unlike being the maintainer of a personal or commercial open source project, I believe that being a steward of the community carries with it great responsibility.

In my opinion, being a good steward of the community means, first and foremost, making decisions in a transparent and equitable fashion, which can withstand close scrutiny; it means making decisions considering only the community as a whole, without consideration of the interpersonal dynamics that often do (and should!) drive personal, third-party and commercial projects; and it means conducting oneself (in that venue) as a consummate professional, including, of course, sometimes making hard choices that not everyone will agree with.

Looking back at the removal of these open source projects from the community build, my own Github issue, and the followup in this thread, I personally believe that there is ample room for improvement in stewardship of the Scala community build.

This is not a knock on anyone, however. It’s very important to recognize that we are all human, and part of being human means making mistakes and learning from them; and moreover, that there’s no guarantee that anyone participating in this thread would do a better job, if they were in the same circumstances and had the same life experiences.

Moving forward—and that’s precisely what we must do, because it’s too easy to remain fixated on the immutable past—I hope that answers to questions such as the ones I’ve raised will eventually become clear to all; I hope transparency and equitability will improve; and I hope and trust that all the well-intentioned people working for the good of the community will learn from this experience, and set an example for other communities of what great community stewardship looks like.

I encourage everyone to lay this issue to rest; and I thank so many for taking the time to share their perspectives on the way forward. Although emotions flared at many points in this thread, it’s obvious a lot of people care deeply about improving the Scala community, and at the end of the day, that is a very positive thing.

P.S. I would rather build the future than argue about it, so I won’t engage further in this thread. Find me at, ZIO’s new organization (unaffiliated with any third-party organizations!), at the new ZIO chat room, or at my personal blog, Happy hacking!


people need to make a living from skills that they invest into the scala platform, CoC is not related to scala or people’s efforts in this direction, please stop this


Hey John,

I read your message carefully and agree with the spirit of its contents.

The issue grew though, during your absence, I have just two concrete questions:

  1. Do you represent the scalaz organisation in this?

  2. What did @SethTisue say when you complained with him personally about his single unreviewed commit?

Sorry for the directness, but we would like to close the issue, it has been going on for too long.

People are emotional here. Some are scared. Others just irritated. You can cut the tension with a knife.

Note also, the world outside of the Scala community is observing this.


If you read the message carefully, you presumably noticed that John said he won’t engage further here, along with clear reasoning for why.

Since no answer John could give would actually close the issue, I think it’s quite appropriate to respect his declaration.


I agree,

But didn’t understand: did he mean he would not engage at the Scala contributor forum?

Perhaps there has not been a private talk between Seth and John, all this time?

Which (in my private personal mind) would mean that Seth has not apologised for the single unreviewed commit yet.

Let me ping John, and ask him more privately.

I’ll report his answers back.


Seth and I applaud ZIO’s decision to move to a new org, and we are open to its subsequent re-admission from its new home, especially in light of

Based on the feedback in this thread, we’ve updated the eligibility criteria of the CB to more accurately reflect its purpose and how it is managed.


Thank you for the eligibility clarifications.

If a similar issue comes up in the future, what can we expect going forward with regards to these questions:

  1. If references are made to CoC violations or incompatibility (which implies violations), what level of documentation can we expect?
  2. If a project is removed “for cause”, what paths will be available going forward for reconciliation and possible readmission?

I agree with

But think now core is to be able to close this/threads quickly, thinking at runtime.

Against all sort of presences.

I.e. I thought this was a meta discourse.


John refuses to answer the question about Seth:

Because: “happy to answer more, but not in a venue or a way that stokes the fires”

Which I (private opinion) read in John speech as “no dude, I didn’t, otherwise I could say”.

Thus, no matter how I appreciate Seth’s work, I can not trust his intend towards ZIO.

That is a biggie, and it looks like it is swept under the carpet, I gather so we can let go of scalaz ?

At this moment, having observed all communications today in this thread.

I’m sorry, but we need to keep this open.

Why did Seth not wait till ZIO was split of and only then remove scalaz with CoC violation.

Perhaps @SethTisue can apologise for his commit openly without one-on-one talk with John.

That would currently satisfy me to close the thread.

You all are doing a step in the right direction, but as @tpolecat personal opinion predicted:

It’s not sufficient to make it a purely positive step though, hence this thread cannot yet be closed.


Please do not blame the rudeness of people on autistic folks. Being on the spectrum is neither a cause of nor an excuse for poor behaviour. In my experience, autistic folks are in fact much more aware of their difficulty in certain aspects on communication, and are even more polite and understanding for that reason. Being autistic is certainly not a cause of excessive ego, thinking you’re superior to everyone else, or extreme snark or vitriol.

If someone’s behaviour is harming others in the community, they need to change that behaviour. Full stop. They need to learn to fix their behaviour, or cannot participate in the community. And the person in question has had plenty of time to fix their behaviour, with an apparently lack of results.

No; it is good to stop and prevent verbal (or any other type of) abuse. Abusive behaviour MUST NOT be tolerated. Whether or not some people manage to create good from abuse they’ve received, that abuse is bad and unacceptable.


I am not sure why you think adding speculation about secret harm, grudges, and/or misdeeds when specifically told that stoking fires is to be avoided.

I strongly encourage you to re-evaluate why you are posting this. I anticipate that a majority of posters will reject accidental or intended attempts to get them inflamed, but I still can’t see how this is supposed to be helpful.

The parties involved are highly competent. I trust them to say something if something needs to be said at this point. (As they did when this whole thing started.)


I was making an analogy. Not studying a particular kind of cognitive deficit doesn’t mean it’s not there; not finding a physical or biological correlate of a cognitive deficit doesn’t mean there isn’t one. (Of existing deficits, it would be more along the sociopath axis than the autism one.)

I agree that abusive behavior should be strongly discouraged and steps should be taken to reduce and if at all possible eliminate it. However, it’s not terribly hard to engage in revenge for abuse that is itself abusive, or to engage in revenge for unwelcome behavior that isn’t really abusive, and so on. Reacting with the strength italic bold caps may therefore cause more mistreatment than it solves.

(However, this seems pretty off-topic.)

1 Like

I’d recommended you stop making that analogy.

Among other issues, the autism spectrum describes a set of atypical behavioral characteristics, and describing it as a “cognitive deficiency” is to grossly oversimplify an outdated understanding of how an autist’s brain works.


I also think we’re on a slippery slope here. Let’s stay on the level of discussing fact, requests, ideas, welcome and un-welcome actions and behaviors.


I understand, and see the results of that as the natural process of learning by experience. I’ll further refrain from participation, though I will probably analyse past and future postings on this thread for the rest of my life. You are all amazingly competent people.