Procedure for changing the spec

I just posted a PR explaining the procedure for changing the typing spec. It’s what we’ve already followed for a few changes that are in flight, but I think the intended procedure hasn’t been documented very clearly, so I’m proposing to add the procedure to the spec itself, where it will hopefully be easy to find.

The procedure is as follows:

Changes to the specification come in three kinds:

  • Minor, non-substantive changes can simply be proposed as PRs to
    the python/typing repository,
    and may be merged by anyone with commit access. Such changes may
    include formatting fixes, linking improvements, etc.
  • Major changes should go through the PEP process, as described in
    PEP 1. What counts as a major change is not precisely defined,
    but it would generally include any change of a similar magnitude
    to previous typing PEPs.
  • Substantive changes that do not rise to the level of a PEP must
    be approved by the Typing Council. The procedure is described below.

Changes that need Typing Council approval go through three steps:

My hope is that this procedure is as simple as possible while giving enough opportunity for community input and ensuring that future changes improve the quality of the spec.