Skip to content

Instantly share code, notes, and snippets.

@vil1
Last active September 8, 2019 00:05
Show Gist options
  • Save vil1/ac0608f7be2b987f9a1c4f9191fc5bb8 to your computer and use it in GitHub Desktop.
Save vil1/ac0608f7be2b987f9a1c4f9191fc5bb8 to your computer and use it in GitHub Desktop.

This is a witch hunt.

When you exclude a relentless innovator from a conference, when this exclusion results in excluding the young woman from North-Africa who was supposed to share the stage with him, it has nothing to do with promoting innovation and inclusivity. It is a witch hunt.

When you bar someone from contributing to a FLOSS project based on alleged aggressive communication without providing any concrete example of the said behavior nor explaining what you did to make this behavior stop before taking such extreme decision, it has nothing to do with making your community a better place. It is a witch hunt.

Witch hunts are bad. Not because they burn people with no fair trial and that some of the burnt people may not have been witches in the first place.

Witch hunts are bad because they burn people. Period.

The current situation around John De Goes may not have been intended as a witch hunt at first, and I suppose the people who actively participate in it view it differently. However, it is how it looks like from my point of view. That observation makes me angry and worried and I had to express those feelings. I don't care about John De Goes. John De Goes is a grown-up and he can care for himself without my help.

But I do care about the Scala community, and the Scala community cannot afford going on witch hunts. This makes us look bad, collectively. This makes our job of convincing our managers or clients to adopt Scala — which isn't an easy task whatsoever — more and more difficult. Scala isn't an easy language to pick up, people who are lucky enough to use it on their day job had to invest a lot of time and effort to master it, they cannot afford to see their investment destroyed for reasons that have nothing to do with Scala as a programming language.

You may or may not have an opinion about John's personality and behavior, whichever that is, it's perfectly fine. Like him, hate him, don't give a damn about him, it's perfectly fine. What isn't fine at all is to keep making the Scala community as a whole look like a constant battlefield because of these diverging opinions.

Over the past few years, I've attended, organized or spoken at many events, meetups or conferences about Scala and functional programming. I have met hundreds members of this community, and this whole situation came up more than often in the conversations I had. I've discussed it with people whose opinions ranged all over the spectrum, but every conversation reached the same conclusion: this situation has to stop.

It's been more than three years. All the main actors of this situation got hurt and it seriously damaged the community as a whole. The community as a whole needs to find a way out of this situation so that nobody gets hurt anymore.

The thousands interactions I had with this community make me believe that we, as a community, want, are able and deserve to settle this and move on. I will offer my help relentlessly until that happens.

I'm a French guy, I don't mind holding the white flag.

-- 🏳️ Valentin Kasas

@alexandru
Copy link

alexandru commented Sep 6, 2019

Hi Valentin,

Speaking in my own name now, trying hard not to engage in flames like this and I apologize in advance since I have no idea what good this can do, but since we are being accused of witch-hunts, might as well. Also I'm not speaking for the reignited LambaConf controversy. We had nothing to do with that.

And just so we are clear, I know that you're of good faith and I'm not blaming you for trying.

When you bar someone from contributing to a FLOSS project based on alleged aggressive communication without providing any concrete example of the said behavior nor explaining what you did to make this behavior stop before taking such extreme decision, it has nothing to do with making your community a better place.

John has always walked a fine line, his style of aggression being like the Chinese water torture (we keep saying this in my country, not absolutely sure if Romanians actually suffered from such torture, but the phrase stuck and I'm not sure if it's a common one). And in the end, after months and months of trying to collaborate, we simply couldn't keep doing it. At one point I remember us having a strategy for changing the subject on the Gitter channel whenever he was about to go off rails. It didn't really work because contributors have been muting him, or avoiding the Gitter channel altogether. I know I took a break from open source because of such reasons, thank goodness the projects I care about have multiple maintainers (and no, John is not one of them).

He's a master of communications and he can walk that fine line. Other people might be totally fine with it, certainly in other industries I've seen worse. Taken out of context, or by bystanders, the discussions seems civilized, however what's not visible at first sight are things like ... deleted tweets, conversations he's had in public or private, or in the GitHub issues it's not visible to bystanders (1) how often he's wrong or (2) unwillingness to compromise on being wrong. That it takes some familiarity with the technical problems at hand and his style doesn't help.

Have you ever, ever hear him admit to any wrongdoing or even admit that he's been wrong about something, preferably in a way that doesn't sell you on something? I admit there is a small possibility of that happening.


We are not here to prove the guilt of anybody, we are here to work on fun stuff and if the projects end up being not fun, then we'd end up quitting those projects. The equation is that simple.

And in case you're asking for evidence, I'm not sure you realize what you're asking for ...

  • can you see how the paragraph, which I just wrote to justify our actions, places me in the position to give details that may embarrass the one we excluded even more than we already did?
    • not providing a lot of details is professional courtesy
  • can you not see that providing evidence means keeping tabs on that someone, which is the very thing we are now being accused of?

And truth of the matter is ... when working on open source, we don't really have to justify a decision to not collaborate with someone. Many of us do those contributions in our own free time and we can't really be forced to do anything in the name of some public good by people that don't pay us and with which we don't have a contractual obligation.

In the real world you can at least put physical distance between you and someone you can't stand. In case you have a problematic colleague, at the very least you can quit and find yourself another job. With a problematic spouse, you can at least leave the house or the city and rebuild your life.

With open source however, everything is in the open and you no longer have the luxury of physical distance. Worse still, this is who we are and quitting the projects we worked on out of love, effectively means quitting who we are.

Am I exaggerating here? Maybe. But burn-out is rampant among open source contributors, churn rate is super high and how many have quit without telling their tale? A lot of them, that's for sure.


Note that I am aware that we might have hurt him via our actions. This was never the intention, but there really was no other way — the statement has been made public simply because we knew it would become public anyway. Remember the community build?

Do you know what makes it worse? The drive some people have to demand evidence and then when you show it, it's never enough, with the victim inevitably getting the blame. Just like in real life, eh?


All the main actors of this situation got hurt and it seriously damaged the community as a whole. The community as a whole needs to find a way out of this situation so that nobody gets hurt anymore.

I sympathize with this view, I'd like for us to all get along as well, however it doesn't work and it never did. I invite you to read: Well-kept Gardens Die by Pacifism.

Small, meaningless article, but growing up on PHPBB forums and seeing them fall apart, I totally agree with what it says, my favorite quote being:

It is easy to be naive about the evils of censorship when you already live in a carefully kept garden. Just like it is easy to be naive about the universal virtue of unconditional nonviolent pacifism, when your country already has armed soldiers on the borders, and your city already has police. It costs you nothing to be righteous, so long as the police stay on their jobs.

I've seen people from Poland being particularly sensitive about current events. I don't blame them. We too are born in a country coming from behind the Iron Curtain and we hate pretty much the same things, fearing an abolition of the freedom of speech for one. However freedom of speech in a liberal democracy is always in balance with the freedom of association and property laws, which are as important.


every conversation reached the same conclusion: this situation has to stop

And I can totally understand them.

But what exactly do you think your white flag will accomplish? I'm wondering.

Do you see me reach better feelings? Do you see my burn-out symptoms drop a little? Or is this not for me, but for somebody else? What's the target demographic anyway?

@vil1
Copy link
Author

vil1 commented Sep 8, 2019

Hi Alex,

Thank you for your comment, I really appreciate it and I sincerely think it helps.

I will answer your questions while trying to keep my response as short as possible. By doing so I take the risks of 1. leaving you with unanswered questions (in which case I'll be happy to further the discussion here or on whichever channel you prefer) and 2. feeling frustrated myself because there's probably more on my mind than I'm about to write. But I think it's worth the risks.

First, I owe you an apology. At the time of writing the text above, I knew that using the term "witch hunt" had the potential to hurt some readers. I chose to use it despite knowing it could hurt because it was the best metaphor (to my knowledge) to convey my feelings at that moment, and my desire of sharing my feelings outweighed my desire of not hurting anyone. Nevertheless, my actions hurt you, I acknowledge it and it makes me feel bad. I kindly ask you pardon me for that and, now that my feelings were expressed, I commit to avoid using the term in the future.

Next, I have to say that you make an excellent point about the necessity of fun in FLOSS. I agree with that 100% and even more, because it fits neatly in my more general understanding: everything we do, we do it in order to increase our joy or to decrease our pain. If contributing to FLOSS yields more pain than joy, the reasonable choice would be to cease contributing to FLOSS, which goes against our shared (as far as I understand yours) desire of seeing FLOSS thriving, and therefore causes us pain. The fact that we share a common desire (or source of joy/pain if you prefer) makes me optimistic about our ability to find a way together.

Which brings me to my last point: what did I want to achieve by publishing the above text? I'm really glad you asked this question because I think asking this kind of questions is necessary if we want to reach the goal I have. My goal is to find a way out of this situation, ideally such that some day we can all look back to the whole story and collectively feel proud of how we handled it.

The framework I use to understand the world (I can elaborate on that if needed) tells me that if such way exists, it requires us to:

  1. express our feelings: feelings are not to be questioned, they are absolute facts. The only reasonable thing you can do about someone else's feelings is to try understanding them better, by asking questions and reformulating what you've understood so far. Because of cultural bias, most of us (including myself) are uncomfortable with expressing their feelings publicly, but we can find ways to make it easier.
  2. state our desires: desires also are mere facts that cannot be reasonably questioned. My desires aren't more right or wrong than anyone else's; there is no hierarchy of desires. But of course, everybody's desires are more or less incompatible with one another. I like to think of desires as vectors in a multi-dimensional space. For any group of "desiring-beings" to exist, it has to define its own vector, and every member of the group has to rotate their own vector in order to align it (as much as possible) with the group's vector. These forced (or necessary) rotations everyone has to apply to their vector are part of what I call "violence". My own desire, here and in every other aspect of life, is to minimize the amount of such (necessary, therefore the minimum can't be zero) violence.
  3. formulate specific demands: in order to fulfill desires that are dependent on someone else's actions, the most reasonable thing to do is to make demands, ie. asking for some rotation in someone else's vector. Demands are by definition negotiable. Because there is no hierarchy of desires, we have no intrinsic way of prioritizing demands. The reasonable way of fulfilling demands is, IMO, to find the way of lesser "violence" (minimizing the sum of angles of the necessary rotations if you prefer). This way can only be found if points 1. and 2. are achieved.

So this is it, and it's already much longer than I wanted. I'm pretty sure it doesn't address all the points in your comment (nor does it cover everything I had to tell about that matter), but I hope it will give you a better understanding of what I have in mind.

Cheers,
Valentin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment