Announcing: Lang Team Meta Working Group


I’m happy to announce the formation of the language-design team meta working group. The Meta WG is tasked with helping to manage the transition of the language-design team to a new process – and, if consensus is something that interests you, we’d like you to help!

Kickoff meeting to be announced shortly

I plan to announce the precise time + date of our kickoff meeting shortly – I am polling some “key stakeholders” to get their timing constraints. The idea is to have a series of discussion meetings where each one is focused on discussing a particular topic. In case you can’t attend the meetings, we’ll be posting summaries so that you can follow along (and, if they are held on Zoom, video recordings).

For now, I’ve created the stream #t-lang/wg-meta on the rust-lang Zulip for initial discussion.

Initial goal: specifying our goals

Initially, the focus will be on clarifying what we are trying to do. This means elaborating on problems we see, but also on clarifying what some of the strengths are that we want to be sure to retain. We’ll also be trying to lay out the “general shape” of the solution, and elaborating perhaps on how we hope for it to help.

For example, I think we need to make it easier for people (and ourselves!) to follow along with what the lang team is doing. I think we need to better separate our the “phases” of our discussions and I hope that this will make it easier to find consensus on complex designs. And, I guess it’s obvious, I think that the “general shape” of the solution is to form working groups that operate in an open fashion, with periodic reporting both to the Rust teams and to the community as a whole.

To be honest, I don’t expect this initial discussion to take that long – maybe one or two meetings. But I am confident that, in the course of said discussion, we’ll have a few fresh insights.

After that: elaborating the solution

Once we’ve gotten that work done, we’ll start discussing the plan proper. We’ll start by planning out a roadmap – which things are most important to hammer out first? Then we’ll operate in a sprint-like fashion, picking a set of topics to discuss, discussing them, and then picking more. =)

After each meeting, we’ll post minutes, and we’ll try to have a “central document” that captures the “overall shape” of the plans we’ve been making.

Ta-da! A template for working groups as a whole

And now the great reveal: I think that this general structure is likely to be a great template for any lang-team working group:

  • Phase 1: Exploration. Elaborate the problems to be solved (and the problems not to be solved!) and trying to tease out the possible means of attack. The working group produces a kind of report that doesn’t advocate for a particular solution, but rather lays out what the problems are and what are some different ways those problems might be addressed.
  • Phase 2: Implementing. Presuming that the problems in question seem important, and the solutions seem promising, the working group can proceed to trying to design and implement the solution. For complex cases, this might involve first settling on a roadmap – a sequence of features to attack.

Distinguishing these two phases seems very important to me. We’ve often gotten hung up because it’s hard to separate out the motivation without touching – at least in part! – on proposed solutions. I hope that we can sidestep this by the approach I specified here, where we do talk about solutions – but possibly more than one!

Exploration does not always have to lead immediately (or ever) to implementation

It’s worth emphasizing that I think exploration does not necessarily have to lead to implementation – and, if it does, those two things might be separated by a great deal of time.

First off, it seems likely that exploration will uncover satisfactory workarounds for the problems, and thus require no change to the language. Or it might yield a lot of problems with the proposed solutions, such that none of them seem viable.

But it may also be that we find viable solutions, but the time is just not ripe. It’s often useful to do exploration just to get a better idea of what a solution might look like, even if we don’t plan to do that work immediately. Right now, we don’t really have a mechanism for that.

As an example, consider the idea of deeply integrating Rust with GPU computation. I would love to explore what it would take to permit a Rayon-like library (maybe Rayon itself!) to execute parallel iterators on GPUs. And yet, I doubt it would be worth actually implementing those changes immediately. But having some idea of the general shape of the changes we would need might help us avoid inadvertently messing things up; and when (if) it does come time to implement them, we’d have a head start.


If all of this sounds like a discussion you would like to take part in, stay tuned! I’ll post the initial meeting time here once it’s decided. (And feel free to say “hi!” on the #t-lang/wg-meta topic on Zulip.)


How does this interact with the not yet functional Governance wg? It seems like there might be some overlap, at least assuming that Lang team wgs should function similarly to wgs in other teams.


The kickoff meeting will be held Thursday at 13:00 UTC-04:00 (calendar event) – I imagine this will most likely be the time we use going forward, but not necessarily. If it does’t work for you, leave a note.

Here is a question for those who might like to attend:

Should we hold it over Zoom, or Zulip?

I am somewhat torn. I’ve noticed lately that Zulip meetings are often more accessible in a few ways:

  • Easier for people for whom English is not their first language
  • Automatic minutes (this doesn’t absolve us of the necessity to create a summary, it’s just easier to do it after the fact)
  • In a strange way, I feel that Zulip can be higher bandwidth, in that if people type at the same time, you can see both messages, whereas two people talking leads to conflict
  • I can listen to music at the same time :stuck_out_tongue:

But of course:

  • Speech carries a lot of information that text cannot convey, particularly emotional content
  • Easier to convey subtlety
1 Like

There is great intersection. I’ve encouraged the initial set of people in the “still forming” governance WG to attend.

On the topic of the governance WG, the plan is to start some public activity Real Soon Now (this is mostly about people being busy). I think it’s overdue, but folks have just been real busy. One thing we’ve been discussing is what our charter ought to be; I think it’s clear a big part of the vision will be to participate in the efforts by teams to adjust their governance and try to “cross-fertilize” good ideas between them, eventually settling on some kind of guidance and best practices for people to draw on.

1 Like

in general for meetings like this, Zulip works better for me, partly because it permits me to leave my computer for a few minutes (or longer), then return and catch up. On Zoom I have to either 1) attend the entire meeting in real time, or 2) leave, wait for the video to be posted, then take the time to watch it, often while fielding other interruptions.

1 Like

I remember now another reason that people often say they prefer Zulip, which is that it works better at work. =)

(Which I think corresponds to your point, @Tom-Phinney-- basically, easier to follow along and multitask a bit)


Or in my case, at home (I’m retired) when I get a priority override from the boss. On Zoom it’s either realtime participating or delayed viewing; Zulip also facilitates resumed participation after a distraction.


(Aside from strongly disliking Zulip’s UX…) I prefer using Zoom for this as it sync text isn’t conducive to elaborate and deeper thinking.

I think this is important here.


Yes, this is reasonable. e.g., we can give an idea easily and speedily using Zoom(voice) so we can promote the discussion.

However, using Zulip(text), we wouldn’t miss any points in the meeting. And the best thing is to be able to feel free to attend the meeting, I think.


The meetings are recorded.

1 Like

I’m in UTC+10, so it’s very unlikely I’ll be able to attend any meetings, which is fine, I prefer async discussion. I’m happy to watch videos of meetings to catch up.

I’d like to build/contribute to a platform that facilitates these phases of exploration, design and consensus building. One that scales to very large numbers of participants.

The idea is to encourage effective interactions that generate progress. This will take time and experimentation before it’s useful. Maybe one day it’ll be so good it could be repurposed for democratic policy design in our politically/emotionally charged societies.


Watching recorded videos is a super-unproductive and unfriendly way to absorb information though. People who have to follow along by watching video from recorded meetings are decided second-class IMO.


I’m not sure I agree, but I think this is probably the most important point. I’ve found that Zulip discussions, e.g. the compiler-team steering meetings, are often really productive.

With respect to the other comments on the thread, I consider it a definite bonus if as many people as possible can follow along. But I think it’s only one of many considerations – the quality of the conversation strikes me as paramount, particularly for the “main participants” (which I think is going to be largely the team members, though hopefully not limited to them).

One thing I would say is that I do not consider Zoom recordings (nor Zulip transcripts!) to be adequate “minutes”. I think it’s important that whichever venue we choose, we take some time after the meeting to try and summarize the major points. I would hope that people who are not able to attend the meeting, and who don’t wish to watch the video, can read those summaries, and leave comments to add to the conversation. I’d like to find a way to weave this “minute creation” into the discussion itself.


I’ve been giving this some thought. I think we might as well start out with Zoom for the first few meeting. It seems like both @Centril and @josh (from private communication) lean that way, and I personally am feeling a bit “unsure” about this one.

To elaborate a bit more:

I’ve found that I tend to prefer text-based communication a lot of the time – but not always. And one of the scenarios where I think voice-based can work better is during “exploration”, where the focus of the meeting is less clear (though sometimes text-based works great here too). That seems to fit the topic of these first few meetings in particular.

To that end, I’ve amended the meeting invite with a Zoom link.