There have been lots of talks about Python 2 and its end of life. Now, Python Software Foundation(PSF) has given the retirement date of Python 2. Since the announcement, the internet is buzzing with the news.
“We have decided that January 1, 2020, will be the day that we sunset Python 2.”
Python Foundation, on its official Twitter account, announced the news for Python users and developers.
Sunsetting Python 2 – January 1, 2020, will be the day that Python 2 is sunsetted. That means that it will not be improved after that day, even if someone finds a security problem in it. You should upgrade to Python 3 as soon as you can. https://t.co/OOh84Fxx7K
— Python Software (@ThePSF) September 12, 2019
As stated by PSF the current version of Python 2.7 would not be maintained past 2020.
“We are volunteers who make and take care of the Python programming language. We will not improve Python 2.7 anymore after the given date, even if anyone finds a security problem using it.”
They also make it clear for Python developers as well as users to upgrade the systems/software to Python 3 as soon as possible.
Why has the Python Community taken this sudden decision?
The community has not made the decision suddenly. In 2008, PSF had technically announced that it will end support to Python 2 by 2015. Requesting the users to upgrade their systems to Python 3 before that timeline.
However, some kept following it, while many like Instagram did upgrade to Python 3. However, in 2014, the community decided to extend the support again till 2020 without giving a specific date. It gave enough time to users to switch their systems for future compatibility and seamless use of services of Python.
What is the need of the Hour?
The need of the hour is migrating to Python 3.
Python 3 has been with us since 2016. Since EOL of Python 2 stretched for years, PSF has made sure its users don’t lag so the community has provided enough time to make the upgrade. Also continuously supporting them transition to a more powerful one.
PSF is now keen to embrace the full potential of Python 3. Once the stable version of Python 3.6 was released, PSF made effort to increase the adoption of Python 3.
It’s high time, and PSF is looking to simplify code and take advantage of several new features in the current version of Python language and standard library.
The news is terrible for those who have not yet switched systems and software to Python 3. Though PSF claimed a majority of users have already made the switch however they have recommended upgrading to Python 3 to those who haven’t as soon as possible.
Let’s try to understand why the end of support is tough to deal for many.
This Reddit conversation would help you understand why this is a big deal.
To an above question a user responded –
If your machines are not web-facing, and you don’t use many 3rd party libraries, you can carry on using version 2, and nothing bad will happen.” on the On the other hand, if you want updates and the ability to pull down some new lib from GitHub, you’re going to have a terrible time.
Other users have also raised concerns about security vulnerabilities and bug fixes which will not get support once official maintainers stop working on it.
PSF was obvious in its statement that they will not maintain Python 2.7 even if a security problem arises.
We can understand the importance of security support and bug fixes through the concern raised by another participant in the discussion on Reddit:
“EOL is a big deal because, for 10 years, I’ve been using Python 2.7. I’ve gotten tons of updates for packages like numpy, scipy, and matplotlib. It’s not just bug fixes for those; it’s new features too. I really couldn’t care less about Python 2.7.7 vs. 2.7.16 (as long as I have at least 2.7.7). I care about everything else. It’s not just EOL for Python; it’s EOL for everything else.”
Let’s look at why users are fretting over this news:
- Third-Party Support
Official bug fixes or new releases have their share of impact on third party services. If you decide to stay with it, you may have to pay for third party support.
TensorFlow, Apache Spark, Scikit-learn, Pandas, Numpy, Matplotlib, Pillow, SciPy, and Cython, are some names that have already pledged to drop support for Python 2.7 or charge for continued usage. However, upgrading to Python 3 would help enjoy the free support – an advantage of open-source service.
Here is the list of third parties who have pledged to drop support for Python 2.7 past 2020.
- No Official Support
Official support has significance in many ways. Since PSF has already announced they want to dedicate their whole time to Python 3, no official support will be extended
What it means is that no formal support forthcoming for the version 2.7 or Python 2 standard libraries from the core team. It is also possible that post-2020 PyPA (python packaging authority) and PyPi(python package index) will not support version 2 for any length.
If you have no plans to upgrade to Python 3 and if you have experience working with Python 2, you can think for supporting it yourself.
One of the participants in Reddit mentioned, “If your project does not require much support of the third party, you can use your experience and expertise over Python 2 to support it yourself.”
- Vendor Support for Python 2 Distributions May Give In
Vendors like Linux, Docker, Cloud providers, etc. that support Python 2 distribution may give-in their support over time. Python 2 offerings are going to see the sunset from January 1, 2020. Although it will be possible to run a containerized version of Python 2 on a cloud platform, the scope of their support to Python 2.7 may become limited over time.
Python 2 EOL Support Options
If you are unwilling to migrate your Python 2 code, the future may not be as unsure as you might be thinking. Some options let you continue the usage of Python 2.
You can support the system yourself as a user mentioned on Reddit. If you have been working with Python 2 for years, you must be familiar with bug fixes and security vulnerabilities, etc. you can continue supporting the system yourself.
The second option is to find a commercial vendor. Yes, Python 2 will not receive official support from PSF, but there are companies fond of Python 2. You can find them and can purchase extended support.
Though both cases are helpful to keep alive, your systems/software written in Python 2 besides it will retire on January 1, 2020. However, the options are not feasible when you are thinking about long-term plans. Migrating to Python 3 enables you to continue the business efficiently, and grants you new features and tools to stay competitive always for further needs.