Contributing fixes - any chance of Python3-only Plone 5? Or, when Plone6?

I took a look at fixing a couple of bugs for Theme Editor - the TTW experience has been totally broken for what seems a couple of years by now (previews don't work, file upload does not work). However the more you fix stuff, the more Python2/3 compat issues start creeping into daylight.

Now, I don't have interest whatsoever in spending time maintaining any Python2 compatibility in Plone5 any more. I simply won't. Life is too short.

Has there been any talk about having a 5.x version that drops support for Python2? So Python2 could be just ignored in fixes that target, say, Plone5.3?

If not, in what order will Plone6 be developed? Could we just first simply drop stuff that can easily be dropped? So that some first interim versions would essentially be practically equal to production-quality 'cleaned-up' Plone5 without Python2 or Archetypes etc? This of course presuming that the feature-adding or any core-changing Plone6 PLIPS can be developed independently enough. I have no idea on that or any other issues that should be considered. Hence this post.

A look at https://plone.org/roadmap may help.

Thanks @jugmac00, I did take a look :slight_smile: These are questions I could not find answers to in the roadmap.

The current planning according to the Plone 6 roadmap is this:

  • We do not plan to drop Python 2 support within the 5.x branch
  • Plone 6 will be Python 3 only

I fully agree that it does not make much sense to put too much effort into fixing something in Python 2 these days. Therefore I'd recommend to go ahead and create a PR that fixes the bug and that would drop Python 2 compatibility. The Plone release team, the Plone release managers and maybe the Plone FWT then have to decide what to do with this and how to release it.

Ideally this fix would make it possible to use the package with both Plone 5.2 (Python 3) and Plone 6. Though, the Plone 5.2 support would not be tested in our CI and the package would never make it into the official 5.2 release. Therefore if Python 2 support is possible without too much hassle, we should try to support both versions for a while to ease the work of the release team. If that is not possible, we have to take this into account when making releases.

Next week will be another FWT meeting and the Beethoven Sprint (https://docs.google.com/document/d/1cATwN2eHi84XdwyvrTR1_Pji_YCO7M_vga3vK_9ju1k/edit#) will take place. That is a good opportunity to discuss how to proceed with this and maybe to come up with an updated Plone 6 roadmap that takes those questions into account.

2 Likes

Plone 6 will be the version where Python 2.X support will be dropped: If you want to improve / fix the Theming Editor and not put effort in Python 2, I think you should target Plone 6.

Discussions at the last sprints where I've been (Innsbruck, Dresden), planned release date for Plone 6 (tentatively) is at the end of Autumn, as both

  • a future proofing release for the server side rendered CMS Plone has been so far (updated theme with bootstrap 4, dexterity fixes, Zope 4/5 speed improvement)
  • The first version to have out of the box Volto support (and choice to install it when you create a new Plone site), which requires quite some improvements and fixes also in the Plone backend.

For the in place migration from Python 2 to Python3 you need Plone 5.2 core to run your site both under Python 2 and Python 3 .

Plone Foundation Code of Conduct