Desde el 1 enero de 2020, Python Software Foundation cuyo objetivo es promover, proteger y mejorar el lenguaje de programación Python y para apoyar y facilitar el crecimiento de la comunidad internacional de desarrolladores de Python apoyo finalización para Python 2.7.
Desde esa fecha, Python 2.x ya no se beneficia de ninguna actualización, ni siquiera de las correcciones de seguridad de la base PSF, por lo que durante mucho tiempo ha estado incitando a todos los desarrolladores a cambiar a Python 3 a riesgo de terminar con problemas o fallas intratables de Python 2.x que podrían arruinar sus proyectos basados en Python 2.
A pesar de las advertencias y recomendaciones emitidas por la PSF, así como por Guido van Rossum, el creador del lenguaje de programación Python, muchos proyectos todavía se basan en las versiones 2.x del lenguaje de programación Python.
Para los desarrolladores, las razones son varias. Algunos afirman que heredaron una base de código escrita en Python 2 y actualizar ese código significaría reescribir todo, lo que sería difícil de lograr.
Para otros, permanecen adjuntos a Python 2 por ciertos inconvenientes que atribuyen a la versión 3 del lenguaje como la lentitud, el manejo de paquetes que sería una pesadilla, la mala implementación de Unicode, etc. Para otros, sería solo una cuestión de preferencia, ya que se sienten más cómodos con Python 2 que con Python 3.
Si bien algunos desarrolladores persisten en integrar Python 2 en sus proyectos, Red Hat, que admite la distribución de Linux «Fedora», está firmemente enfocado en eliminar paquetes que funcionan con Python 2 y que hasta ahora se han integrado en Fedora, ya que durante varios meses no ha quitado el pie en presionar a los desarrolladores para migrar a Python 3 y eliminar todos aquellos paquetes basados en Python 2.
Y es que en un recientemente análisis de los paquetes integrados en la distribución ha mostrado un gran progreso hacia el objetivo de pasar solo a Python 3.
De hecho, de 4324 paquetes analizados en Fedora, 4280 paquetes solo admiten Python 3 con lo cual esto representa una tasa del 99% de los paquetes que funcionan solo con Python 3.
Con respecto a los paquetes restantes, un 10% de esos paquetes que aún no han migrado a Python 3 y que están aún detectados en Fedora, se pueden dividir en varios grupos, entre los cuales estan:
- Dependencias de compilación aún no se controlan correctamente.
- Paquetes mal empaquetados
- Paquetes inactivos
- Paquetes bloqueados
- Paquetes con doble soporte
- Paquetes con subpaquetes de hoja Python 2
Según los mantenedores de Fedora, 29 paquetes funcionan con Python 2 y aún no se han portado a Python 3. Siguiendo esta lista, también tenemos 6 paquetes que son compatibles con Python 2 y Python 3.
Además de estas diferentes categorías, los desarrolladores de Fedora informan que hay ciertos grupos de paquetes relacionados con dependencias por algún motivo de incompatibilidad o de migración hacia Python 3 y que probablemente necesiten de manera forzosa Python 2.7 en Fedora 32 o superior.
Cuando un paquete se encuentra en esta situación, necesitará una excepción del FESCo (Comité Directivo de Ingeniería de Fedora o en francés Comité Directivo de Ingeniería de Fedora que administra el proceso de aceptación de nuevas características, problemas de mantenimiento y otros problemas técnicos relacionados con la distribución y construcción de Fedora) para permanecer en Fedora.
Los paquetes afectados por esta última categoría son, entre otros, el navegador Chrome, GIMP, la base de datos PostgreSQL, PyPy, el entorno de escritorio Sugar, etc.
Si bien para muchos desarrolladores esta limpieza de Fedora es más que necesaria para avanzar, algunos usuarios de la distribución GNU/Linux sienten que valdría la pena darles a los propietarios de los paquetes basados más tiempo en Python 2 para corregirlos a riesgo de penalizar a los usuarios de la distribución eliminando paquetes basados en Python 2.x.
Finalmente si estás interesado en conocer más al respecto sobre el análisis realizado en los paquetes de Python en Fedora, puedes consultar el siguiente enlace.
¿Y tú crees que las demás distribuciones de Linux deberían de tomar una posición similar a la de Fedora en cuanto a presionar a los desarrolladores a migrar a Python 3?