Skip to content

Commit 0680711

Browse files
authored
Merge pull request #26 from davidtwco/steering-meeting-02-03-19-notes
Add steering meeting minutes for 02/03/19
2 parents 1c4ab90 + 6fac0e8 commit 0680711

File tree

1 file changed

+125
-0
lines changed

1 file changed

+125
-0
lines changed
Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
# 2019.03.01
2+
3+
[Zulip topic](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/steering.20meeting.202019.2E03.2E01.20.2358850/near/159650062)
4+
5+
Before the meeting started, [@nikomatsakis][nikomatsakis] proposed an agenda and linked to a
6+
[document to collect agenda ideas](https://hackmd.io/wsHwsi9zR3iq0ZF2SgEq9Q) for future meetings.
7+
8+
Also, [@mw][mw] asked about discussing the policy for out-of-tree compiler crates (expanding on
9+
discussions from the All Hands' organizational meeting), [a draft for which][draft_policy] was
10+
already in-progress by [@davidtwco][davidtwco].
11+
12+
The meeting commenced with a call for involvement in the [RLS 2.0 working group][rls2] led by
13+
[@matklad][matklad] as sharing expertise between the RLS 2.0 effort and rustc would be helpful.
14+
There is documentation (videos and guides), issues with `E-mentor` and other resources available
15+
for those interested. [@davidtwco][davidtwco], [@pnkfelix][pnkfelix] and [@Xanewok][Xanewok]
16+
mentioned that they would endeavour to find some time to dig into RLS 2.0.
17+
18+
Next, [@nikomatsakis][nikomatsakis] announced an ongoing effort by [@spastorino][spastorino] to
19+
collate an [expert map](https://hackmd.io/Izvor8KZRiqUgcUyd2CYTw) about who has expertise in
20+
which areas of the compiler, with the intent of making it easier to find the right people to
21+
ask questions and assign issues/PRs to, and invited everyone to help flesh it out and add
22+
themselves. [@nikomatsakis][nikomatsakis] also suggested that this would be good in documenting the
23+
overall structure of the compiler in some ways.
24+
25+
Following this, the main topic for the steering meeting, the out-of-tree crates policy was
26+
discussed (for things like [polonius][polonius], [chalk][chalk] and the upcoming diagnostics
27+
refactoring). The [current draft of the policy][draft_policy] was linked and [@davidtwco][davidtwco]
28+
emphasised that it was very much a draft and there are lots of unresolved questions.
29+
30+
[@nikomatsakis][nikomatsakis] highlighted a desire for having a uniform experience between
31+
out-of-tree crates and normal in-tree development - particularly surrounding who can land PRs,
32+
highfive reviewer assignment, and ensuring anyone in the team can publish new crate versions.
33+
34+
[@davidtwco][davidtwco] noted that discussions surrounding tooling that could make out-of-tree
35+
crates easy to work with was left out of the policy draft as that isn't part of the policy.
36+
37+
Both [@nikomatsakis][nikomatsakis] and [@mw][mw] wanted there to be a simple guide to follow for
38+
creating out-of-tree crates - this should include links to examples and things to copy-and-paste.
39+
40+
[@pnkfelix][pnkfelix] raised concerns about current policy wording suggesting that only
41+
general-purpose functionality should be factored out and suggested clarifications about the minimum
42+
bar for expected re-use might be beneficial. [@nikomatsakis][nikomatsakis] mused that making
43+
libraries too general purpose could carry a higher maintainance/breaking-change burden. [@mw][mw]
44+
suggested that this would need to be decided on a case-by-case basis. [@nikomatsakis][nikomatsakis]
45+
clarified that we should absolutely be following semver in these crates.
46+
47+
[@nikomatsakis][nikomatsakis] then raised the question of review policy in out-of-tree crates -
48+
should major PRs require multiple reviewers? can crates have reviewers that are not reviewers of
49+
rustc? Going to on say that the idea of these crates having their own communities is appealing and
50+
that one option might be that if a contributor was involved in crate sufficiently to review it, then
51+
perhaps they should get rustc r+ too or that out-of-tree crates might offer a way to do more
52+
fine-grained notions of r+. [@pnkfelix][pnkfelix] suggested that long-term we might want in-tree
53+
tests of these crates to guarantee that they maintain compatibility.
54+
55+
[@mw][mw] then proposed walking through an example - the [self-profile working group][self_profile]
56+
will likely create a mildly sophisticated on-disk string table that will be shared between rustc
57+
and external tooling created by the working group and that this would be an ideal candidate for an
58+
out-of-tree crate.
59+
60+
This raised the many questions. Do compiler team members have the rights to create repositories in
61+
the rust-lang organization? Is it best to start in the rust-lang organization or prototype in a
62+
user-hosted repository? What do we name these crates? Is there guidance on adding crates.io
63+
dependencies to rustc?
64+
65+
[@davidtwco][davidtwco] suggested that we would need to collate a list of things that would need to
66+
be added to a repository (licenses, code of conduct, etc.) and things that would need set up (bors,
67+
highfive, etc).
68+
69+
[@wesleywiser][wesleywiser] mentioned that while anyone on the compiler team should be able to r+,
70+
only those actively involved should be on the highfive rotation. [@nikomatsakis][nikomatsakis]
71+
noted that it would be great for active working group members to have the opportunity to gain r+.
72+
73+
[@mw][mw] asked if we would set up community infrastructure (such as Zulip instances or streams) for
74+
the out-of-tree crates, but [@nikomatsakis][nikomatsakis] thought it best that this be tied to
75+
the community infrastructure already in-place for the working group.
76+
77+
Then, [@nikomatsakis][nikomatsakis] re-raised the question of whether these out-of-tree crates are
78+
best kept in the rust-lang organization. [@mw][mw] suggested that this is best as it simplifies
79+
bors and highfive integration and would use existing team permissions. [@pnkfelix][pnkfelix] asked
80+
how challenging migration from a personal repository to the rust-lang organization is. On this
81+
point, [@nikomatsakis][nikomatsakis] said that transferring is easy but messy - transferring can
82+
leave a redirect behind which will conflict with the default name of a fork, which requires an email
83+
to GitHub to resolve.
84+
85+
[@davidtwco][davidtwco] interjected that it should be made clear what team and working group is
86+
responsible for any repository we create in the rust-lang organization.
87+
[@nikomatsakis][nikomatsakis] suggested a template for the README of out-of-tree crates would be
88+
valuable and should point to the responsible working group.
89+
90+
Changing gears, [@mw][mw] asked if there were any example workflows for handling changes in external
91+
crates to which [@nikomatsakis][nikomatsakis] suggested that a rustc-guide chapter on that and
92+
how to make local copies for debugging would be necessary. [@davidtwco][davidtwco] asked what
93+
information should be kept in the policy document and what information should be kept in the
94+
rustc-guide. There was some consensus that setting up a new out-of-tree crate is policy and working
95+
with one is for the guide.
96+
97+
[@mw][mw] then raised the question of where consent of compiler team members should be gathered
98+
before creating new out-of-tree crates. [@pnkfelix][pnkfelix] suggested it could be a triage meeting
99+
item and [@nikomatsakis][nikomatsakis] suggested using `@rfcbot` and that the general presumption
100+
would be that if a compiler team member wanted to create a out-of-tree crate then it would probably
101+
be a good idea. [@mw][mw] mused that something asynchronous would be preferred and that agreement
102+
within the working group itself should come first. [@nikomatsakis][nikomatsakis] suggested that
103+
the goals of approval should be discussed, such as helping to pick a suitable name.
104+
105+
[@mw][mw] suggested that a list of these crates would be valuable and there was agreement that it
106+
should not be in rust-lang/rust to avoid the bors queue. There was some discussion about searching
107+
for issues across repositories in an organization.
108+
109+
[@davidtwco][davidtwco] then agreed to write these minutes and his hands are starting to get tired
110+
at this point.
111+
112+
[rls2]: https://github.com/rust-lang/compiler-team/tree/master/working-groups/rls-2.0
113+
[self_profile]: https://github.com/rust-lang/compiler-team/tree/master/working-groups/self-profile
114+
[draft_policy]: https://github.com/rust-lang/compiler-team/pull/19
115+
[chalk]: https://github.com/rust-lang-nursery/chalk/
116+
[polonius]: https://github.com/rust-lang-nursery/polonius
117+
118+
[davidtwco]: https://github.com/davidtwco
119+
[nikomatsakis]: https://github.com/nikomatsakis
120+
[pnkfelix]: https://github.com/pnkfelix
121+
[Xanewok]: https://github.com/Xanewok
122+
[matklad]: https://github.com/matklad
123+
[mw]: https://github.com/michaelwoerister
124+
[spastorino]: https://github.com/spastorino
125+
[wesleywiser]: https://github.com/wesleywiser

0 commit comments

Comments
 (0)