Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rewrite compiler team documentation #804

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

davidtwco
Copy link
Member

@davidtwco davidtwco commented Jan 31, 2025

cc @rust-lang/compiler

This is a rewrite/restructuring of all of our documentation in forge.rust-lang.org - I removed some content is removed because it was better suited to the dev guide, and shuffled around/updated most of the rest. I wasn't especially good at commit hygiene in this PR, so it's all a bit muddled together unfortunately.

Most notably, I've added a big section on what combination of RFC/MCP/FCP/r+ you need for any given change - which is something that we often find ambiguous. None of the decisions I've made in that section are necessarily final, just what I thought made sense - happy to adjust.

Rendered

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 31, 2025
@apiraino
Copy link
Contributor

apiraino commented Feb 3, 2025

removed some content [...] and shuffled around/updated most of the rest

I assume then there will be dead links. Which maybe should be handled in the book.toml file?

@jieyouxu
Copy link
Member

jieyouxu commented Feb 3, 2025

removed some content [...] and shuffled around/updated most of the rest

I assume then there will be dead links. Which maybe should be handled in the book.toml file?

Probably only if a redirection makes sense.

@apiraino
Copy link
Contributor

apiraino commented Feb 3, 2025

removed some content [...] and shuffled around/updated most of the rest

I assume then there will be dead links. Which maybe should be handled in the book.toml file?

Probably only if a redirection makes sense.

IMO Any dead link this patch is creating (if any) would make sense to be redirected (didn't look closely into that yet)

Comment on lines 293 to 339
- Adding a new lint
- Follow the language team's process and have the implementation PR reviewed by a member of the
compiler team
Copy link
Member

@Urgau Urgau Feb 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes the assumption that the lint is lang lint, but we have lint that are purely compiler matter (e.g. explicit_builtin_cfgs_in_flags). We should probably differentiate both type of lints.

The same applies for FCW and default lint level.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That makes sense, I've taken a stab at making the distinction where a lint is under our purview and when it isn't

@apiraino
Copy link
Contributor

apiraino commented Feb 5, 2025

I've added a big section on what combination of RFC/MCP/FCP/r+ you need for any given change - which is something that we often find ambiguous

I focused a bit on these changes and I'm not yet fully sold about removing this content separation. Though the new version is very clear, will it be equally clear to the reader?

And at the same time search engine friendly. Right now our MCP page is the first clear hit I see on DuckDuckGo (and google)

Screenshot

grafik

just my .2 cents

@jieyouxu jieyouxu added T-compiler Team: Compiler S-waiting-on-team Status: Awaiting review/feedback/decision from relevant team(s) labels Feb 12, 2025
@davidtwco davidtwco force-pushed the update-compiler-team-docs branch 2 times, most recently from 90066ea to 7938880 Compare February 18, 2025 16:31
@davidtwco
Copy link
Member Author

I can look into adding redirects once we're happy with the content.

I've added a big section on what combination of RFC/MCP/FCP/r+ you need for any given change - which is something that we often find ambiguous
I focused a bit on these changes and I'm not yet fully sold about removing this content separation. Though the new version is very clear, will it be equally clear to the reader?

I think it is clearer to the reader, but if we wanted to try and solicit some feedback from team members who haven't looked at this yet, members of other teams, or just members of the community who might want to make a contribution and know what to do, then we can do that.

Copy link
Member

@jieyouxu jieyouxu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have some more nits, but this looks good to me in general

Comment on lines +8 to +9
There are three mechanisms that the team can use to approve a proposal (not all approval mechanisms
are suitable for each method of making a proposal - see below):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discussion: I find this subsection somewhat confusing, because I would've expected this to say something more like:

  • r+ is for approving PRs (concrete changes)
  • Seconding is for Major Change Proposals (MCP)
  • FCP is for (1) RFCs or stabilization decisions that require T-compiler FCP sign-off, or (2) explicitly making a significant decision on a team-basis

Maybe I just find the "proposal" here somewhat overloaded (i.e. proposal as in a suggestion/idea, versus proposal as a concrete change i.e. PR, or proposal as in MCP/RFC)?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I intend proposal to be used for anything you'd like to suggest changing - we have these three different ways of making that type of suggestion, and we have three different ways of signing-off. Some ways of signing-off are incompatible with some ways of making a suggestion. This means that it makes sense to approve an MCP with an FCP now, for example.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right. I'll leave this unresolved for the time being in case someone has better wording suggestions, but feel free to resolve if there's no better wording proposed :)

Comment on lines +37 to +39
It is desired that a compiler team member or working group has loose ownership over a crate so
that there are clear owners who are responsible for making sure that new versions are published and
that pull requests are reviewed.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: also as "fallback maintainer" maybe

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't added this, it sounds like "fallback maintenance" means something that I'm unfamiliar with?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What I meant was sometimes we have crates that are primarily maintained by contributors who are not yet team members, but are important enough that the team probably wants to act as a fallback maintainer in case the primary maintainer(s) are unavailable for various reasons.

... Probably not too important and might be confusing to mention idk

Comment on lines +55 to +56
- Where possible, only active participants in the crate (or related working group) need be on the
triagebot rotation for the crate.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question: I think this needs setting from team repo, and not even all existing crates generally under compiler fallback maintenance has this IIRC

Copy link
Contributor

@apiraino apiraino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for this great work

@davidtwco davidtwco force-pushed the update-compiler-team-docs branch from 7938880 to b015136 Compare February 19, 2025 14:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. S-waiting-on-team Status: Awaiting review/feedback/decision from relevant team(s) T-compiler Team: Compiler
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants