3 December 2019
I want to write about an idea that Josh Triplett and I have been
iterating on to revamp the lang team RFC process. I have written a
draft of an RFC already, but this blog post aims to introduce the
idea and some of the motivations. The key idea of the RFC is formalize
the steps leading up to an RFC, as well as to capture the lang team
operations around project groups. The hope is that, if this
process works well, it can apply to teams beyond the lang team as
well.
read more →
11 September 2019
I would like to describe an idea that’s been kicking around in my
head. I’m calling this idea “shepherds 3.0” – the 3.0 is to
distinguish it from the other places we’ve used the term in the past.
This proposal actually supplants both of the previous uses of the
term, replacing them with what I believe to be a preferred alternative
(more on that later).
Caveat
This is an idea that has been kicking around in my head for a while.
It is not a polished plan and certainly not an accepted one. I’ve not
talked it over with the rest of the lang team, for example. However, I
wanted to put it out there for discussion, and I do think we should be
taking some step in this direction soon-ish.
read more →
10 July 2019
I have been thinking about how language feature development works in
Rust. I wanted to write a post about what I see as one of the
key problems: too much concurrency in our design process, without any
kind of “back-pressure” to help keep the number of “open efforts”
under control. This setup does enable us to get a lot of things done sometimes,
but I believe it also leads to a number of problems.
read more →
26 April 2019
On internals, I just announced the formation of the
language-design team meta working group. The role of the meta working
group is to figure out how other language-design team working groups
should work. The plan is to begin by enumerating some of our goals –
the problems we aim to solve, the good things we aim to keep – and
then move on to draw up more details plans. I expect this discussion
will intersect the RFC process quite heavily (at least when it comes
to language design changes). Should be interesting! It’s all happening
in the open, and a major goal of mine is for this to be easy to follow
along with from the outside – so if talking about talking is your
thing, you should check it out.
read more →
22 April 2019
In my previous post, I talked about the idea of mapping the
solution space:
When we talk about the RFC process, we always emphasize that the point
of RFC discussion is not to select the best answer; rather, the
point is to map the solution space. That is, to explore what the
possible tradeoffs are and to really look for alternatives. This
mapping process also means exploring the ups and downs of the current
solutions on the table.
read more →
19 April 2019
In the talk I gave at Rust LATAM, I said that the Rust project has
always emphasized finding the best solution, rather than winning the
argument. I think this is one of our deepest values. It’s also one
of the hardest for us to uphold.
Let’s face it – when you’re having a conversation, it’s easy to get
attached to specific proposals. It’s easy to have those proposals
change from “Option A” vs “Option B” to “my option” and “their
option”. Once this happens, it can be very hard to let them “win”
– even if you know that both options are quite reasonable.
read more →