Just a small thing to add - while we are releasing RCs, I think the right approach should be not to encourage the projects to make it easy for anyone to install and test the release - which does not automatically mean to publish RC in the same way the final candidate is published. The key here is to let the users know that there is a candidate and encourage them to test it. I think it has more nuances than publishing to Maven/ PyPI etc. - and PMCs should choose their own ways and encourage their "dev community" (not end users mind you - those users might be misled into thinking this is the final release!) to test it.
There are many ways how this can be done: * Airflow is indeed publishing RC candidates in PyPI (PyPI has a great distinction between pre-release and final candidates and users cannot mistake them for final versions, they need to explicitly install RC candidates) and we invite contributors to test the releases via GitHub issue (automated) where we mark the involved contributors: example here - https://github.com/apache/airflow/issues/45148 - we usually have at least 60% "success" rate - i.e. more than half of the users involved are willing to take the RCs for a spin, install it and test it (and confirm it works or report issues). This sustainably works for 3-4 years now. * However, quite recently in the Python ecosystem at least where the Python Community standardised packaging and build backend/front-end approach - it is a very common practice to use GitHub branches to install the software. There is a way to do it it in a standard way and more often than not when we find and report (or comment) an issue in a dependent library, they create a PR and ask everyone to test it from the branch - an example of it recently where we found a problem in Pygments and they created a PR fixing it - issue here https://github.com/pygments/pygments/issues/2834, PR in Airflow testing the change in PR here: https://github.com/apache/airflow/pull/45416/files (basically replacing "pygments>=2.0.1,!=2.19.0" with "pygments @ git+ https://github.com/pygments/pygments.git@a9858663ed85219ed7475f5877b22b9cb49f660f". This is a very efficient way of testing - because you can test the fix not when all the burden of release preparation and rc candidate preparation is done, but way before, even way before the PR with fix is merged. This is something we are actually going to encourage more - currently our 90+ providers in our monorepo are not installable via GIT URL, but we are implementing restructuring to make it possible - so that you can install any of our packages directly from our monorepo github repo - specifying the package you want to install, URL and commit-ish git reference. So if we want to add something about policies/best practices - we should rather describe the "INTENTION" to have RC (or even PR!) candidates being easily available to install and test, but how PMCS turn that into practice - should be up to them. J.