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

RFC for project goals #3672

Merged
merged 10 commits into from
Jul 28, 2024
Merged

Conversation

nikomatsakis
Copy link
Contributor

@nikomatsakis nikomatsakis commented Jul 10, 2024

This RFC presents the Rust project goal slate for 2024H2. The slate consists of 26 total project goals of which we have selected 3 as our "flagship goals":

Flagship goals represent the goals expected to have the broadest overall impact.

This RFC is now in final comment period. We are following an unusual ratification procedure. Team leads are asked to review the list of asks for their team (see the reference-level-explanation) and confirm that their team is aligned. Now that all team leads have signed off, the RFC has entered FCP.

More details at https://rust-lang.github.io/rust-project-goals/.

Rendered

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
@nikomatsakis nikomatsakis force-pushed the project-goals-2024h2 branch from eb59f09 to 4fc3a00 Compare July 10, 2024 01:24
@traviscross traviscross added T-lang Relevant to the language team, which will review and decide on the RFC. T-libs-api Relevant to the library API team, which will review and decide on the RFC. T-compiler Relevant to the compiler team, which will review and decide on the RFC. T-cargo Relevant to the Cargo team, which will review and decide on the RFC. T-rustdoc Relevant to rustdoc team, which will review and decide on the RFC. T-infra Relevant to the infrastructure team, which will review and decide on the RFC. T-crates-io Relevant to the crates.io team, which will review and decide on the RFC. T-libs Relevant to the library team, which will review and decide on the RFC. T-types Relevant to the types team, which will review and decide on the RFC. T-edition Relevant to the edition team, which will review and decide on this RFC. labels Jul 10, 2024
@nikomatsakis
Copy link
Contributor Author

nikomatsakis commented Jul 10, 2024

Hi everyone!

This RFC follows an unusual ratification procedure. Team leads are asked to review the list of asks for their team (see the reference-level-explanation) and confirm that their team is aligned. Leads should feel free to consult with team members and to raise concerns on their behalf. Once all team leads have signed off, the RFC will enter FCP. (As they have no leads, I am not counting the leadership council here.)

Note that your name may appear more than once!

I'm going to add one comment per team to avoid Github's limit of "max mentions per comment".

@Noratrieb

This comment was marked as outdated.

@nikomatsakis
Copy link
Contributor Author

nikomatsakis commented Jul 10, 2024

cargo

Sorry, something went wrong.

@nikomatsakis
Copy link
Contributor Author

nikomatsakis commented Jul 10, 2024

clippy

Sorry, something went wrong.

@nikomatsakis
Copy link
Contributor Author

nikomatsakis commented Jul 10, 2024

compiler

Sorry, something went wrong.

@nikomatsakis
Copy link
Contributor Author

nikomatsakis commented Jul 10, 2024

crates-io

Sorry, something went wrong.

@nikomatsakis
Copy link
Contributor Author

nikomatsakis commented Jul 10, 2024

edition

Sorry, something went wrong.

@nikomatsakis

This comment was marked as outdated.

@nikomatsakis
Copy link
Contributor Author

nikomatsakis commented Jul 10, 2024

lang

Sorry, something went wrong.

@nikomatsakis
Copy link
Contributor Author

nikomatsakis commented Jul 10, 2024

leadership-council

Sorry, something went wrong.

@nikomatsakis
Copy link
Contributor Author

nikomatsakis commented Jul 10, 2024

libs

Sorry, something went wrong.

@nikomatsakis
Copy link
Contributor Author

nikomatsakis commented Jul 10, 2024

libs-api

Sorry, something went wrong.

@nikomatsakis
Copy link
Contributor Author

nikomatsakis commented Jul 10, 2024

rust-analyzer

Sorry, something went wrong.

@nikomatsakis
Copy link
Contributor Author

nikomatsakis commented Jul 10, 2024

rustdoc

Sorry, something went wrong.

@Amanieu Amanieu added the I-libs-api-nominated Indicates that an issue has been nominated for prioritizing at the next libs-api team meeting. label Jul 15, 2024
Copy link
Member

@jackh726 jackh726 left a comment

Choose a reason for hiding this comment

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

This is really fantastic. Thank you @nikomatsakis for the work you've done to assemble this.

text/0000-Project-Goals-2024h2.md Outdated Show resolved Hide resolved
text/0000-Project-Goals-2024h2.md Outdated Show resolved Hide resolved
text/0000-Project-Goals-2024h2.md Outdated Show resolved Hide resolved
@nikomatsakis
Copy link
Contributor Author

nikomatsakis commented Jul 15, 2024

@jackh726 when it comes to blog posts, I wasn't sure how to think about it. My general feeling is:

  • Anybody can post on Inside Rust with zero overhead, as long as some team member +1's it, basically
  • The main Rust blog has a higher bar, but I don't think we should keep it very high. We don't have enough posts.

I'd be happy to say "it's assumed that anything tied to a project goal can have blog posts on any Rust blog".

text/0000-Project-Goals-2024h2.md Outdated Show resolved Hide resolved
text/0000-Project-Goals-2024h2.md Outdated Show resolved Hide resolved
text/0000-Project-Goals-2024h2.md Outdated Show resolved Hide resolved
@Amanieu Amanieu removed the I-libs-api-nominated Indicates that an issue has been nominated for prioritizing at the next libs-api team meeting. label Jul 16, 2024
text/0000-Project-Goals-2024h2.md Outdated Show resolved Hide resolved
text/0000-Project-Goals-2024h2.md Outdated Show resolved Hide resolved
text/0000-Project-Goals-2024h2.md Outdated Show resolved Hide resolved
text/0000-Project-Goals-2024h2.md Outdated Show resolved Hide resolved
text/0000-Project-Goals-2024h2.md Outdated Show resolved Hide resolved
text/0000-Project-Goals-2024h2.md Outdated Show resolved Hide resolved
text/0000-Project-Goals-2024h2.md Outdated Show resolved Hide resolved
text/0000-Project-Goals-2024h2.md Outdated Show resolved Hide resolved
text/0000-Project-Goals-2024h2.md Outdated Show resolved Hide resolved
text/0000-Project-Goals-2024h2.md Outdated Show resolved Hide resolved
NEW GOALS

* User-wide caching (orphaned, cargo team)

REMOVED GOALS

* Experiment with relaxing the Orphan Rule dropped
  for bandwidth concerns. (We may reframe.)

SIMPLIFIED GOALS

* Patterns of empty types -> moral support
@tmandry tmandry added the proposed-final-comment-period Currently awaiting signoff of all team members in order to enter the final comment period. label Jul 18, 2024
Copy link
Member

@tmandry tmandry left a comment

Choose a reason for hiding this comment

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

Thank you @nikomatsakis for your work driving and assembling all of this. I'm really optimistic about this process and how it will impact the Rust Project's ability to coordinate longer-term work of strategic importance.

You have said you wanted this initial goal slate to be a learning experience, and I can see it already has been. I'm hoping for and looking forward to a blog post with everything you learned putting it together. :)

As for the goal slate itself, I think it is good and definitely meets the bar to move forward and start executing during the rest of the year. We will learn even more in the next six months!

@lcnr
Copy link
Contributor

lcnr commented Jul 18, 2024

@rfcbot reviewed

edit: ofc this doesn't work :3 very happy about the work on Project Goals btw ❤️

* resolving the "send bound problem", thus enabling foundational, generic traits like Tower's [`Service`](https://docs.rs/tower-service/latest/tower_service/trait.Service.html) trait;
* stabilizing async closures, thus enabling richer, combinator APIs like sync Rust's [`Iterator`](https://doc.rust-lang.org/std/iter/trait.Iterator.html);
* reorganizing the async WG, so the project can benefit from a group of async rust experts with deep knowledge of the space that can align around a shared vision.
* [**Resolve the biggest blockers to Linux building on stable Rust**](https://rust-lang.github.io/rust-project-goals/2024h2/./rfl_stable.html) via:
Copy link
Member

Choose a reason for hiding this comment

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

One of the blockers mentioned by @ojeda for RfL is the Rust GCC backend. I think it should be mentioned in this list as well.

* Begin resolving `cargo-semver-checks` blockers
  for merging into cargo -- cargo team (approved)
@nikomatsakis
Copy link
Contributor Author

nikomatsakis commented Jul 18, 2024

Summary of recent updates:

NEW GOALS

  • User-wide caching (orphaned, cargo team)
  • Begin resolving cargo-semver-checks blockers for merging into cargo (approved, cargo team)

REMOVED GOALS

  • Experiment with relaxing the Orphan Rule dropped for bandwidth concerns (discussion)

SIMPLIFIED GOALS

  • Patterns of empty types -> moral support (discussion)

@nikomatsakis nikomatsakis added final-comment-period Will be merged/postponed/closed in ~10 calendar days unless new substational objections are raised. and removed proposed-final-comment-period Currently awaiting signoff of all team members in order to enter the final comment period. labels Jul 18, 2024
@nikomatsakis
Copy link
Contributor Author

Hear ye, hear ye! This RFC is now entering final comment period. With the latest round of updates, we now have sign-off from the team leads of all required teams!

Barring concerns or other procedural changes, the RFC will exit FCP July 28th (10 days from today).

Copy link

@ElchananHaas ElchananHaas left a comment

Choose a reason for hiding this comment

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

I think this rename broke the "rendered" link at the top of the issue

@camelid
Copy link
Member

camelid commented Jul 19, 2024

Thanks, should be fixed now.

Survey tools suitability for Std safety verification

(As discussed on Zulip)
@nikomatsakis
Copy link
Contributor Author

Huzzah! This RFC has been accepted.

Tracking issues for each goal can be found on the 2024h2 milestone of the rust-lang/rust-project-goals repository. Goals owners will be getting regular pings on Zulip to post updates and I plan to assembly ~monthly blog posts collecting updates and highlighting progress.

The next immediate step once this RFC is merged will be to author an announcement blog post with the roadmap along with an accompanying Inside Rust post (and email) laying out the procedural steps.

Thanks to everyone who submitted goals along with all the team members who gave feedback! And special thanks to @joshtriplett for many conversations along with diving in at various points to do legwork. 💜

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
final-comment-period Will be merged/postponed/closed in ~10 calendar days unless new substational objections are raised. T-cargo Relevant to the Cargo team, which will review and decide on the RFC. T-compiler Relevant to the compiler team, which will review and decide on the RFC. T-crates-io Relevant to the crates.io team, which will review and decide on the RFC. T-edition Relevant to the edition team, which will review and decide on this RFC. T-infra Relevant to the infrastructure team, which will review and decide on the RFC. T-lang Relevant to the language team, which will review and decide on the RFC. T-libs Relevant to the library team, which will review and decide on the RFC. T-libs-api Relevant to the library API team, which will review and decide on the RFC. T-rustdoc Relevant to rustdoc team, which will review and decide on the RFC. T-types Relevant to the types team, which will review and decide on the RFC.
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

None yet