Recently I made the following tweet:
Which says: “don’t want to work with those who platform the alt-right? @odersky ain’t got time for that!” and then adding a link to this comment by Martin Odersky, the creator of the scala language: https://github.com/tpolecat/doobie/pull/1587#issuecomment-961415475 In that comment, Martin succinctly states: “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.”
But Twitter is really awful for long discussions. So I hope this slightly longer form will clear up my intent.
The PR, as you can see, is removing a small bit of code after the library it depends upon moved into the ZIO organization. Many who work in the Typelevel scala project object to working with the founder and BDFL (benevolent dictator for life) of ZIO, John De Goes. Much of the history of that has been detailed:
However, to briefly reiterate the core complaint: John De Goes gave a platform to people whose writings most people find to be clear evidence of racism and sexism. When faced with a boycott of his conference turned to a right-wing blog, Status451, for financial support, and in particular to a self-admitted alt-right individual who goes by ClarkHat.
I have been using scala professionally and personally since 2011. I witnessed many of the conflicts referenced above. In large measure, Typelevel was formed as a reaction against the part of the scala community that is unwelcoming and is overly protective of hostile behavior especially towards underrepresented groups.
Is it fair to hold the ZIO organization responsible for the actions of one person? Does one person’s action warrant not working with that organization? Yes. John De Goes is the founder and BDFL of the ZIO project. He is also the CEO of Ziverge, a company built to monetize support and consulting around ZIO projects. Boycotts commonly target companies based on the decisions of their management. Was it unfair to not use Uber when it came to light that they had ignored evidence of sexual harassment? Is it unfair to not use Facebook based on your opinions about the company’s executives choices around privacy or mental health? Do I owe my friends who work at Facebook an apology for not using their product or arguing that it is actually harmful for society? I don’t believe I do.
But as I have worked to clarify, just because I hold the organization responsible for their leader’s actions does not mean I hold each individual developer responsible. In this instance, the library that joined the ZIO org which preceded the github PR above is closely associated with two developers one of whom from an Orthodox Jewish background, another a Latino immigrant to the United States (I don’t know anything about the first, but the second I know personally to be an excellent engineer). So, the question is: am I claiming these two people are supporters of the alt-right? I am not. I offered an apology for the lack of clarity and try to make that clear:
There are very few that oppose boycotts in all cases. For instance, Martin seems to support a boycott of Typelevel in his comment that provoked my tweet. Indeed, it was the fact that the creator of scala has so rarely waded into questions of hostility in the scala community except to condemn Typelevel who have tried to make a more inclusive space that motivated my tweet.
Can the scala community move beyond this? I don’t really know if we can in a unified way that some want or expect. As long as John De Goes is the BDFL of ZIO, his views and actions will reflect on that organization. He seems to have somewhat irreconcilable differences with many in Typelevel and as far as I know, no major desire to reconcile. Likewise, I think many who have been in the Typelevel scala community for a long time would require some kind of reconciliation before working with John De Goes, not just more passage of time. My personal view is that the Internet is a big place. If working with John De Goes appeals most to you, by all means do. But if not, and if you feel the mission of inclusive functional programming on the JVM is interesting, there are folks out there to work with.