Mais le compte à rebours pour l'abandon total de Python 2.x a été lancé en mars 2018 quand Guido Van Rossum a annoncé qu'il envisage de mettre fin au support de Python 2.7 le 1er janvier 2020. Guido van Rossum a prévenu qu'après la date du 1er janvier 2020, Python 2.7 (la dernière version encore prise en charge dans la série 2.x) ne va bénéficier d'aucune mise à jour, pas même de correctif de sécurité du code source. « La façon dont je vois les choses pour [Python] 2.7 est que la fin de vie est 1er janvier 2020, et il n'y aura pas de mises à jour, pas même de correctifs de sécurité du code source, après cette date. Le support (fourni par les développeurs principaux, la PSF, et python.org) s'arrête complètement à cette date », a-t-il dit dans un message publié via la liste de diffusion Python.
Pour ceux qui voudront un support pour Python 2.7 après cette date, il faudra donc payer un support commercial chez un fournisseur. Les forks ne sont pas non plus à exclure vu que le projet est open source. « Mais les développeurs principaux ont travaillé assez longtemps, et la date de fin de vie de 2020 (une extension de la date initiale de 2015) a été annoncée avec suffisamment de temps et en fanfare que je ne me sens pas du tout mal d'arrêter le support [de Python 2.7] », expliquait Guido van Rossum.
L'année 2019 arrivant déjà sa fin, plus de 100 projets populaires de l'écosystème Python ont annoncé dans un communiqué qu'ils comptent abandonner Python 2.x au plus tard à la fin du support officiel fixé au 1er janvier 2020.
« Presque tous les packages Python open source majeurs prennent désormais en charge Python 3.x et Python 2.7, et de nombreux projets prennent en charge ces deux versions du langage depuis plusieurs années. Bien que nous ayons développé des outils et des techniques pour maintenir la compatibilité de manière efficace, cela cause constamment de petits désaccords dans le développement de nombreux projets. Nous souhaitons utiliser le plein potentiel de Python 3 et acceptons actuellement le coût d’écriture de code cross-compatible pour permettre une transition en douceur, mais nous n’avons pas l’intention de maintenir cette compatibilité indéfiniment », lit-on dans une déclaration jointe.
Bien que la transition n'ait pas été aussi rapide qu'ils l'espéraient, ils reconnaissent qu'elle est en train de se faire étant donné que de que de plus en plus de gens utilisent, enseignent et recommandent Python 3. Mais ils estiment que les 5 années de support supplémentaires pour Python 2.7 sont suffisantes pour faire la transition, et annoncent donc que leurs projets « prévoient d'arrêter de supporter Python 2 lorsque la prise en charge en amont va se terminer en 2020, voire bien avant ». « Nous pourrons alors simplifier notre code et tirer parti des nombreuses nouvelles fonctionnalités de la version actuelle du langage Python et de la bibliothèque standard », ont-ils ajouté. Précisons que bien avant 2020, bon nombre de ces projets abandonneront la prise en charge de Python 2.7 pour ne corriger que les bogues et exigeront Python 3 pour toutes les nouvelles versions. Certains ont même déjà abandonné Python 2.7.
Au moment de la rédaction de cet article, c'est près de 120 projets qui ont signé cette déclaration et d'autres projets sont invités à faire de même.
Ces projets s’engagent à abandonner le support de Python 2 d’ici à 2020, et il y en a des dizaines d'autres
Au même moment, le National Cyber Security Centre (NCSC), l'agence britannique de cybersécurité appelle également les développeurs à abandonner Python 2 et à migrer leurs bases de code vers la branche 3.x étant donné que la version 2.x ne sera bientôt plus supportée. « Si vous continuez à utiliser des modules non pris en charge, vous mettez en péril la sécurité de votre organisation et de vos données, car il apparaitra tôt ou tard des vulnérabilités que personne ne corrigera », dit-il dans un communiqué sur son site officiel. L'agence attire notamment l'attention des développeurs qui maintiennent des bibliothèques dont dépendent d'autres développeurs, car s'ils continuent de supporter Python 2.x, ils empêchent les autres de migrer vers la version 3.x. « En retenant les autres développeurs [sur Python 2.x], vous augmentez indirectement et probablement involontairement les risques de sécurité des autres », a déclaré le NCSC.
L'agence avertit encore que les entreprises qui n'investissent pas dans la migration de leur code Python 2.x pourraient se retrouver dans la même situation qu'Equifax ou les victimes de WannaCry. « Au NCSC, nous insistons constamment sur l'importance de l'application de correctifs. Ce n'est pas toujours facile, mais appliquer des correctifs est l'une des choses les plus fondamentales que vous puissiez faire pour sécuriser votre technologie », a déclaré l'agence. « Le ransomware WannaCry fournit un exemple classique de ce qui peut arriver si vous utilisez un logiciel non pris en charge. En prenant la décision de continuer à utiliser Python 2 après sa fin de vie, vous acceptez tous les risques liés à l'utilisation d'un logiciel non pris en charge, tout en sachant qu'une version sécurisée est disponible », lit-on dans leur communiqué.
Sources : NCSC, python3statement.org
Et vous ?
Avez-vous encore des projets sous Python 2.x ? Qu'est-ce qui pourrait retenir encore une organisation sous cette version de Python ?
Si vous avez migré, quelle a été votre expérience ?
Voir aussi
Python 3.8.0 : un aperçu des fonctionnalités attendues pour la version stable du langage de programmation prévue pour octobre prochain
Semaphore : de nombreux nouveaux projets commerciaux sont développés dans des langages qui ne sont plus supportés, quelles en sont les raisons ?
Python 3.8.0 : la première version bêta est publiée avec une API C pour améliorer la configuration de l'initialisation
Python en 2018, les chiffres clés de la communauté. EDI, frameworks, utilisation, SGBD, ORM, tests...
Une première version alpha de Python 3.8 est publiée. Voici un tour d'horizon des nouveautés de cette version