CoC-compatible Community Builds

#206

On the subject of “who represents the organisation X?” - maybe it’s easier to answer the question when you put this on a spectrum rather than looking for a yes/no answer: in that sense everyone represents every community they participate into and has the responsibility to care about the image of that community.

If you think like this, every community has a responsibility to make sure that the people that are perceived as their representative (for any reason: historical, technical, inspirational, etc…) do not convey a bad image for the rest of it. And that’s what frustrates me the most about these kind of drama: I feel associated with it just because I love Scala (the language) and I know that I am perceived professionally as part of its community, despite not being really that active publicly (in part due to my introversion and in part due to the drama).

This is also the difference in my opinion between what happened with Stew and Typelevel and what happened with Tony Morris and Scalaz: Stew publicly stood down and Typelevel publicly declared that it would not condone his behaviour; from that point on they parted way and that was it. I’ve the impression that Tony Morris is instead still seen as the victim/hero in the Scalaz community and that people in there are more keen to justify the bad behaviours of certain members in general under several pretences like “being technically excellent so knowing what’s right” (often implying a judgement on the rest of the community), “keeping politics out of programming”, “being individual free to say what they think” (true, but freedom doesn’t absolve from responsibility) and others.

11 Likes
#207

This is my worry as well, though I would replace the word “honest” with “aware” in respect to the many moderators at this forum I haven’t met or interacted with before, and was impressed by the moderation of my own comments by @Ichoran yesterday night. I don’t believe it is bad intend, just carelessness for Tony as a human individual. And a lack of established due process to deal with this manner. People should be allowed to defend themselves, and if they are not able to, they should be formally provided with someone who does.

1 Like
#208

Thank you, that is insightful: Is this opinion shared by the Scala community leadership?

#209

Well they kind of are, although Stew is no longer in that list (he publicly stood down). Also I would add some people to the list although that is besides the point.

As mentioned before, its also not a yes/no spectrum

I believe that ZIO was removed along with Scalaz because (and perhaps incorrectly) from the community build as it was to be part of Scalaz. Note that ZIO is now being separated from the Scalaz organization

Some things to note here

  • There is a due process (although we can argue it came too late)
  • Even if this is due to “how Tony is as a human”, there is still responsibility over his actions or behavior.

Tony has defended himself, many times. However more critically he has also refused to change his behavior, over the course of many many years.

This is why the existence of this thread and many many people (including increasingly myself) don’t want to deal with this drama anymore (the existence of this thread is indicative of this) and are also getting tired of being “asked to provide evidence all of the time” which is honestly being a form of https://en.wikipedia.org/wiki/Sealioning .

6 Likes
#210

I agree with you, I just like to keep open the idea that Tony is unable to express himself in a form that is required by the community, for good other than evil reasons though. Perhaps this is naive, but progress in human behaviour builds on the understanding of why humans act as they do. Currently Tony is already depicted as a bad guy, without means to defend himself.

I start to understand that, which makes this thread a bit strange. Lots of public and extra’s, but the real actors are missing. I’ll let this gist for the rest of the day, and refrain from writing as not to add emotions.

#211

It is clear to me that we are faced with some deeply rooted trust concerns between those within scalaz and those on th outside (like those within Typelevel and Light Bend). And I think it time that we start looking at the “elephants in the room” in be honest: there’s good reason for this lack of trust on both sides.

From those outside of scalaz: It really seems that Tony Morris can be rather “abrasive” (online at least). It is perfectly reasonable for someone not to be happy about being spoken down to or insulted, and we should all agree that all things being equal: one would prefer the nice teacher over the grumpy one. So clearly we have this notion of a “CoC” that has come to light with the goal creating a formal process to define “bad behavior” and sanction those who break the rules. Ok, as programmers, we like coming up with formal processes to deal with such things. So in the abstract: this is makes sense. So from the “non-scalaz” side, all the scalaz folks appear to not only breaking the rules: but don’t think there should be rules in the first place! So why would we trust such people?

Ok, now let’s turn it around.

From what I can see, there appear to be many people that are good friends with Mr. Morris and have found him to be a great teacher (particularly in person), sure they see Mr. Morris saying crazy things, and they may cringe but then they just say “oh here Tony goes again, sigh”. Some might even argue that there could be some mental health issues – but I don’t know, It’s not fair to claim either way without sufficient knowledge about that. All I can say is there do seem to be people that have a different perception of him. These same people see the whole movement towards “CoC” authorship and enforcement as a blunt instrument, not nuanced enough to be able to handle various intra-personal complexities that one would expect in many such creative efforts, such as programming. Who can blame them? people are more complicated than code. If CoC were executable code, everyone would want someone like Tony Morris as a unit test :slight_smile:

Now if that weren’t complicated enough, now throw Curtis Yarvin in the mix. I can’t say I know much about him other than the work he was involved with at Urbit and apparently some strange writings that he has done on his spare time that people don’t like (ok, guess that is an understatement). Well, his submission to speak about Urbit is accepted at LambdaConf (2015 or 2016, I forget) and what happens: there is an uproar about this guy’s writing hobby. So then much in the same fashion where Tony Morris was sanctioned, the CoC enforcers begin to close-in on LambdaConf: now we have everyone on the scalaz begin to conclude: CoC leads to “de-platforming”. So you see: trust goes out the window. CoC enforcement becomes a means to advance political agendas, and by not being clear what the specific infractions are, and keeping the rules sufficiently vague: these “goal posts” keep moving at will. And for Seth Tisue to “quietly” merge that PR with such close proximity to LambdaConf 2019, does NOT help matters! In fact, anyone with their eyes open will see that has created “perfect storm”.

Please understand that I’m not actually accusing anyone of any intentional wrong-doing here. I am once again trying to point out some “elephants” in the room and make it clear that there are good reason for both sides to not trust one-another. Just as the scalaz-folks are hiding behind Tony Morris, The CoC-folks are hiding … behind their CoCs. And as long as this continues, the only “endgame” I see … is this fight being interrupted when one of us bothers to look up and notice: That all of the sane (former) Scala users have gone elsewhere.

4 Likes
#212

In politics fundamental disagreements about beliefs and ideology often masquerade as arguments about process. Similarly here, I’m deeply sceptical that the fundamental issue, is really about process, moderation or even the idiosyncratic posting styles of a one or two prominent individuals. I very much appreciate Tony Morris’s contributions to Scala, I found his blog very useful in starting to think more functionally and I rather miss his unapologetic posting style. But then I can enjoy the equivalent of an intellectual cage match, that his online style creates.

Now I can appreciate that someone might come from Java, be introduced to functional programming through Scala and decide that they want to move on to Haskell. I would say good luck to them, but I would still like some appreciation towards Scala for the part it has played in their journey. However that doesn’t seem to apply to many of the Haskellators. Many of the Haskellators seem to have been fully aware of, even conversant in Haskell, before they ever wrote a line of Scala.

So the question seems to arise to any Scala programmer who is into pure functional code and I mean pure functional code not pragmatically maximally functional code. The question arises why do you want to programme in Scala? Is it because like Martin Odersky you want to combine class trait inheritance (whether compile or run time dispatch) with functional code. that you see these 2 paradigms as not in opposition. That you see the fusion of these 2 paradigms as fruitful, even if some time in tension. That you see the benefits of this fusion outweighing the costs and baggage of Scala’s imperative impurity. If that is so, I think it would be highly helpful for people to state this.

If you don’t. If you don’t value class / trait inheritance then why are you programming in Scala? Why are you giving up your valuable spare time to help develop Scala, to help teach Scala, to help expand the Scala eco system? I’m genuinely baffled. If you really believe in pure functional code without trait/ class based inheritance, then the last language you should be supporting is Scala. the more successful Scala is the more it will save, even breath new life into inheritance-orientated programming. The better and bigger Scala is the more it will undermine the establishment of a wide spread pure-functional eco-system.

And I don’t buy the “work” day-job argument either. Many of you are highly qualified,brilliant developers with a proven track record of delivery. You have more than enough power in the work place to say “Java or Haskell, but nothing in between.” If your employer insists on using Scala, why not find another job?

6 Likes
#213

I don’t think you can really draw parallels here, the issues with Toby have nothing to do with politics. Its his brash, rude and even trolling/insulting (which I have experienced myself in official Scala channels) writing style that people have a problem with (I am not even getting into his pure FP stance here).

Actually I think what happened in LambdaConf is kind of opposite what happened here, you had someone with incredibly controversial personal views keeping this separate when in professional settings (such as talks). I don’t think many views Tony has are that controversial (especially if you are in the pure FP crowd)

2 Likes
#214

I write Scala because I think that it provides the best compromise across different programming paradigms. Oh, and also because my perception is that Martin is incredibly gifted at language design, and seemingly cares deeply about trying to make a consistent elegant pragmatic programming language.

If Martin and the Scala developers manage to define Scala 3 into a simpler more streamlined version of Scala 2 then I think that would be excellent, at least for me :slight_smile:

Beyond that, my other hope is that this thread comes to an end soon, hopefully with it ending on a positive note.

Kind regards,
Rob

9 Likes
#215

I tend to stay out if that thread, it seems I already caused sufficient reactions elsewhere.

But these is an other subject, and please, this is just far too manichean and black and white to represent the vast complexity and shades of diverse motivators that make someone use and/or love at least some of scala and his ecosystem.

Some examples, far from an exhaustive list, can be that you are happy in your work despite the language. That scala brings you a competitive advantage for some other goal you work on. That really, you like most of the language and ecosystem excepted for some minor or episodic events (minor, compared to the whole life). That you see your work and contribution like something bigger than you, impacting other beings, and that these beings are part of your decidions. That don’t actually have so much choice, because the only people who gave you a chance (bacause of your lack of prior experience, background context, country of origin or whatever) are in that ecosystem.

Really, there are millions of reasons that could make someone to stay working with scala even if it’s not ALL white. You make compromise in life, because life, and people, and ecosystems are complex and full of shades.

4 Likes
#216

I’ve only been doing FP in scala for about a year. As a newcomer, I naturally identified Sam, John and Emily as the primary faces of Scalaz because they were the users that i saw in discussions and code changes. John is the only one of those 3 still around, and he has been nothing but professional in his posts from what I’ve seen (though, granted i do not look at Twitter).

That is why it is so confusing to me to see @tpolecat point to Tony as the face. As a typical user, he is almost entirely invisible. This thread is literally the first I’ve ever seen him say anything (though again, I’m not on Twitter). He may contribute, as he pointed out, but am not aware of those contributions.

So it seems the actions here are based on Tony and his history, but not due to any recent behavior? And we’re punishing over 4 thousand users due to that?

Doesn’t that seem childish? Could we not work with the actual, existing maintainers of the project, as @fommil helpfully suggested, and perhaps simply ignore comments from people who no longer (publicly) contribute?

Not only that, but Tony Morris has had nothing to do with John’s ZIO initiative (at least not publicly). Why are they punished in the same light? IIRC, ZIO is now separate from the scalaz org. ZIO even interfaces with cats.

ZIO also serves as an excellent edge case for the community build. There is technical merit to including this project.

If this really is indeed the reasoning i am even more disappointed in our leadership. Keep the old wounds closed and move on. There is no need to do this.

9 Likes
#217

Apologies if my comments were not clear. I’m very interested in why people use Scala, even if it was that they were forced to by their employer, their experiences and feed back are still interesting and valuable. I certainly meant no disrespect to any one doing a job that is not perfect, not ideal, what job is?

However my questions were specifically directed at a small group of people, who are very committed to pure functional programme, have made very significant contritions to Scala, in terms of code, teaching and organising in their spare time. These people are clearly not driven by maximising their take home salary. Again no disrespect to anyone that is, just that its not the case for the smallish number of individuals that I was trying to address. These people are clearly driven by a passion for good and beautiful software. They have often written books, created extensive blogs, set up courses and organised meet ups.

It was in this very specific context to a very specific group of people that I questioned why they were using Scala. It was just with this very specific group (subset) of individuals that I didn’t buy them being forced into programming Scala, although of course the large majority of developers may well not be in a position to be too choosy about the projects they undertake.

4 Likes
#218

I really don’t think this discussion belongs in this thread. We have already dived into a number of off-topic discussions and we have over 200 posts here.

People can use Scala for whatever reason they care to. Let’s leave it at that and move back to the original discussion.

1 Like
#219

I think it does belong here.

Zio and John de Goes have been repeatedly mentioned. John has given a keynote where he says that Scala should remove inheritance from the language. More than that he tells us, we must remove inheritance if we do not want to see the annihilation of the Scala eco system. Do people expect such remarks just to be ignored. In such circumstances it seems both legitimate and vital to ask such peoples reasons for using Scala.

John seems to have possibly given a sort of reason to use Scala.

To do inheritanceless pure functional programming on the JVM.

Perhaps that is the motivation of a number of people in the ScalaZ community. If so there needs to be acceptance that, that is not the motivation of the majority of the leaders in the Scala community. There needs to be acceptance that far from being removed inheritance is going to be improved and refined going forward. In the forseeable future there is zero chance of inheritance being removed.

There needs to be acceptance that calls to remove inheritance from Scala, are profoundly antagonistic to many of us and will be experienced as trolling. I’m passionate about free speech, but one’s speech has consequences. I can’t speak for light-bend, so this just outsider perspective. It seems to me if ScalaZ want their particular coding style supported, there needs to be some appreciation that they are a minority in a diverse eco system, that there particular atypical coding paradigm may have additional costs in time for the compiler team to give first class support.

6 Likes
#220

John’s opinions are well known of course and you have a right to disagree with them.

Someone having a different opinion on the language’s direction does not mean anything in terms of supporting their contributions to the language. John has an overwhelming presence on so many good things in Scala. To try to demonize him because you disagree with how he wants the language to progress is not relevant here.

The SIP process governs any language changes. John is outspoken there, sure, but in a professional way. Many language improvements have come because of the things that he has said during this process. As long as John is presenting his ideas in a way that is compliant with the CoC, he is welcome to challenge any direction, as are all of us. I would hope that’s even encouraged.

This has nothing to do with whether or not the community build should support ZIO or Scalaz. If you disagree with the way John wants to take the language, talk with him or reply to his comments in the SIP proposals.

6 Likes
#221

do any of those things you mentioned break the coc? Does having a difference of opinion with the core team constitute a coc violation? of course not. so I also feel like that discussion does not belong here.

1 Like
#222

Along with all true Scotsmen, I would assume.

#223

There appears to be some expectation that for a project to be included in the Scala Community Builds, it needs to have some identifiable leadership which commits to enforcing the Scala CoC.

If this is so, it should be documented in the eligibility criteria.

1 Like
#224

Yeah +1 for making a decision on whether projects included in the community build should or must have leadership that subscribes to some CoC, but the current structure, where if there are no problems, it doesn’t matter whether you’re running a CoC compliant org or not isn’t too bad, as long as having the project built in the community build isn’t taken as some important part of being part of some community, which apparently for unclear reasons it’s seen as now.

1 Like
#225

What is CoC-compatible?

We’ll add some wording on that to https://github.com/scala/community-builds/wiki/Eligibility before too much longer.

There is no plan to exclude projects that have no CoC or weak CoC, if those projects haven’t been an actual source of trouble.

I have nothing else to add that hasn’t already been well covered by other posts in this thread. Thanks to many people in this thread for filling in the blanks so well.

10 Likes