Stream: t-compiler/meetings

Topic: [design meeting] 2020-09-18 -- MCP Retrospective


nikomatsakis (Sep 18 2020 at 09:39, on Zulip):

Hey @T-compiler/meeting -- there is a design meeting planned for today at . The topic is "MCP Retrospective". I've prepared a summary of the survey that we did. Based on the results, the clearest bit of feedback was that we need to revise the system to help in discarding MCPs and registering/resolving concerns. Let's focus on that. Here is a proposed agenda:

LeSeulArtichaut (Sep 18 2020 at 10:14, on Zulip):

About note-taking, should we use this meeting to also try something?

nikomatsakis (Sep 18 2020 at 14:00, on Zulip):

@LeSeulArtichaut like what?

nikomatsakis (Sep 18 2020 at 14:00, on Zulip):

Like having somebody pre-assigned to take minutes? :)

nikomatsakis (Sep 18 2020 at 14:00, on Zulip):

(speaking of which, I never have had time to do last week)

pnkfelix (Sep 18 2020 at 14:02, on Zulip):

I'd suggest we not wait to see what @LeSeulArtichaut was thinking of, just to avoid unneeded delay

nikomatsakis (Sep 18 2020 at 14:02, on Zulip):

Well, @T-compiler/meeting, :wave: to show you're here! Design meeting on MCP retrospective.

Announcements

pnkfelix (Sep 18 2020 at 14:02, on Zulip):

(if someone wants to volunteer to dedicate themselves to take minutes, please free free to say so in channel, I think. And maybe just grab a hackmd link and post it when you do.)

nikomatsakis (Sep 18 2020 at 14:03, on Zulip):

I was going to append notes to the hackmd here

pnkfelix (Sep 18 2020 at 14:03, on Zulip):

(that works too)

pnkfelix (Sep 18 2020 at 14:04, on Zulip):

I just realized one detail

pnkfelix (Sep 18 2020 at 14:04, on Zulip):

the "are you about able to keep up with major changes" question

nikomatsakis (Sep 18 2020 at 14:04, on Zulip):

(I suggest people skim that hackmd if they haven't already)

nikomatsakis (Sep 18 2020 at 14:04, on Zulip):

s/about/able?

pnkfelix (Sep 18 2020 at 14:04, on Zulip):

I interpreted that as asking if one is able to keep up with the number of MCPs that are being approved.

pnkfelix (Sep 18 2020 at 14:04, on Zulip):

but its possible (Maybe?) to read that as asking whether you are able to keep up with the pace of proposals

Wesley Wiser (Sep 18 2020 at 14:05, on Zulip):

@nikomatsakis To be clear, you'd like the meeting notes/minutes at the end of the linked hackmd?

nikomatsakis (Sep 18 2020 at 14:05, on Zulip):

That's what I would do, because then we can just export the complete thing as our record

Wesley Wiser (Sep 18 2020 at 14:05, on Zulip):

Ok, I'll take the minutes

nikomatsakis (Sep 18 2020 at 14:06, on Zulip):

ok, well, let's start!

nikomatsakis (Sep 18 2020 at 14:06, on Zulip):

I had allocated 5 minutes for questions or clarifications about the contents of the hackmd

nikomatsakis (Sep 18 2020 at 14:06, on Zulip):

Are there any? :)

pnkfelix (Sep 18 2020 at 14:07, on Zulip):

well

pnkfelix (Sep 18 2020 at 14:07, on Zulip):

I had one point of potential elaboration

pnkfelix (Sep 18 2020 at 14:07, on Zulip):

I was thinking about this: " There is some feeling of “we have already gone through a week-long waiting period”, where were you then?"

pnkfelix (Sep 18 2020 at 14:07, on Zulip):

in general I think I want to encourage feedback, even if its "late"

nikomatsakis (Sep 18 2020 at 14:08, on Zulip):

My hunch is that it depends on the MCP

nikomatsakis (Sep 18 2020 at 14:08, on Zulip):

e.g., when we were talking about renaming directories

simulacrum (Sep 18 2020 at 14:08, on Zulip):

I will say -- I personally felt this way on the directory renaming MCP(s)

pnkfelix (Sep 18 2020 at 14:08, on Zulip):

but I also think some kinds of feedback should be given more weight than others when it arrives late

pnkfelix (Sep 18 2020 at 14:08, on Zulip):

E.g. "this is too broad a change"

pnkfelix (Sep 18 2020 at 14:09, on Zulip):

that's something that I think it makes sense to say "well it was proposed and approved by MCP process"

Joshua Nelson (Sep 18 2020 at 14:09, on Zulip):

pnkfelix said:

I was thinking about this: " There is some feeling of “we have already gone through a week-long waiting period”, where were you then?"

same for the x.py defaults MCP

nikomatsakis (Sep 18 2020 at 14:09, on Zulip):

mm that gives me an idea we can kind of add, which is that maybe we need to adjust the instructions to have a "FAQ" about this point in particular

Joshua Nelson (Sep 18 2020 at 14:09, on Zulip):

I think the issue is that people are affected but don't see the MCP

pnkfelix (Sep 18 2020 at 14:09, on Zulip):

unless one can argue that the original MCP was not clear about how broad the change would be

Joshua Nelson (Sep 18 2020 at 14:09, on Zulip):

especially since the MCPs say 'compiler-team' but really affect more people than that

pnkfelix (Sep 18 2020 at 14:10, on Zulip):

its possible that's an issue in itself

pnkfelix (Sep 18 2020 at 14:10, on Zulip):

the compiler-team has agreed to take over maintenance of stdlib

nikomatsakis (Sep 18 2020 at 14:10, on Zulip):

only somewhat I guess

nikomatsakis (Sep 18 2020 at 14:10, on Zulip):

right, that's what I meant

pnkfelix (Sep 18 2020 at 14:10, on Zulip):

to me, that was a big reason why we had a lot of say in the directory organization

nikomatsakis (Sep 18 2020 at 14:10, on Zulip):

(side note that I do feel like that if this setup sticks, the "implementation team" might be a better name, but anyway)

nikomatsakis (Sep 18 2020 at 14:11, on Zulip):

anyway, ok, it seems like we're drifting into the main agenda, so let's get to it

nikomatsakis (Sep 18 2020 at 14:11, on Zulip):

if there aren't more questions/clarifications

pnkfelix (Sep 18 2020 at 14:11, on Zulip):

anyway, this is all a way of me to ask "should we have official guidance as to what kinds of feedback are discouraged late in process"

pnkfelix (Sep 18 2020 at 14:11, on Zulip):

or should we just play it by ear...

simulacrum (Sep 18 2020 at 14:11, on Zulip):

I think we can't play it by ear

nikomatsakis (Sep 18 2020 at 14:12, on Zulip):

My sense was that by far the most common feedback was

simulacrum (Sep 18 2020 at 14:12, on Zulip):

without a document to point to, saying "don't give feedback" is not going to go over well

pnkfelix (Sep 18 2020 at 14:13, on Zulip):

those three bullets sound good. Feedback includes concerns

nikomatsakis (Sep 18 2020 at 14:13, on Zulip):

The first bullet is "trivially" solvable by just closing MCPs after some time

pnkfelix (Sep 18 2020 at 14:13, on Zulip):

(so the issue of "what about concerns posted post acceptance" goes with 3rd bullet)

nikomatsakis (Sep 18 2020 at 14:13, on Zulip):

Presumably with a warning and special announcement in the meeting

pnkfelix (Sep 18 2020 at 14:13, on Zulip):

heh

nikomatsakis (Sep 18 2020 at 14:13, on Zulip):

Maybe not the most satisfactory answer -- but maybe not the worst :)

pnkfelix (Sep 18 2020 at 14:14, on Zulip):

so maybe we need a "keep-alive" signal or something

pnkfelix (Sep 18 2020 at 14:14, on Zulip):

e.g. I still want to address the quiery MCP

nikomatsakis (Sep 18 2020 at 14:14, on Zulip):

Sure, I think that some team member or contributor could leave a comment saying "give me a bit more time"

pnkfelix (Sep 18 2020 at 14:14, on Zulip):

but I don't want to second it as it stands

nikomatsakis (Sep 18 2020 at 14:14, on Zulip):

The act of having to do that repeatedly is probably good :)

Joshua Nelson (Sep 18 2020 at 14:14, on Zulip):

'needs changes'

nikomatsakis (Sep 18 2020 at 14:14, on Zulip):

like, it shouldn't give you infinite time

pnkfelix (Sep 18 2020 at 14:14, on Zulip):

we don't have a way currently to mark something with "this has identified an important problem that we should resolve; but I do not want to approve teh solution as written"

nikomatsakis (Sep 18 2020 at 14:15, on Zulip):

Yeah. I guess I would be tempted to say that the answer is "just close it"

nikomatsakis (Sep 18 2020 at 14:15, on Zulip):

and leave a comment to that effect ;)

nikomatsakis (Sep 18 2020 at 14:16, on Zulip):

(and then hopefully work will proceed to find a new solution)

pnkfelix (Sep 18 2020 at 14:16, on Zulip):

but we don't have a way to track or advertise that work to-be-done. :sad:

pnkfelix (Sep 18 2020 at 14:16, on Zulip):

(other than opening yet another issue somewhere?)

nikomatsakis (Sep 18 2020 at 14:16, on Zulip):

yeah, that's a challenge, but also a benefit, in that we don't accumulate a lot of vague, unactionable issues

pnkfelix (Sep 18 2020 at 14:16, on Zulip):

true

pnkfelix (Sep 18 2020 at 14:17, on Zulip):

so instead those vague unactionable issues are just spread through word-of-mouth in our community?

pnkfelix (Sep 18 2020 at 14:17, on Zulip):

I guess that might be best, as bad as it sounds

nikomatsakis (Sep 18 2020 at 14:17, on Zulip):

The second bullet brought to my mind the idea that I've sometimes had of a "Technical Steering Committee" for the compiler -- the idea being that the team is big enough that we ought to push decision making to a smaller group, probably one that serves for a fixed time and rotates

nikomatsakis (Sep 18 2020 at 14:17, on Zulip):

pnkfelix said:

so instead those vague unactionable issues are just spread through word-of-mouth in our community?

so another thing might be a label that can be applied, so you can search for closed MCPs that meet this criteria

nikomatsakis (Sep 18 2020 at 14:18, on Zulip):

so it disappears from view but there are ways to find it later

Joshua Nelson (Sep 18 2020 at 14:18, on Zulip):

closed issues seem not very discoverable :/ maybe the issues could be left open with the new label?

pnkfelix (Sep 18 2020 at 14:18, on Zulip):

label:open-research-problem

simulacrum (Sep 18 2020 at 14:19, on Zulip):

I really don't want to keep these open

simulacrum (Sep 18 2020 at 14:19, on Zulip):

like, discovery of these does not feel high priority to me

pnkfelix (Sep 18 2020 at 14:19, on Zulip):

I can agree with that

pnkfelix (Sep 18 2020 at 14:19, on Zulip):

its one thing to have a way to direct people searching for problems to solve (by telling them to look at closed issues with a certain label)

pnkfelix (Sep 18 2020 at 14:19, on Zulip):

but that doesn't mean they should be in everyone's face all the time

nikomatsakis (Sep 18 2020 at 14:20, on Zulip):

I agree that I'm not too worried about discoverability. I think word of mouth is kind of ok for now.

simulacrum (Sep 18 2020 at 14:20, on Zulip):

and also searching for problems to solve for a good portion of contributors is not "let's go find a stale not-complete design"

simulacrum (Sep 18 2020 at 14:20, on Zulip):

like, I can't imagine that being a good thing to point new contributors to

nikomatsakis (Sep 18 2020 at 14:20, on Zulip):

Ideally, I think we'd be doing a better job defining our priorities in any case

nikomatsakis (Sep 18 2020 at 14:20, on Zulip):

and helping steer people towards them

nikomatsakis (Sep 18 2020 at 14:21, on Zulip):

I feel like for most folks who want to contribute, that is a better approach, and issues (whether MCP or otherwise) isn't the best.

nikomatsakis (Sep 18 2020 at 14:21, on Zulip):

Like part of the reason that it's sitting there with no comments

nikomatsakis (Sep 18 2020 at 14:21, on Zulip):

is that in reality there is no bandwidth to follow up on it

nikomatsakis (Sep 18 2020 at 14:21, on Zulip):

which is why I'm suggesting "close", and the way to follow up is to prove you have the bandwidth by putting in the time

pnkfelix (Sep 18 2020 at 14:22, on Zulip):

I'm okay with closing. We don't even need to have a label for "good problem but lukewarm solution"

pnkfelix (Sep 18 2020 at 14:22, on Zulip):

since then there'd be debate about when to apply it

pnkfelix (Sep 18 2020 at 14:22, on Zulip):

word-of-mouth is fine

nikomatsakis (Sep 18 2020 at 14:22, on Zulip):

I actually think some kind of label is not a bad idea

nikomatsakis (Sep 18 2020 at 14:23, on Zulip):

just because it can maybe take a bit of the "sting" out from closing

simulacrum (Sep 18 2020 at 14:23, on Zulip):

I think tracking "interesting problems" is perhaps not bad, but I might do something like the (not well-explored) lang team design tickets

nikomatsakis (Sep 18 2020 at 14:23, on Zulip):

but I doubt honestly it'll make much difference

pnkfelix (Sep 18 2020 at 14:23, on Zulip):

I suppose that's true

simulacrum (Sep 18 2020 at 14:23, on Zulip):

e.g., https://lang-team.rust-lang.org/design_notes/int_literal_as_float.html

pnkfelix (Sep 18 2020 at 14:23, on Zulip):

if a label makes it easier for us to close things

pnkfelix (Sep 18 2020 at 14:23, on Zulip):

then that's worthwhile

simulacrum (Sep 18 2020 at 14:23, on Zulip):

but that's orthogonal anyway

nikomatsakis (Sep 18 2020 at 14:23, on Zulip):

simulacrum said:

I think tracking "interesting problems" is perhaps not bad, but I might do something like the (not well-explored) lang team design tickets

hmm yes, I still like that idea, it's just been hard to really put in the time

nikomatsakis (Sep 18 2020 at 14:23, on Zulip):

but that's maybe somewhat orthogonal :)

pnkfelix (Sep 18 2020 at 14:23, on Zulip):

should we circle back to the technical steering commitee idea?

nikomatsakis (Sep 18 2020 at 14:24, on Zulip):

I do think it is useful to track interesting problems and the various stabs at them which have occurred

pnkfelix (Sep 18 2020 at 14:24, on Zulip):

or the general problem of "who resolves concerns" ?

simulacrum (Sep 18 2020 at 14:24, on Zulip):

yes, I think that would be good

nikomatsakis (Sep 18 2020 at 14:24, on Zulip):

Yes but before we do

nikomatsakis (Sep 18 2020 at 14:24, on Zulip):

it seemed like we had a consensus in this meeting that

nikomatsakis (Sep 18 2020 at 14:24, on Zulip):

we ought to close MCP issues if they aren't receiving comments, after some period of time

nikomatsakis (Sep 18 2020 at 14:24, on Zulip):

with the option for folks to leave a comment to keep it open

nikomatsakis (Sep 18 2020 at 14:24, on Zulip):

or perhaps just "if not seconded" -- I think ideally this would be automated

nikomatsakis (Sep 18 2020 at 14:25, on Zulip):

Are there folks present who object to that? (Think about it, can deliver objections async)

nikomatsakis (Sep 18 2020 at 14:25, on Zulip):

maybe I'll make an MCP for it ;)

nikomatsakis (Sep 18 2020 at 14:26, on Zulip):

but basically I wanted to record the "fragile consensus"

pnkfelix (Sep 18 2020 at 14:26, on Zulip):

yes this all sounds good

simulacrum (Sep 18 2020 at 14:26, on Zulip):

I think that's correct. I am not sure where such a comment should be left, but that's details

pnkfelix (Sep 18 2020 at 14:26, on Zulip):

the label thing can be separate, and also does not have to be coupled to the closing

nikomatsakis (Sep 18 2020 at 14:26, on Zulip):

ok so the next bullet was that it's hard to track concerns and tell when they're resolved

oli (Sep 18 2020 at 14:26, on Zulip):

Yea, autoclose on inactivity seems ok to me

nikomatsakis (Sep 18 2020 at 14:27, on Zulip):

the most obvious fix is to use @rfcbot concern foo

nikomatsakis (Sep 18 2020 at 14:27, on Zulip):

although I think we're using rustbot

nikomatsakis (Sep 18 2020 at 14:27, on Zulip):

but I feel like I've not loved that system of concerns with rfcbot necessarily

Joshua Nelson (Sep 18 2020 at 14:27, on Zulip):

nikomatsakis said:

the most obvious fix is to use @rfcbot concern foo

the problem is this requires people to know they're going to be affected ahead of time

simulacrum (Sep 18 2020 at 14:27, on Zulip):

wait, hold on, concern foo is a fix for what?

simulacrum (Sep 18 2020 at 14:27, on Zulip):

oh I see

pnkfelix (Sep 18 2020 at 14:27, on Zulip):

Note that rfcbot concern foo may be odd here, since the comment thread is not for tech discussion

nikomatsakis (Sep 18 2020 at 14:27, on Zulip):

I think @Joshua Nelson that this is more the third bullet, about people raising concerns after MCP is accepted

Joshua Nelson (Sep 18 2020 at 14:28, on Zulip):

right, I'm talking about that too

Joshua Nelson (Sep 18 2020 at 14:28, on Zulip):

https://github.com/rust-lang/rust/issues/76165#issuecomment-687615244 is an example of someone affected who would have had no idea this would impact them

pnkfelix (Sep 18 2020 at 14:28, on Zulip):

so you'd, what, link to a zulip chat or separate webpage post somewhere?

simulacrum (Sep 18 2020 at 14:28, on Zulip):

@pnkfelix it would be "easy-ish" to support doing that through zulip fwiw

nikomatsakis (Sep 18 2020 at 14:28, on Zulip):

pnkfelix said:

Note that rfcbot concern foo may be odd here, since the comment thread is not for tech discussion

I would find that it fits, personally, since I think it's an "important point" that rises above the noise

pnkfelix (Sep 18 2020 at 14:28, on Zulip):

I just meant that it seems like it would be likely to link off-site

nikomatsakis (Sep 18 2020 at 14:28, on Zulip):

Joshua Nelson said:

right, I'm talking about that too

ok, I was trying to focus on: concerns that are raised before FCP has completed

nikomatsakis (Sep 18 2020 at 14:29, on Zulip):

anyway we'd also have to answer "who can leave a concern"

Joshua Nelson (Sep 18 2020 at 14:29, on Zulip):

gotcha, sorry, will hold off on my comments then

simulacrum (Sep 18 2020 at 14:29, on Zulip):

I think the more interesting bit is that for rfcbot, concerns can only be registered by the people ticking checkboxes, and those people are usually a small group

simulacrum (Sep 18 2020 at 14:29, on Zulip):

(and have regular meetings etc)

simulacrum (Sep 18 2020 at 14:29, on Zulip):

so resolving those concerns can happen by talking it over, or similar

pnkfelix (Sep 18 2020 at 14:29, on Zulip):

and they themselves are the only ones who can resolve their concern

nikomatsakis (Sep 18 2020 at 14:29, on Zulip):

yes. I feel like compiler team + contributors might be a decent group but I do feel like we often have a bit of a blurrier boundary

pnkfelix (Sep 18 2020 at 14:29, on Zulip):

I think in this case, we would not be able to do that

nikomatsakis (Sep 18 2020 at 14:30, on Zulip):

pnkfelix said:

and they themselves are the only ones who can resolve their concern

(this drives me crazy btw I think we should fix this, though of course the idea would be that you don't abuse it)

simulacrum (Sep 18 2020 at 14:30, on Zulip):

whereas here -- at least historically -- most concerns that I've hesitated to just "resolve" are raised by folks not on the compiler team

pnkfelix (Sep 18 2020 at 14:30, on Zulip):

in that I don't think we can afford to both allow feedback from arbitrary contributors while also blocking on the same contributor hitting resolve

nikomatsakis (Sep 18 2020 at 14:30, on Zulip):

this is partly why I was thinking that -- hmm -- it'd be maybe kind of useful to have a smaller set of folks that try to resolve conflicts one way or the other

pnkfelix (Sep 18 2020 at 14:30, on Zulip):

The obvious answer to is to let a separate group resolve it

pnkfelix (Sep 18 2020 at 14:30, on Zulip):

the main problem with that is just whether that group understands the concern as described

pnkfelix (Sep 18 2020 at 14:31, on Zulip):

(which is the main reason why one would choose to let resolution lie in the hands of the person who posted the concern in the first place, from what I can tell)

nikomatsakis (Sep 18 2020 at 14:31, on Zulip):

I'm a bit worried because I think this role would be potentially time-consuming, but I also think it could be really great for us

nikomatsakis (Sep 18 2020 at 14:32, on Zulip):

probably it's too big an idea to float in this retro meeting :) it keeps coming to mind for me though. Like also around questions of setting our roadmaps and agendas. It may be that it has to wait until we achieve more paid folks working on rustc.

simulacrum (Sep 18 2020 at 14:32, on Zulip):

I personally think in order for it to work well, we need a sync "resolution committee" meeting

pnkfelix (Sep 18 2020 at 14:32, on Zulip):

we would also need to be very clear, when resolving concerns, about whether we are hitting "resolved" because of changes that did address the concern, versus whether we are hitting "resolved" because we do not believe the concern is worth blocking the MCP

nikomatsakis (Sep 18 2020 at 14:32, on Zulip):

Yes, [sync meeting] is kind of what I am saying, I guess you could have a narrowed TSC role in any case, that is focused just on understanding and resolving concerns

nikomatsakis (Sep 18 2020 at 14:33, on Zulip):

I would imagine that in resolving a concern you would kind of restate the concern and state why it's been resolved

nikomatsakis (Sep 18 2020 at 14:33, on Zulip):

and of course folks can raise a fresh concern if they feel you missed something

nikomatsakis (Sep 18 2020 at 14:33, on Zulip):

and you can resolve it if you disagree :)

nikomatsakis (Sep 18 2020 at 14:33, on Zulip):

/me starts pondering DOS attacks on the MCP system :)

oliver (Sep 18 2020 at 14:35, on Zulip):

I guess that's part of the issue is feeling like you need to be able to cover the entire surface area of Rust

nikomatsakis (Sep 18 2020 at 14:35, on Zulip):

I feel like such a committee with a sync meeting might also help with "Garbage collecting" stale MCPs or closing ideas too

nikomatsakis (Sep 18 2020 at 14:35, on Zulip):

Yeah, it will definitely be true that sometimes there are really detailed concerns that are outside the depth

nikomatsakis (Sep 18 2020 at 14:35, on Zulip):

but I imagine those are not the biggest issue..? maybe it'd be good to get a sense for what sorts of concerns people are most concerned about

pnkfelix (Sep 18 2020 at 14:36, on Zulip):

but at the point we have to trust the TSC to be able to recognize that they are out of their depth, and ask questions?

simulacrum (Sep 18 2020 at 14:36, on Zulip):

hm, I am not sure that I see that as a problem

nikomatsakis (Sep 18 2020 at 14:36, on Zulip):

yeah, I'm not so worried about it. I feel like those "in depth" concerns are rarely rancorous

oliver (Sep 18 2020 at 14:37, on Zulip):

How many MCPs on their face-value it's clear whether or not they are suitable for adoption?

nikomatsakis (Sep 18 2020 at 14:37, on Zulip):

simulacrum said:

hm, I am not sure that I see that as a problem

can you elaborate what you do see as a problem, @simulacrum ?

simulacrum (Sep 18 2020 at 14:37, on Zulip):

I don't see us having a TSC or similar for a while yet, as you say, I feel like we just don't have bandwidth for that work

pnkfelix (Sep 18 2020 at 14:38, on Zulip):

well in the absence of a TSC, what do we do?

nikomatsakis (Sep 18 2020 at 14:38, on Zulip):

(the term TSC is probably also too broad, since I was imagining a narrower scope, but basically people who are shepherding along rustc's overall architecture)

simulacrum (Sep 18 2020 at 14:38, on Zulip):

I'm not saying I have an alternative

pnkfelix (Sep 18 2020 at 14:38, on Zulip):

try to close MCP's during weekly meeting?

nikomatsakis (Sep 18 2020 at 14:38, on Zulip):

(not e.g. rust as a product, which is something else I think about from time to time :)

pnkfelix (Sep 18 2020 at 14:38, on Zulip):

or sorry,w we're already auto-closing

pnkfelix (Sep 18 2020 at 14:38, on Zulip):

I meant "try to resolve concerns during weekly meeting." (not bloody likely)

simulacrum (Sep 18 2020 at 14:38, on Zulip):

I'm just saying that -- from what I can see -- no compiler team (/contributor) member has bandwidth to participate in this meeting

nikomatsakis (Sep 18 2020 at 14:39, on Zulip):

Yeah, I don't disagree. At least, not at this time.

simulacrum (Sep 18 2020 at 14:40, on Zulip):

maybe an alternative is to just empower any compiler team contributor or member to "veto" a concern or MCP

pnkfelix (Sep 18 2020 at 14:40, on Zulip):

in the absence of a TSC, should we still impleent a concern-registering bot ?

oliver (Sep 18 2020 at 14:40, on Zulip):

simulacrum said:

maybe an alternative is to just empower any compiler team contributor or member to "veto" a concern or MCP

I agree with this concept, or have a very early vote of suitability based on like the title of the issue only or something

pnkfelix (Sep 18 2020 at 14:41, on Zulip):

I suspect I'd prefer the veto-power be kept in the hands of (full) team members

nikomatsakis (Sep 18 2020 at 14:41, on Zulip):

hmm so

nikomatsakis (Sep 18 2020 at 14:41, on Zulip):

I think I would like a "second" system that can also designate for closing

nikomatsakis (Sep 18 2020 at 14:41, on Zulip):

(I'd like this for rfcbot, too)

nikomatsakis (Sep 18 2020 at 14:41, on Zulip):

i.e., rather than just insta-close

nikomatsakis (Sep 18 2020 at 14:42, on Zulip):

I'd feel better about writing @rustbot close and then it is closed a week later

simulacrum (Sep 18 2020 at 14:42, on Zulip):

yes, something like that perhaps...

nikomatsakis (Sep 18 2020 at 14:42, on Zulip):

I think it feels better, for one thing, but I also think it's good to give people room to leave feedback

pnkfelix (Sep 18 2020 at 14:42, on Zulip):

wait, "rustbot close concern", right?

nikomatsakis (Sep 18 2020 at 14:42, on Zulip):

I suspect it will very rarely be reversed

nikomatsakis (Sep 18 2020 at 14:42, on Zulip):

I think we're kind of mixing two things

nikomatsakis (Sep 18 2020 at 14:42, on Zulip):
oliver (Sep 18 2020 at 14:42, on Zulip):

a "not-inline-with-current-objectives" tag?

nikomatsakis (Sep 18 2020 at 14:42, on Zulip):
nikomatsakis (Sep 18 2020 at 14:43, on Zulip):

like, we say that any team member can "second" a MCP

nikomatsakis (Sep 18 2020 at 14:43, on Zulip):

but we didn't say (I don't recall) who can close one

pnkfelix (Sep 18 2020 at 14:43, on Zulip):

and marking concerns as resolved is a third bullet, yes?

nikomatsakis (Sep 18 2020 at 14:43, on Zulip):

and how much consensus they need to do so

nikomatsakis (Sep 18 2020 at 14:43, on Zulip):

yes, that's right. I do think having anyone be able to raise and resolve a concern would be fine

pnkfelix (Sep 18 2020 at 14:43, on Zulip):

or are you lumping "resolving/vetoing concerns" in with your "veto or close" bullet?

nikomatsakis (Sep 18 2020 at 14:43, on Zulip):

and we expect people to be respectful and not resolve other people's concerns if they don't understand them

nikomatsakis (Sep 18 2020 at 14:44, on Zulip):

I can even imagine something like:

nikomatsakis (Sep 18 2020 at 14:44, on Zulip):

somebody raises a concern and says "I don't know a lot about the trait system, but this worries me; @nikomatsakis or @Matthew Jasper can you weigh in?"

nikomatsakis (Sep 18 2020 at 14:44, on Zulip):

something like that :)

nikomatsakis (Sep 18 2020 at 14:44, on Zulip):

I would find that helpful, since I am currently not able to keep up with most MCPs either ;)

pnkfelix (Sep 18 2020 at 14:45, on Zulip):

okay. I do like this idea of reusing the "second" approach

pnkfelix (Sep 18 2020 at 14:45, on Zulip):

where instead of instantly changing the state of the system

pnkfelix (Sep 18 2020 at 14:46, on Zulip):

its more that it's on some trajectory, and each "second"-like command nudges it in a direction

nikomatsakis (Sep 18 2020 at 14:46, on Zulip):

I do have some vague worry that we've evolved a parallel "similar but different" rfcbot system

nikomatsakis (Sep 18 2020 at 14:46, on Zulip):

( the truth is I think rfcbot should be replaced with a second system, though )

pnkfelix (Sep 18 2020 at 14:46, on Zulip):

right, I see this as an evolution

pnkfelix (Sep 18 2020 at 14:46, on Zulip):

ultron style

simulacrum (Sep 18 2020 at 14:47, on Zulip):

Yeah, though I think rfcbot's system is necessary -- e.g., I wouldn't want a seconding system for core team decisions :)

nikomatsakis (Sep 18 2020 at 14:47, on Zulip):

but let's lay it out. it sounds like we had:

nikomatsakis (Sep 18 2020 at 14:47, on Zulip):

simulacrum said:

Yeah, though I think rfcbot's system is necessary -- e.g., I wouldn't want a seconding system for core team decisions :)

yeah it's complex. sometimes I want checkboxes. but a lot of things want seconds. it'd be nice to unify them somewhat into one conceptual thing, but that's for another day

nikomatsakis (Sep 18 2020 at 14:49, on Zulip):

nikomatsakis said:

but let's lay it out. it sounds like we had:

nikomatsakis (Sep 18 2020 at 14:49, on Zulip):

I maybe added a bit of extra stuff there :)

nikomatsakis (Sep 18 2020 at 14:49, on Zulip):

but it seemed like what you'd need to make the system coherent and cover the full lifecycle

nikomatsakis (Sep 18 2020 at 14:50, on Zulip):

I imagine that each of those comments would also post into the zulip thread, and maybe you can originate them from zulip too and it cross-posts

nikomatsakis (Sep 18 2020 at 14:50, on Zulip):

that's bot magic and it's beyond me :P

simulacrum (Sep 18 2020 at 14:50, on Zulip):

seems easy-ish to do either

pnkfelix (Sep 18 2020 at 14:51, on Zulip):

this may be bleeding into the next agenda item, but: Is your thinking that this same system would be used for tracking concerns post-acceptance ?

nikomatsakis (Sep 18 2020 at 14:52, on Zulip):

oops, we're 52 minutes in

nikomatsakis (Sep 18 2020 at 14:52, on Zulip):

I guess let's turn to that last item :)

nikomatsakis (Sep 18 2020 at 14:52, on Zulip):

in answer to your question, I was not thinking that

simulacrum (Sep 18 2020 at 14:52, on Zulip):

so -- one question -- should I spend time implementing that system in rustbot perhaps?

nikomatsakis (Sep 18 2020 at 14:53, on Zulip):

I was imagining that we would discourage folks from raising concerns post MCP officially, unless they felt those concerns were particularly important

pnkfelix (Sep 18 2020 at 14:53, on Zulip):

hmm.

nikomatsakis (Sep 18 2020 at 14:54, on Zulip):

simulacrum said:

so -- one question -- should I spend time implementing that system in rustbot perhaps?

I'd be in favor, we could describe it in an MCP as I mentioned earlier, just to flesh it out and have some wider exposure

nikomatsakis (Sep 18 2020 at 14:54, on Zulip):

but I can't imagine people objecting in particular

nikomatsakis (Sep 18 2020 at 14:54, on Zulip):

but there might be some improvements or other thoughts

simulacrum (Sep 18 2020 at 14:54, on Zulip):

okay, let's wait for an MCP and I might take a stab at some parts in the meantime

nikomatsakis (Sep 18 2020 at 14:54, on Zulip):

nikomatsakis said:

I was imagining that we would discourage folks from raising concerns post MCP officially, unless they felt those concerns were particularly important

I wish I could elaborate better on what is "particularly" important

nikomatsakis (Sep 18 2020 at 14:55, on Zulip):

cc @Joshua Nelson :)

nikomatsakis (Sep 18 2020 at 14:55, on Zulip):

though I guess maybe we should discuss this in another time, as the meeting is basically over

simulacrum (Sep 18 2020 at 14:55, on Zulip):

I think it basically means -- don't bikeshed after MCP. At least to me.

nikomatsakis (Sep 18 2020 at 14:55, on Zulip):

yeah, that's what I think too

nikomatsakis (Sep 18 2020 at 14:55, on Zulip):

like if it's about user-visible functionality, performance, etc, that's one thing

nikomatsakis (Sep 18 2020 at 14:55, on Zulip):

though in some cases there may be room there too to be like "we thought about this and decided to do it"

Joshua Nelson (Sep 18 2020 at 14:55, on Zulip):

I don't think this is bikeshedding really

nikomatsakis (Sep 18 2020 at 14:55, on Zulip):

it comes down I guess to whether this is a new concern or just an old concern from new people?

Joshua Nelson (Sep 18 2020 at 14:56, on Zulip):

it's someone who didn't see the MCP

pnkfelix (Sep 18 2020 at 14:56, on Zulip):

so that's an issue then

pnkfelix (Sep 18 2020 at 14:56, on Zulip):

if we aren't advertising the MCP's that are in FCP

pnkfelix (Sep 18 2020 at 14:56, on Zulip):

well enough

nikomatsakis (Sep 18 2020 at 14:56, on Zulip):

it can also happen because folks are on vacation or whatever, certainly

pnkfelix (Sep 18 2020 at 14:56, on Zulip):

I guess it needs to be broadcasted more heavily outside of compiler-team meetings?

pnkfelix (Sep 18 2020 at 14:56, on Zulip):

(does TWIR currently cover them?)

nikomatsakis (Sep 18 2020 at 14:57, on Zulip):

I forget, I remember mentioning it to @Nell Shamrell-Harrington at some point, but I think that no matter what some stuff will always be missed by people.

Joshua Nelson (Sep 18 2020 at 14:57, on Zulip):

no, it only shows FCPs and RFC it looks like

Joshua Nelson (Sep 18 2020 at 14:57, on Zulip):

(e.g. https://this-week-in-rust.org/blog/2020/09/16/this-week-in-rust-356/)

nikomatsakis (Sep 18 2020 at 14:57, on Zulip):

technically these are in "fcp"-- the write github query ought to find them...

simulacrum (Sep 18 2020 at 14:58, on Zulip):

In some sense part of me wants to say that since MCPs are specifically intended to be lightweight an reversible...

pnkfelix (Sep 18 2020 at 14:58, on Zulip):

nikomatsakis said:

I forget, I remember mentioning it to Nell Shamrell-Harrington at some point, but I think that no matter what some stuff will always be missed by people.

yes, we probably cannot possibly catch all cases. but it soundslike we can do better.

Wesley Wiser (Sep 18 2020 at 14:58, on Zulip):

At least with some of the recent changes to ./x.py and the repo layout, there's a pretty large pool of semi-frequent contributors that had the rug pulled out from under them so to speak :)

I doubt many of them watch the compiler-team repo.

simulacrum (Sep 18 2020 at 14:58, on Zulip):

I do wonder if those changes wanted a full RFC

pnkfelix (Sep 18 2020 at 14:58, on Zulip):

simulacrum said:

In some sense part of me wants to say that since MCPs are specifically intended to be lightweight an reversible...

well it depends if one thinks the directory rename was "lightweight and reversible"

nikomatsakis (Sep 18 2020 at 14:58, on Zulip):

I was just wondering that

nikomatsakis (Sep 18 2020 at 14:58, on Zulip):

maybe that's the lesson

nikomatsakis (Sep 18 2020 at 14:58, on Zulip):

those changes were too big

pnkfelix (Sep 18 2020 at 14:58, on Zulip):

hmm

simulacrum (Sep 18 2020 at 14:59, on Zulip):

like, a directory rename feels "light" because it doesn't touch code

nikomatsakis (Sep 18 2020 at 14:59, on Zulip):

or maybe it's just "ok"

nikomatsakis (Sep 18 2020 at 14:59, on Zulip):

I guess I've been kind of absent and I don't know how upset folks were

Joshua Nelson (Sep 18 2020 at 14:59, on Zulip):

pretty upset :/

nikomatsakis (Sep 18 2020 at 14:59, on Zulip):

there is also the option of IntoRust blog posts

nikomatsakis (Sep 18 2020 at 14:59, on Zulip):

(I saw one for the x.py changes?)

Joshua Nelson (Sep 18 2020 at 14:59, on Zulip):

like I think Vadim Petrochenkov is still pretty unhappy with the x.py changes

nikomatsakis (Sep 18 2020 at 14:59, on Zulip):

I guess the two cases are distinct, too

nikomatsakis (Sep 18 2020 at 15:00, on Zulip):

x.py feels "more" substantial to me than libstd => library

Wesley Wiser (Sep 18 2020 at 15:00, on Zulip):

Honestly, I would say "no". ./x.py and repo layout concerns don't affect anyone other than contributors to rust-lang/rust. I don't think we need to ask the wider rust community for comments (which is often what happens to easily bikeshed-able RFCs).

nikomatsakis (Sep 18 2020 at 15:00, on Zulip):

yeah, that's a concern. I used to be super pro RFC but I've started to think it's really good to think about the audience

nikomatsakis (Sep 18 2020 at 15:00, on Zulip):

that said, we could have done a rfcbot fcp merge to get checkboxes

Wesley Wiser (Sep 18 2020 at 15:00, on Zulip):

But it does seem like we might have wanted to do a full FCP for those MCPs

Wesley Wiser (Sep 18 2020 at 15:01, on Zulip):

(Too many TLAs)

nikomatsakis (Sep 18 2020 at 15:01, on Zulip):

is there a general rule we can elaborate ?

simulacrum (Sep 18 2020 at 15:01, on Zulip):

I do wonder if ... there are conflicting veto/second notes, we move to full FCP immediately no questions asked

nikomatsakis (Sep 18 2020 at 15:01, on Zulip):

what makes those different from other changes?

nikomatsakis (Sep 18 2020 at 15:01, on Zulip):

ooh, that's an interesting thought

simulacrum (Sep 18 2020 at 15:01, on Zulip):

it seems pretty clear on both these changes that there would have been, had we had that process

simulacrum (Sep 18 2020 at 15:01, on Zulip):

(given enough time/awareness at least)

nikomatsakis (Sep 18 2020 at 15:02, on Zulip):

I sort of like it, except that I think it's a bit of disincentive

Joshua Nelson (Sep 18 2020 at 15:02, on Zulip):

I would have been fine waiting longer/addressing more comments for the x.py changes, rather than having people upset about it after the fact

pnkfelix (Sep 18 2020 at 15:02, on Zulip):

what does it deincentivize?

simulacrum (Sep 18 2020 at 15:02, on Zulip):

in the sense that it discourages voting because you're the cause of the "big process"?

Joshua Nelson (Sep 18 2020 at 15:02, on Zulip):

it feels really discouraging after the fact, like the changes were bad :/

simulacrum (Sep 18 2020 at 15:04, on Zulip):

anyway -- we're over time

simulacrum (Sep 18 2020 at 15:04, on Zulip):

let's call the meeting here?

Wesley Wiser (Sep 18 2020 at 15:04, on Zulip):

While I'm not sure the current state is the best possible one, I believe it's better than the old one and for me that makes the changes good! In general, we don't seem to have a philosophy of perfection but we do want everything to be moving in a positive direction.

pnkfelix (Sep 18 2020 at 15:05, on Zulip):

"worse is better" strikes again

nikomatsakis (Sep 18 2020 at 15:05, on Zulip):

(Sorry, got called away!)

nikomatsakis (Sep 18 2020 at 15:05, on Zulip):

I agree with calling the meeting -- just to clarify my comment, I was afraid people might avoid registering "purely technical" concerns because it would move to a full fcp

nikomatsakis (Sep 18 2020 at 15:05, on Zulip):

which is a kind of overhead

simulacrum (Sep 18 2020 at 15:06, on Zulip):

hm, well, we could do "second and veto after a week"

simulacrum (Sep 18 2020 at 15:06, on Zulip):

so like, if it's purely technical, probably the person seconding just withdraws it for now

simulacrum (Sep 18 2020 at 15:06, on Zulip):

and you do still have the concern resolution process

nikomatsakis (Sep 18 2020 at 15:07, on Zulip):

I don't understand :) but I'm definitely in favor of something here...

nikomatsakis (Sep 18 2020 at 15:07, on Zulip):

also yeah :) just to summarize, we focused on the negatives, but the question of 'were MCPs good" seemed pretty clear:

Rate Meaning Count
1 Bad for the team
2
3 x
4 xxx
5 Good for the team xxxxx
simulacrum (Sep 18 2020 at 15:08, on Zulip):

I mean that instead of immediately going to checkboxes, we wait a bit

simulacrum (Sep 18 2020 at 15:08, on Zulip):

and if neither party budges, then we do checkboxes

simulacrum (Sep 18 2020 at 15:09, on Zulip):

So in principle, if the person vetoing has found some "major problem" then the person seconding says "oh, hm, maybe not" and withdraws

pnkfelix (Sep 18 2020 at 15:12, on Zulip):

Okay I gotta go, thanks to everyone in @T-compiler/meeting for participating!

nikomatsakis (Sep 18 2020 at 15:13, on Zulip):

simulacrum said:

I do wonder if ... there are conflicting veto/second notes, we move to full FCP immediately no questions asked

so I realize that you wrote about "rustbot close" vs "rustbot second" -- I thought you were referring to "any time a concern is raised"

nikomatsakis (Sep 18 2020 at 15:13, on Zulip):

(yeah, I gotta go too, but I was responding to a misunderstanding of what @simulacrum wrote I think)

simulacrum (Sep 18 2020 at 15:13, on Zulip):

no, I think concerns just delay second having some effect

Wesley Wiser (Sep 18 2020 at 15:21, on Zulip):

FYI I just finished the notes for this meeting

Wesley Wiser (Sep 18 2020 at 15:25, on Zulip):

(PR posted https://github.com/rust-lang/compiler-team/pull/361)

lcnr (Sep 18 2020 at 17:00, on Zulip):

Something I didn't consider before, we currently don't really know if an MCP is already implemented or not.

It might be nice to somehow keep track of this. Maybe using a label MCP-accepted and only closing the MCP once it is implemented instead of closing it once it is accepted :thinking:

(noticed in https://rust-lang.zulipchat.com/#narrow/stream/245100-t-compiler.2Fwg-prioritization.2Falerts/topic/I-prioritize.20.2376432.20Incorrect.20MIR.20optimizations.20at.20level.203.3A.E2.80.A6/near/210547076)

mark-i-m (Sep 19 2020 at 04:02, on Zulip):

Joshua Nelson said:

it feels really discouraging after the fact, like the changes were bad :confused:

I'm a bit late, but this is exactly how I felt with the directory renaming PRs as well. And I strongly echo the "where were you when we did the MCP" sentiment. And this was despite many rounds ping people, nominating PRs, FCPs, MCPs, and asking/waiting for feedback. We actually did have a big bikeshedding session on the library/ PR to the point that we had to just make decision and execute, but then when we did more people showed up who hadn't participated before and didn't like the changes. In the compiler/ PR, we tried to streamline this, but we got even less feedback and even more people who didn't like the changes but didn't comment on the MCP...

mark-i-m (Sep 19 2020 at 04:03, on Zulip):

I think my insight from this experience is that the MCP system as it currently exists doesn't seem like a good mechanism for approaching bikeshed-prone topics. I don't know what a better alternative is, though.

oliver (Sep 19 2020 at 18:40, on Zulip):

Elevate a MCProposal to a MCAnnouncement earlier in the process before literally writing the changes to master?

nikomatsakis (Sep 21 2020 at 12:59, on Zulip):

Thanks @mark-i-m and @Joshua Nelson, sorry that process was unpleasant for y'all. It seems clear that at minimum contentious topics should have a full FCP sign-off... I also did see a suggestion about maybe identify a "goal to form a group that makes a decision"

nikomatsakis (Sep 21 2020 at 12:59, on Zulip):

I kind of like that

nikomatsakis (Sep 21 2020 at 12:59, on Zulip):

like 2 or 3 people that work it out and the rest of us just agree to go with it

Joshua Nelson (Sep 21 2020 at 13:00, on Zulip):

nikomatsakis said:

like 2 or 3 people that work it out and the rest of us just agree to go with it

I don't really see this working :/

Joshua Nelson (Sep 21 2020 at 13:00, on Zulip):

someone will always object to the changes, saying there's no forum for the objections doesn't really help

Joshua Nelson (Sep 21 2020 at 13:01, on Zulip):

a full FCP doesn't sound too bad

nikomatsakis (Sep 21 2020 at 13:01, on Zulip):

what I mean is

nikomatsakis (Sep 21 2020 at 13:02, on Zulip):

the FCP might be to form the group..well, nm

nikomatsakis (Sep 21 2020 at 13:02, on Zulip):

anyway yeah I guess an FCP might be best

nikomatsakis (Sep 21 2020 at 13:02, on Zulip):

at least then the full compiler team has signed off

Joshua Nelson (Sep 21 2020 at 13:03, on Zulip):

I'd be happy with '2 or 3 people work out a first draft', but I'm not sure how much benefit that gets over the current process

mark-i-m (Sep 21 2020 at 13:49, on Zulip):

I think finding 2-3 people that are representative of the different disagreeing parties would be helpful -- it would reduce the bikeshedding. I'm just not sure how to do that.

mark-i-m (Sep 21 2020 at 13:50, on Zulip):

I feel that a full FCP is needed to approve the final PR with no further changes, but it doesn't work well for agreeing on that final state.

Last update: Nov 25 2020 at 03:00UTC