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

@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