Hey there Team,
please don’t merge non-bugfix changes to the 3.9 branch during the beta phase unless absolutely necessary. I noticed a few changes merged in the past few weeks which don’t belong in a beta release. My point isn’t to dissect those cases now, nor is it to split hair on which compromise is better. I reviewed the changes in question and asked around for advice, ultimately deciding I won’t be reverting them. Nevertheless, I would like to remind you of this part of the Developer’s Guide:
https://devguide.python.org/devcycle/#beta
We follow a release process which leaves time specifically for bugfix-only changes (starting with Beta 1 for a given version). We do this to minimize risk and stabilize a release towards the final “point oh” release. The risk is minimized that way because:
- there is simply fewer incoming changes if we limit the set of acceptable changes;
- both core developers and testers can focus on features which are already implemented (we are not a moving target); and most importantly
- testers who ran tests with, say, Beta 2 can reasonably assume their program will work with the final release.
Be a team player, please, and respect the beta freeze. If you need an exception, that’s fine, it happens. I reviewed and accepted some during the 3.9.0 beta phase already. But in such a case please bring more people to the table so we can decide together. It doesn’t have to be me, I don’t aspire to be a gatekeeper, and I hope you see that I avoid using the revert hammer unless absolutely necessary. All I care about is that we produce releases of the highest quality and the community beta testing phase is a crucial component of that.
On code review
One last thing. There’s been some controversy around whether code review should be mandatory or not. This topic discusses the matter: Make code review mandatory?
Long story short, we cannot make code reviews mandatory because the team is too small, the codebase too big, and the volunteer nature of the project means we cannot expect any rate of contribution. In other words, Python would grind to a halt with mandatory review.
However, please note that those reservations talk about the regular development process. There are specific circumstances where we need more care. The Developer’s Guide specifically says review is indeed mandatory during the release candidate phase, see:
https://devguide.python.org/devcycle/#release-candidate-rc
By extension, I think it’s fair to expect at least some form of discussion on changes which fall outside of the acceptable set for the beta phase.
Cheers,
Ł