I want to apologize for the radio silence here. It’s been a busy time! I wanted to post a quick update with the current status (there’s a list of work items I want feedback on below):
First off, I’ve created a GitHub team called WG-unsafe-code-guidelines. The main role of this team is so that people can write cc @WG-unsafe-code-guidelines
whenever they encounter some kind of thorny situation and a reasonable set of people will be cc’d. Being on this GitHub team does not imply any particular responsibility or authority – just a desire to be informed.
Currently, the team consists of myself and @RalfJung – if you would like to be on it, or you think you know someone who should be on it, just ask. =) Some likely candidates might be @eternaleye, @arielb1, @ubsan…? Obviously this is not a complete list.
Second, I’ve also created a GitHub repository rust-rfcs/unsafe-code-guidelines to serve as the home for this new UCG effort. As I initially proposed in this thread, this repository houses a mdbook called the “reference”. This is meant to organize some of the thornier unsafe code questions that we are looking at and to collect reliable information and advice. It will eventually record the consensus and be a true reference, though I always expect it to be a kind of “living document”.
Finally, I’ve been talking a lot about how to actually organize this effort and get it off the ground. In particular, I’ve talked with @avadacatavra, whom I hope to corral into playing a kind of organizational role. That said, I think that helping to organize and manage this group would be a great way for people to get involved, so that sounds like something you’d like to help out with, please do let me know!
I believe that the rough plan should be like this:
- We hold a meeting every N weeks, where N is probably 2 or 4. Probably over Zulip or Discord but maybe over some voice channel instead for higher bandwidth.
- The topic of that meeting is decided in advance: it should be one of the “subsections” in the reference.
- We nominate someone to “lead” the meeting. Their job is to do research on the topic and prepare an agenda of complex questions.
- We create a thread specific to this meeting on internals – or maybe open up an issue on the GH repository?
- Leader can post details and links into that thread as well as summaries
- people can provide feedback if anything is missing
- Goal of the meeting is to produce answers for the major questions
- Often, especially to start, definitive answers will not be possible.
- In that case, goal would be to produce a definitive SUMMARY of the key constraints and examples.
- After meeting, the leader is responsible for:
- updating the reference with a summary of the major points raised and/or consensus
- perhaps adding detailed minutes or other notes elsewhere in the repo as needed
- Rinse and repeat as needed.
Work items:
Here are some things I would like feedback on.
- Are there topics missing from draft table of contents in the UCG reference?
- Are you interested in helping to organize meetings and other events?
- Are you interested in being added to WG-unsafe-code-guidelines alias?
- Does my plan for meetings sound reasonable?
- Nominations for first meeting topic?
- I was thinking we could start with a kind of “softball” (ha) and talk about data structure representation. What kinds of things can people rely on?
- What schedule should we use for meetings?
- In particular, it might be useful to wait to start meetings until after Edition Preview 2, at least, is done.
- Any other thoughts?