Skip to content

Instantly share code, notes, and snippets.

@dtolnay
Last active April 20, 2024 11:23
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save dtolnay/7f5da4bf057b7c6d0d00c6bed3060b96 to your computer and use it in GitHub Desktop.
Save dtolnay/7f5da4bf057b7c6d0d00c6bed3060b96 to your computer and use it in GitHub Desktop.

I am aware that many Rust community members don't feel the "RustConf Keynote Fiasco" has been satisfyingly resolved in the aftermath of the events 3 months ago, and have identified a potential "conspiracy by Big Macro to sell more macro" narrative under which everything could make a lot more sense.

Background reading for anyone not already up to speed:

Sadly the reality still points toward an organizational disfunction as originally identified, vs big macro sabotage. At the same time, I can tell that the facts made public so far by the Rust Project and RustConf are not sufficient to tell the difference, so I have filled in what I know below.

On May 18 I brought up Rust Foundation project grant selection in a private discussion with the standard library team lead (Mara) and language team co-lead (Josh). I wanted to know how the Rust Foundation and Rust Project collaborate on making these grant decisions -- for example hopefully there would be someone speaking for the language team when deciding a language design grant, as otherwise there may tend to arise conflict from the Rust Foundation funding work that the Rust Project isn't interested in accepting. As a standard library team member it's important to know whether we'll need to reach out to the Rust Foundation in advance of the next round of project grants.

As I recall, neither of the leads was confident about how this coordination happened in the last round for the numerous standard library-related and language-related grants in that round (including the Shepherd's Oasis grant on compile-time introspection).

At that time, on the topic of language design-related project selection, Josh volunteered that JeanHeyd Meneide of Shephard's Oasis was being considered for a RustConf keynote. Josh was aware of this from his role as not only language co-lead, but also member of the RustConf program committee1.

I expressed forceful skepticism that the compile-time introspection work, which I had been passively following with great interest, would achieve a state that would be suitable for a RustConf keynote in time for 2023 RustConf, for lack of adequate lang team iteration (neither for the Rust Foundation grant selection, nor conference presentation) to land well with the RustConf audience.

Josh (language team co-lead) had not been following the introspection work, but expressed his own impression that compile-time reflection would not make a good keynote topic. This was hot on the heels of "Keyword Generics Progress Report: February 2023" where Yosh2 posted to the Inside Rust blog something without language team iteration, alienated a significant fraction of readers, and then had to apologize to the lang team over the ensuing setback to the keyword generics project.

An Acknowledgement of Failure

In February of this year we published "Keyword Generics Progress Report: February 2023" which missed the mark pretty badly. I (Yosh) was too eager to show off what we could do, and didn't spend enough time motivating why any of it would be a good idea, or how it would work. And that understandibly put people off.

Because the Keywords Generic Initiative exists under the Lang Team, I imagine this has caused y'all extra work as well, and for that I'm sorry. As for me: lesson learned about sharing syntax before semantics.

To envision our joint concern, scale up by 10,000× the audience size for RustConf vs an Inside Rust post.


^ Dividing line for things I only found out much later (after JeanHeyd's public complaint over being downgraded from keynote to a normal talk):

  • That the keynote slot had already been offered to JeanHeyd. I learned about this from this post on May 26 (8 days after the above). What I knew until then was the topic was being considered for a talk, so topical feedback to a program committee member was welcome. Josh had shared the list of keynote candidates in private to a group of standard library team members; a final selected lineup had not been announced by RustConf to the public.
  • That JeanHeyd had been invited for this talk, as opposed to submitting via CFP. Many have said this is obvious from the word "keynote" but the RustConf organizers have already clarified this is not always how keynotes work. Often times they are selected from among submissions.

  • That JeanHeyd had already okayed the exact topic with at least one person in charge. Josh was not certain of the topic when we talked; he would try to find out. I gave input that was conditional on compile-time introspection being the topic, as opposed to JeanHeyd as speaker, and I enumerated at least 3 talks I would have loved as keynote from the same speaker, whose past conference presentations I was familiar with. Even later than that, I learned the "program committee" which Josh is on, is not responsible for selection nor content of the keynote in the first place. Ultimately it sounds like surprisingly few people (maybe only 2?) would have been aware of the proposed keynote content at the time that they voted to approve it.

Edit: the paragraph collapsed here involves unreliable information that was shared with me, compounded by my own misreading of JeanHeyd's comments in regard to the London Rust Conference (2024 Rust Nation UK). JeanHeyd has expressed that it is not accurate, which I regret and gladly defer to his first-hand information over my second-hand information. Whether attendees would have been happy with compile-time introspection as a keynote is a topic that has been litigated to death over the intervening 3 months. Suffice to say, JeanHeyd, the prospective keynote speaker, also did not feel this talk would make a good keynote. He repeatedly advocated for the talk to be delayed to 2024, and as an ordinary talk, and at a "tier 2" conference, which are 100% consistent with my reaction on the talk, but had been pressured to rather do it as RustConf keynote by RustConf organizers (never conveying JeanHeyd's skepticism of this being an appropriate keynote talk back to Rust Project leadership who had nominated it). Obviously boosting speaker's confidence is an important role of conference organizer, even more so if an underrepresented speaker would be disproportionately likely to back out of a speaking opportunity without it. But for a veteran conference speaker who is extremely familiar with what would and would not make a good keynote, over-the-top initial pressure from RustConf likely felt misapplied, and exacerbated the whiplash.

I apologize to JeanHeyd Meneide over how all of this played out into an outcome that is uncivil and horrifies all of us involved along the way.

Footnotes

  1. Since scrubbed from the RustConf website, but you can confirm on Archive.org

  2. Yoshua Wuyts. Not Josh.

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