Collaborative RFCs


#1

The one flaw I see in the RFC process is all the work in preparing/revising “the document” falls on the shoulders of the person proposing the RFC. This can result in RFCs taking a long time to go through.

With this structure of one person writing the RFC and everyone else questioning and criticising it, I’ve noticed cases of an adversarial relationship arising between the writer and everyone else. To me it looks like a battle to get an RFC accepted and I simply don’t have the energy for that.

What if we changed the dynamic? If we had an ad hoc working group producing and revising each RFC, it’d be a team sport. And progress wouldn’t be blocked on a single person finding time to do all the work.

Strawman process:

  • Pre-RFC here on internals.
  • Someone creates a development repo (by forking rust-lang/rfcs and creating a dev branch), starts the RFC and posts the link on the thread.
  • Anyone interested comments on an issue on the repo and is granted commit access.
  • When ready, a “champion” forks the repo and submits a PR to start the formal RFC process.
  • Like they currently do, people comment on the RFC PR, but they can also join the working group and revise the RFC if they want.
  • The working group modifies and iterates on the dev repo RFC continually. And when appropriate, the champion pushes updates to the RFC for wide review.

What do you think?


3 weeks to delegation! Please help
3 weeks to delegation! Please help
#2

This has happened organically for some larger RFCs, see https://github.com/nikomatsakis/nll-rfc and https://github.com/nikomatsakis/fields-in-traits-rfc as two examples.


#3

I’m not sure it needs to be that organized with repositories and such, but I believe that co-authored RFCs have in general better text quality and make less glaring omissions than RFCs written alone.

Two persons as opposed to one already gives, in my experience, a great boost to quality. So I would really recommend using tools like https://hackmd.io/ for real time collaboration on writing RFCs.


#4

I think this is allowed and happens from time to time, so I don’t think there’s a need to codify it (eg. all the working groups stuff). But maybe making the possibility better known/advertised could help ‒ both in general and having „contributions and pull requests to the RFC text welcome“ in the intro comment in the discussion of each RFC.