[ACCEPTED] PEP 602: Annual Release Cycle for Python

Looking at current proposal in PEP 596 and the expected Fedora 33 schedule.

At 2020-08-25, Fedora 33 Beta Freeze starts. At that date, Python 3.9.0 is still at b4. Having it as rc1 would be much better. When Python slips, we would satisfy with b4. We want to avoid b3, because there are dangerous changes happening between betas, such as changing the bytecode magic number (and we need to rebuild the whole distro when this happens which is hard after beta freeze, but not impossible).

At 2020-10-06, Fedora 33 Final Freeze starts. Python 3.9.0 final is scheduled 1 day before that. It is not very uncommon that such a release slips by a day or two and what’s worse is that Fedora freezes at 00:00 UTC and Python schedules deadlines as AoE, adding additional 36h difference. That’s why I’d like to aim for at least 1 week earlier. 3.9.0rc2 is currently scheduled at 2020-09-14 which is quite good, but moving it sooner would make me sleep better.

So, technically, this boils down to:

  • move by a week might work if Python doesn’t slip too much (it often does)
  • move by 2 weeks would probably cover for the delays
  • move by 3 weeks would be pretty awesome
  • move by 4 weeks is probably paranoid

It doesn’t really matter that much what is it called, but rather what are the guarantees behind that. (OTOH shipping a Fedora release with an RC version of Python definitively sounds better than shipping it with Beta.) Doing a real RC at the time of current Beta 4 would be indeed nice, however I’m not that sure that it would not require further adjustments of the rest of the milestones. IMHO shifting the schedule by 2-3 weeks instead would make it more likely that we don’t end up with major differences between rc1 and rc2.