Python 2 EOL Report Card – Is The Industry Ready?
More details about Python 2 EOL, and give you some insight as to whether or not the industry as a whole is ready for the transition.
Join the DZone community and get the full member experience.Join For Free
ActiveState surveyed >1200 developers at the end of 2019 to better understand their plans for Python 2’s impending End Of Life (EOL). The results are now in and have been compiled into a synopsized report that’s currently available for download. If you haven’t started to deal with the EOL issue yet, you’re not alone. The report can help you:
- Gauge where your EOL efforts stand relative to your peers.
- Plan for migration to Python 3.
- Understand your options if your migration efforts are blocked.
This blog post will dive into a few more details about Python 2 EOL, and give you some insight as to whether or not the industry as a whole is ready for the transition.
You may also like: End of Life for Python 2 — Now What?
Python 2 EOL? Why Worry?
So, the Python 2 EOL date (January 1, 2020) has come and gone and as you may have noticed, the world failed to end, the apocalypse did not happen, and your Python 2 applications are still running.
In fact, Python users as a whole seem to be pretty unfazed. Take the most popular Python package by downloads, for example, urllib3. According to pypistats.org, the trend is toward fewer downloads of the Python 2 version than the Python 3 version post-EOL, but on some days downloads are split roughly 50/50, as shown here.
This is reflected in ActiveState’s survey, which found that:
- 53% of respondents either have no EOL plan at all or are unsure their organization has a plan in place.
- 50% of respondents feel somewhat prepared or else have yet to start preparing for EOL.
So what’s the big deal?
The Real Issues With Python 2 EOL
The problem isn’t the fact that the Python Software Foundation and most package maintainers will now no longer provide support for Python 2. The real problem is the fact that existing Python 2 applications will become less reliable and more vulnerable over time as bugs, security issues, and CVEs crop up – issues that will no longer be fixed by the community as they focus their efforts on Python 3 instead.
As a result, each organization needs to evaluate the risk for itself. Some will feel it’s necessary to deal with the EOL fallout sooner rather than later. In fact, our survey shows that most respondents have already stopped developing new Python 2 applications in favor of Python 3.
But that still leaves more than one-third of organizations with a sizable liability on their hands.
Where Does The Industry Go From Here?
The dollar cost of rewriting an application in a new language (or a new version of a language) is non-trivial, but for any commercial application in a competitive market, the real problem is opportunity cost. In other words, spending your resources on migration instead of building out new features and functionality may end up putting you months behind your competitors.
Despite the costs, 66% of survey respondents are either currently migrating their Python 2 applications to Python 3, planning to do so, or have already done so. In fact, pypistats.org currently lists a migration library called six (which enables Python 2 code to work on both Python 2 and Python 3), as the second most downloaded package for the past day, week and month.
Finding replacement packages was cited as the top concern in our survey. For example, some respondents reported dependency on a commercial package that had yet to provide support for Python 3 as the key blocker in their migration efforts. Others are still in the process of ramping up their skills and preparing key systems, like test suites.
But with only 3% of respondents indicating that they’ve completed their migration efforts by the close date of our survey (November 30, 2019), the industry still has a long way to go. It’s no wonder that one of their key concerns is the need to continue supporting their Python 2 applications until their migration effort is complete.
Support Beyond Python 2 EOL
Once any technology becomes EOL, commercial support options become very limited, if any. And if you do find a vendor, chances are what they offer is either expensive, limited to security updates only, or both. Here is the current state of some of the most popular Python vendors:
- Anaconda: the message from the most popular vendor of Python 2 is "maintain it yourself" or prepare to migrate to Python 3. No commercial support options are available.
- Linux Vendors: in general, vendors like Red Hat, Ubuntu, etc will continue to support Python 2 for the lifetime of those distributions that currently ship Python 2. Going forward, Linux vendors are migrating their distributions from Python 2 to Python 3.
- ActiveState: the only commercial vendor that continues to support Python 2 deployments beyond EOL. The support offering includes Python 2 core language vulnerabilities, as well as security issues in popular third-party packages.
Opinions expressed by DZone contributors are their own.