January 1, 2020 is Python2’s expiration date, a date announced two years ago by Guido van Rossum, the “father of Python,” and which has been eagerly awaited by the developer community ever since.
Yesterday was such a happy day, a variety of festive reports of the change in the eye. There are plenty of jokes, like this one:
And this (don’t believe it!) :
However, I came across a question today that went something like this: The official website says Python2 will retire in April. Is that official news that the countdown site is fake?
The official website he was referring to was this article
What’s going on? Spread so long New Year’s Day retirement news, actually can not be accurate? So many people are celebrating, actually celebrating a fake news?
I googled the article and read it carefully before noticing that the release date was December 20, 2019, two weeks ago. There was no mention of January 1, and no specific date in April.
The article is true, but the dates are obviously contradictory. What’s going on here? Surely the authorities have something to say? With that in mind, I checked the official twitter feed and a few key developers.
After some research, I finally figured out what was going on and found the so-called “official explanation”.
2020-01-01 is the board date for Python2’s END of life (EOL), but the release cycle up to that date is still in progress, with the last version scheduled for release at Pycon US in April.
Python2.7 was last released in 2019 with version 2.7.17 on October 19, and all issues after that until 2020-01-01 are accepted by developers, with version 2.7.18 scheduled for incorporation on April 17.
Think of a basketball buzzer beater, and you can see how it works: the ball goes about a third of the way through the air, then the buzzer blows and the shot is pocketed.
A third of the way through version 2.7.18, it’s like a ball out of hand, an arrow out of a string, and a splash of water, and a responsible Python official still has to endorse it.
The decision is not a recent one, as it was announced by Python2 release manager Benjamin Peterson back in September 2019. Here’s a screenshot of the email group:
A number of developers have expressed doubts: Why can’t the April release be moved up? If the final release is in April, why not say EOL is in April? Why are two inconsistent dates allowed?
According to my understanding of the discussion, there are mainly the following reasons:
- The end of December is not a convenient time to “work” (because Thanksgiving is off!).
- There is an annual community meeting in April, where people can vent collectively
- The last version of Python 1 (1.6.1) already has this precedent
There are many developers also expressed seconded, approbation of this arrangement. A detailed discussion can be found at https://dwz.cn/ECmB3cZo
If PSF had explained this arrangement when they published the “April retirement” article, perhaps there would have been less confusion and suspicion of spreading false news…
Now, you understand the whole story, don’t you? However, I believe that some readers have a question: since we already know that there will be a tail to deal with, why can’t we speed up the progress, put more effort, and strive to release the last version of 2019-12-31 exactly?
Catching up with the schedule, meeting deadlines and working overtime are all too common in China’s Internet sector. However, Python’s core developers are mostly volunteers who spend their spare time as a hobby. Their main job may not even be 996, so how can they expect to be 996 on the side? ! Don’t impose yourself!
Finally, after all, Python2 did become EOL in 2010-01-01 and has since died on its own.
The final version will be released in April (including questions until January 1st only), so let’s just let the ball fly for a while, and when it lands, we’ll toast together.
The public account “Python Cat”, this serial quality articles, cat philosophy series, Python advanced series, good books recommended series, technical writing, quality English recommended and translation, etc., welcome to pay attention to oh.