|
| 1 | +# Submitting a proposal |
| 2 | + |
| 3 | +If you would like to submit a proposal to the steering meeting for |
| 4 | +group discusison, read on! This page has all the details. |
| 5 | + |
| 6 | +## TL;DR |
| 7 | + |
| 8 | +In short, all you have to do is |
| 9 | + |
| 10 | +* [open an issue on the compiler-team repository][ct issues] |
| 11 | + * use the template for meeting proposals |
| 12 | + * you only need a few sentences to start, but by the time the meeting |
| 13 | + takes place we typically expect a more detailed writeup, e.g. |
| 14 | + using [this template]( |
| 15 | + |
| 16 | +You don't have to have a lot of details to start: just a few sentences |
| 17 | +is enough. But, especially for technical design discussions, we will |
| 18 | +typically expect that some form of more detailed overview be made |
| 19 | +available by the time the meeting takes place. |
| 20 | + |
| 21 | +## Examples of good candidates for discussing at the steering meeting |
| 22 | + |
| 23 | +Here are some examples of possible technical topics that would be |
| 24 | +suitable for the steering meeting: |
| 25 | + |
| 26 | +- A working group has an idea to refactor the HIR to make some part of their |
| 27 | + job easier. They have sketched out a proposal and would like feedback. |
| 28 | +- Someone has encountered a problem that is really hard to solve with |
| 29 | + the existing data structures. They would like feedback on a good |
| 30 | + solution to their problem. |
| 31 | +- Someone has done major refactoring work on a PR and they would like |
| 32 | + to be able to explain the work they did and request review. |
| 33 | + |
| 34 | +Steering meetings are also a good place to discuss other kinds of proposals: |
| 35 | + |
| 36 | +- A proposal to move some part of the compiler into an out-of-tree crate. |
| 37 | +- A proposal to start a new working group. |
| 38 | + |
| 39 | +Note that a steering meeting is **not** required to create a new |
| 40 | +working group or an out-of-tree crate, but it can be useful if the |
| 41 | +proposal is complex or controversial, and you would like a dedicated |
| 42 | +time to talk out the plans in more detail. |
| 43 | + |
| 44 | +## Criteria for selection |
| 45 | + |
| 46 | +When deciding the topics for upcoming meetings, we must balance a number of things: |
| 47 | + |
| 48 | +- We don't want to spend time on design work unless there are known |
| 49 | + people who will implement it and support it; this includes not only |
| 50 | + the "main coder" but also a suitable reviewer. |
| 51 | +- We don't want to take on "too many" tasks at once, even if there *are* people to |
| 52 | + implement them. |
| 53 | +- We also don't want to have active projects that will be "stepping on |
| 54 | + each others' toes", changing the same set of code in deep ways. |
| 55 | + |
| 56 | +## Meetings are not mandatory |
| 57 | + |
| 58 | +It is perfectly acceptable to choose *not* to schedule a particular |
| 59 | +slot. This could happen if (e.g.) there are no proposals available or |
| 60 | +if nothing seems important enough to discuss at this moment. Note |
| 61 | +that, to keep the "time expectations" under control, we should |
| 62 | +generally stick to the same 4-week cycle and simply opt to skip |
| 63 | +meetings, rather than (e.g.) planning things at the last minute. |
| 64 | + |
| 65 | +## Adding a proposal |
| 66 | + |
| 67 | +Proposals can be added by opening an issue on the [compiler-team |
| 68 | +repository][ct issues]. There is an issue template for meeting |
| 69 | +proposals that gives directions. The basic idea is that you open an |
| 70 | +issue with a few sentences describing what you would like to talk |
| 71 | +about. |
| 72 | + |
| 73 | +Some details that might be useful to include: |
| 74 | + |
| 75 | +* how complex of a topic you think this is |
| 76 | +* people in the compiler team that you think should be present for the meeting |
| 77 | + |
| 78 | +### Expectations for the meeting |
| 79 | + |
| 80 | +By the time the meeting takes place, we generally would prefer to have |
| 81 | +a more detailed write-up or proposal. You can find a [template] for |
| 82 | +such a proposal here. This should be created in the form of a hackmd |
| 83 | +document -- usually we will then update this document with the minutes |
| 84 | +and consensus from the meeting. The final notes are then stored in the |
| 85 | +[minutes] directory of the compiler-team repository. |
| 86 | + |
| 87 | +### Expectations for a non-technical proposal |
| 88 | + |
| 89 | +**The requirements for non-technical proposals are somewhat looser.** A |
| 90 | +few sentences or paragraphs may well suffice, if it is sufficient to |
| 91 | +understand the aims of the discussion. |
| 92 | + |
| 93 | +## Frequently asked questions |
| 94 | + |
| 95 | +**What happens if there are not enough proposals?** As noted above, |
| 96 | +meetings are not mandatory. If there aren't enough proposals in some |
| 97 | +particular iteration, then we can just opt to not discuss anything. |
| 98 | + |
| 99 | +[ct issues]: https://github.com/rust-lang/compiler-team/issues |
| 100 | +[template]: XXX |
| 101 | + |
0 commit comments