Why I left RustMay 28, 2023 -
There's a lot of speculation about why I left Rust yesterday, so I want to set the record straight in this post.
A short timeline of what happened from my perspective, as this is relevant for later:
- A request went out to the interim leadership group for potential keynote speakers for RustConf.
- JeanHeyd Meneide was proposed by myself and Manish as a keynote. JeanHeyd is one of the two editors of the official C standard, a C++ expert, and a good speaker. We felt like he'd be a great invited expert with an outsider perspective.
- A few days later it was held to a vote. Consensus in the interim leadership group (what the official blog calls the "leadership chat") are of those present in the group when the decision is made. In total five members voted, and all five votes supported JeanHeyd as the keynote speaker.
- JeanHeyd was asked and accepted the keynote.
- Before the schedule was posted, it was discussed in a team meeting that JeanHeyd had been selected as one of the keynote speakers.
- A couple team members had strong opinions/discomfort against JeanHeyd being selected as a keynote speaker, as best as I understand it, because of the content of JeanHeyd's blog post on reflection in Rust.
- This discomfort was brought to the interim leadership group as a problem that must be fixed immediately. There was no discussion of the ramifications of making a change at this point. There were complaints that this pushback was not sufficient to require change, but this feedback was ignored. The discussion focused on the discomfort of the team members and changing JeanHeyd away from being a keynote speaker as the only solution.
- Two people in Rust leadership then, without taking a vote from the interim leadership group (remember, JeanHeyd was voted on and selected by Rust leadership), reached directly to RustConf leadership and asked to change the invitation. (note: this used to say one person, but I've now had multiple people independently confirm it was two people.)
- RustConf leadership decided to wait a week before informing JeanHeyd, giving Rust leadership time to change its mind. The interim leadership group was not informed of this week delay.
- After the week expired, JeanHeyd was informed of the decision to downgrade the talk. Understandably, he fully declined to speak at RustConf.
- When I read JeanHeyd's blog post and learned of the declining of the invitation, I immediately resigned from the Rust project.
I'll also note that the above is the best I am able to understand and piece together. A full investigation needs to happen to uncover how and why the above happened. I also reserve the right to edit the above if new information comes to light.
Why did I leave?
To my mind, why I left is obvious. I just watched the Rust organization disgrace one of the experts in my field. As an organization, Rust and RustConf offered little resistence to Rust being wielded as a weapon against an individual because of some discomfort of a couple team members.
What rang in my mind is: "a system is what a system does"
Rust acted as a cruel, heartless entity that did not care about JeanHeyd and treated him as disposable. Easy to offer a place of respect and just as quick to snatch it away. That is what Rust is because that is what Rust did.
I left because when I felt JeanHeyd's pain and disappointment at being mistreated and betrayed, my heart broke. I wept because of the cruelty. But I also wept because I helped create the system that could do this to someone.
But it was just a downgrade
I shake my head at people that say things like this. Clearly, they are not used to treating people - let alone experts in the field - with respect. Downgrading a keynote that you explicitly invited the speaker to give (and prior to this they weren't even going to speak at your conference) is extraordinarily disrespectful. I asked around to see if anyone had experienced this or even heard of it happening. No one had.
Decisions are made with context, never in a vacuum
I also felt the weight of the context of the decision. JeanHeyd isn't just a recent grant recipient of the Rust Foundation. JeanHeyd has important history with the Rust project.
It was JeanHeyd who called Rust out for having no Black representation among Rust conference speakers. Rightly so, as both the Rust organization and the conferences had little to no Black representation.
When I saw an organization that not only could act so coldly to an expert in the field, but also to one who was a vocal critic of Rust's lack of diversity, it was hard not to see the additional context.
Systems have memory and biases. If the people that make up the system don't work to fight against these, they are perpetuated.
As my buddy Aman pointed out, the context that this would have also been the first keynote by a person of color at RustConf should not be lost here.
It's time for accountability
I read back over how I handled the situation as it unfolded, and I could have done much better. My go-to tool is diplomacy, trying to build bridges, getting information, and finding compromises. But, after reading over what happened and how I acted, it's clear part of the problem is too much diplomacy in leadership. Too many people giving each other the benefit of the doubt. Too many people asking for answers and then being satisfied to let bad decisions slide.
So let me do my part to fix my failings:
What we need isn't diplomacy, it's accountability. We need people to take responsibility for what happened and to make amends. We need people to step back from leadership who abused it to perform cruel acts against an expert in the wider programming language community. We need an organization that does not act cruelly so that the project it creates and the organization of people behind it can rebuild the trust it has lost.
Questions that need to be answered
Rust, as an organization, is guilty of cruelty. It needs to be held accountable. Here are the first questions that come to mind that need to be answered:
- How was it possible for a decision to be made without a leadership vote?
- Why was downgrading the talk the only path explored?
- Why did RustConf leadership go along with this decision and not protect the speaker? Why wasn't Rust leadership notified of the time period in which to change the decision?
- Who ultimately is responsible for turning some team discomfort into disgracing a public expert? How are we going to hold them accountable?
- How do we put safeguards in place so that this doesn't happen again?
- How can Rust not only be held accountable now, but maintain long-term accountability into the future?