Skip to content

Commit 54b4aef

Browse files
committed
backlog bonanza post
1 parent 05db04a commit 54b4aef

File tree

1 file changed

+107
-0
lines changed

1 file changed

+107
-0
lines changed
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
---
2+
layout: post
3+
title: "Lang team Backlog Bonanza and Project Proposals"
4+
author: Nicholas Matsakis
5+
team: the lang team <https://www.rust-lang.org/governance/teams/lang>
6+
---
7+
8+
A month or two back, the lang team embarked on a new initiative that
9+
we call the "Backlog Bonanza". The idea is simple: we are holding a
10+
series of meetings in which we go through every pending RFC, one by
11+
one, and try to reach some sort of determination about what to do with
12+
it. Once we've finished that, we can start in on categorizing other
13+
forms of backlog, such as tracking issues.
14+
15+
### Possible outcomes for each RFC
16+
17+
When we look at an RFC, we're typically deciding between one of the following outcomes:
18+
19+
* **Close** the RFC, if we think that this problem is a good fit for the moment.
20+
* Close, but **suggest a [project proposal]**, if we think that the we might like to see the problem solved, but we aren't sure if the RFC has the design right, or we're not sure who would be a good liaison.
21+
* **Merge** the RFC, if we think the RFC basically nailed it and we have a lang team liaison in mind.
22+
23+
[project proposal]: https://lang-team.rust-lang.org/proposing_a_project.html
24+
25+
### Wait, what is a project proposal?
26+
27+
I'm so glad you asked! The lang team is experimenting with a new
28+
process for extending the language. Instead of starting out by writing
29+
an RFC, the idea is to start with a **[project proposal]**. This is a
30+
lightweight description that you do by [opening an issue] on the
31+
[lang-team repository] using the "Project proposal" template. That
32+
will create an issue and a corresponding stream on Zulip.
33+
34+
[lang-team repository]: https://github.com/rust-lang/lang-team/
35+
[opening an issue]: https://github.com/rust-lang/lang-team/issues/new/choose
36+
37+
In our [weekly triage meetings], we go over each new project proposal
38+
and try to provide feedback. Project proposals generally result in one
39+
of a few possible outcomes:
40+
41+
* **Close**, if we feel like the idea isn't a good fit right now.
42+
* **Suggest implementing**, if we feel like the idea is simple or obvious enough that an RFC isn't really needed. In that case, folks can just write a PR and we can use the fcp process to approve the PR.
43+
* **Charter a project group**, if we feel like the idea is good, but we'd like to see the design spelled out. To do this, there has to be some lang-team liaison who wants to help see it through (though that liaison doesn't have to be a member of the team; [serving as a liaison is a good way to get more involved in the lang team][path]).
44+
45+
[weekly triage meetings]: https://lang-team.rust-lang.org/meetings.html
46+
[path]: https://blog.rust-lang.org/inside-rust/2020/07/09/lang-team-path-to-membership.html
47+
48+
### Chartering a project group
49+
50+
A "project group" is basically just a group of people working together
51+
completing some idea. Project groups are often pretty small, just 1 or 2
52+
people, though they can get significantly larger.
53+
54+
Creating a smaller project group is meant to be lightweight. We
55+
basically convert the project proposal into a charter that states the
56+
general goals and create an associated zulip stream where folks can
57+
chat. Each project also gets a tracking issue that shows up on
58+
our [lang team project board].
59+
60+
[recent example]: https://github.com/rust-lang/lang-team/tree/master/projects/declarative-macro-repetition-counts
61+
[Rust team repo]: https://github.com/rust-lang/team
62+
[lang team project board]: https://github.com/rust-lang/lang-team/projects/2
63+
64+
In the early stages of an idea, project groups work to draft an
65+
RFC. This RFC is then taken to the lang-team for feedback. Once the
66+
lang-team is basically happy on the direction things are going, we'll
67+
encourage the group to open the RFC on the main RFC repository, where
68+
it'll get feedback from a broader audience.
69+
70+
Once the RFC is **accepted**, the hope is that project groups stick
71+
around. If desired, the same folks can try to implement the feature
72+
(in collaboration with the compiler team) or we can find new people.
73+
But this way, as those people try to implement, they'll become a part
74+
of the same group that was designing the feature so that we can
75+
iterate more readily. The same logic applies to the other aspects of
76+
shipping a feature, most notably writing documentation.
77+
78+
### Tracking projects: the lang team project board
79+
80+
I mentioned the [lang team project board] off-hand in the previous
81+
paragraph. This is our attempt to track the ongoing efforts. It breaks
82+
down the various projects into stages, with the things that are closest
83+
to shipping coming first:
84+
85+
* **Stabilization** -- projects that we are ready to stabilize, or in
86+
the process of stabilizing.
87+
* **Evaluation** -- projects that are fully implemented but where we are
88+
seeking feedback on how well the design works.
89+
* **Implementation** -- projects that are currently working on implementation
90+
(and sometimes concurrent design iteration).
91+
* **Pending RFC** -- projects with an RFC that is pending public comment
92+
* **Design** -- projects actively iterating towards an RFC
93+
* **Shortlisted** -- project ideas that we might want to take up once we
94+
find a suitable liaison or people have enough bandwidth
95+
96+
### Ways to get involved
97+
98+
If you like, you are welcome to attend backlog bonanza meetings. They
99+
are open for anyone and take place during our [design meeting slot]
100+
most weeks. We haven't setup a very good process for announcing our
101+
design meeting schedule, though, that's something that we need to get
102+
better at.
103+
104+
[design meeting]: https://lang-team.rust-lang.org/meetings.html
105+
106+
Alternatively, if you have ideas you'd like to float, please feel free
107+
to open a [project proposal].

0 commit comments

Comments
 (0)