Skip to content

Commit 54f5978

Browse files
authored
Update 0000-project-groups.md
1 parent 48786c1 commit 54f5978

File tree

1 file changed

+51
-54
lines changed

1 file changed

+51
-54
lines changed

text/0000-project-groups.md

Lines changed: 51 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Summary
22

3-
- Formalize project groups as groups dedicated to specific projects
4-
within the context of a Rust team
5-
- Project groups are created via an RFC and have a "parent team" (or
6-
multiple teams)
3+
- Formalize project groups as groups dedicated to specific projects within the
4+
context of a Rust team.
5+
- Project groups are created via team consensus (such as an RFC) and have a
6+
"parent team(s)"
77
- The groups then drive the project to completion, e.g. by authoring follow-up
88
RFCs and doing design work.
99
- Once the work has been concluded, the group is archived.
@@ -15,10 +15,10 @@
1515

1616
# Motivation
1717

18-
Working groups were not created through the RFC process, as such there's not
19-
much documentation on exactly what a working group does, what are its
20-
responsibilities, and also importantly setting expectations or goals. There is
21-
one definition of "Working Group" available in [rust-lang#54445]; quoted below.
18+
Working groups in Rust were not created through the RFC process, as such
19+
there's not much documentation on exactly what a working group does, what are
20+
its responsibilities, and also importantly setting expectations or goals. There
21+
is one definition of "Working Group" available in [rust-lang#54445]; quoted below.
2222

2323
> A Rust Working Group is a set of people working at common purpose. Working
2424
> Groups are associated with a Rust team. Unlike a Rust Team, Working Groups
@@ -28,16 +28,9 @@ one definition of "Working Group" available in [rust-lang#54445]; quoted below.
2828
2929
While this definition is true in the broad sense, it does not define the
3030
difference between what has come to be called "Domain Working Groups" and
31-
"Team Working Groups". Additionally the community has also adopted the Working
32-
Group terminology for organising and working on areas they are interested in,
33-
independent of The Rust Programming Language's Working Groups. It's great that
34-
we have a community able to self organise in this way, however it has led to
35-
some confusion over who is supporting these efforts, and whether they're
36-
considered _"official"_ Working Groups.
37-
38-
This RFC aims to provide clarity by providing new distinct terminology that
39-
matches the intent behind "Team Working Groups", as well as codify some of the
40-
processes that these groups have been using to help facilitate creating
31+
"Team Working Groups". This RFC aims to provide clarity by providing new distinct
32+
terminology that matches the intent behind "Team Working Groups", as well as codify
33+
some of the processes that these groups have been using to help facilitate creating
4134
new groups.
4235

4336
[rust-lang#54445]: https://github.com/rust-lang/rust/issues/54445
@@ -47,8 +40,7 @@ new groups.
4740
To address this confusion this RFC proposes switching from using "Team Working
4841
Group" in favour of "Project Group". This would serve as a catch all term for
4942
the sub teams of the existing teams to organise around specific efforts, such
50-
as certain project or effort in the Rust team. Project Groups are led
51-
by "Shepherds".
43+
as certain project or effort in the Rust team.
5244

5345
## Life-cycle of a Project Group
5446
This is a high level overview of the complete process of a project group.
@@ -75,7 +67,7 @@ This is a high level overview of the complete process of a project group.
7567

7668
2. Obtain the consensus of the team to create group.
7769

78-
- Specify the liaison, and shepherd(s).
70+
- Specify the liaison, and shepherd(s). (See [Project Group Creation](#project-group-creation))
7971
- Write a short motivation, and some notes on possible solutions.
8072
- How consensus is reached would vary from team to team, some would require an
8173
RFC while others could decide in a meeting. (See [Future Work](#future-work))
@@ -91,7 +83,7 @@ This is a high level overview of the complete process of a project group.
9183
4. Create a post on the Inside Rust blog announcing creation of the group. Be
9284
sure to include the following information.
9385
- An introduction
94-
- The charter (either linked or inlined) \[See [Project Group Creation](#project-group-creation)\]
86+
- The charter (either linked or inlined) \[See [Creating The Charter](#creating-the-charter)\]
9587
- A link to your group's GitHub repository
9688
- If your group is open for participants, provide information on how they
9789
can contribute.
@@ -175,7 +167,44 @@ can be hard to know their current status.
175167
[rustup]: https://github.com/rust-lang/team/blob/master/teams/wg-rustup.toml
176168

177169
## Project Group Creation
170+
A project group should have the following;
171+
172+
- **Leads** — At least one person who acts as the leader of the group and is
173+
typically responsible for writing the initial charter, handling
174+
administrative and communication tasks, as well as delegating those
175+
responsibilities to other members in the group.
176+
- **Liaisons** — A member from a official Rust team that is sponsoring the
177+
work, and acts as a point of contact between the team and the group. They
178+
may or may be that directly involved, but they should check-in
179+
periodically and be able to represent the work in meetings with the team.
180+
They should also look out for when this might intersect with other work
181+
happening in the team that is beyond the working group itself.
182+
- Liaisons may also be but are not required to be one of the leads.
183+
- **Members** — Individuals who regularly participate and/or
184+
contribute to the project group.
185+
- Membership requirements for groups are decided by the shepherd and should
186+
be stated in the charter.
187+
- Initial membership should try to represent people who have already been
188+
participating regularly and productively in the respective area.
189+
- It is not required for a project group to have a lot of members though,
190+
some project groups may only have one or two members including leads and
191+
liasions.
192+
- A charter that defines the scope and intent of the group.
193+
- A GitHub repository hosted under the `rust-lang` organization containing
194+
the charter and instructions for how community members can monitor or
195+
participate in the group.
196+
- Representation on the official [rust-lang.org] website.
197+
- No _"formal decision making power"_: meaning that they are not able to
198+
accept RFCs on `rust-lang/rfcs`.
199+
- Groups are of course encouraged to create RFCs as well as advocate their
200+
concerns and desired changes to the Rust teams and community.
201+
- Dedicated space(s) in of Rust's officially managed discussion platforms.
202+
- As of the time of this writing this includes [Zulip] and [Discord].
203+
- Ideally the group should use the same platform as their parent team to
204+
ease communication, though there may be cases where the team agrees to
205+
a group trying out a different platform.
178206

207+
### Creating The Charter
179208
Since project groups are approved by their relevant parent team over the core
180209
team, it's up to each team decide their specific requirements. However the
181210
author recommends that a group should try to make a charter that addresses
@@ -197,38 +226,6 @@ the following questions.
197226
contact with?
198227
- Where do you see your group needing help?
199228

200-
Process around project group membership is up to the shepherd's discretion.
201-
Typically, people who are productively contributing to the project group for
202-
some time will be added as members. It is not required for a project group to
203-
have a lot of members though, some project groups may only have one or
204-
two members.
205-
206-
**A project group should have the following;**
207-
208-
- A charter that defines the scope and intent of the group.
209-
- A GitHub repository hosted under the `rust-lang` organization containing
210-
the charter and instructions for how community members can monitor or
211-
participate in the group.
212-
- At least one person who acts as the leader of the group and is typically
213-
responsible for writing the initial charter, handling administrative
214-
and communication tasks, as well as delegating those responsibilities to
215-
other members in the group.
216-
- A liaison member associated with an official Rust team.
217-
- This liaison may also be but is not required to be one of the leaders.
218-
- Representation on the official [rust-lang.org] website.
219-
- Membership requirements for groups decided by the shepherd and stated in
220-
the charter.
221-
- Initial membership should try to represent people who have already been
222-
participating regularly and productively in the respective area.
223-
- No _"formal decision making power"_: meaning that they are not able to
224-
accept RFCs on `rust-lang/rfcs`.
225-
- Groups are of course encouraged to create RFCs as well as advocate their
226-
concerns and desired changes to the Rust teams and community.
227-
- Dedicated space(s) in of Rust's officially managed discussion platforms.
228-
- As of the time of this writing this includes [Zulip] and [Discord].
229-
- Ideally the group should use the same platform as their parent team to
230-
ease communication, though there may be cases where the team agrees to
231-
a group trying out a different platform.
232229

233230
[rust-lang.org]: https://rust-lang.org
234231
[zulip]: https://rust-lang.zulipchat.com

0 commit comments

Comments
 (0)