Python3 only (except the build) after 4.10 branches

Andrew Bartlett abartlet at
Thu Dec 13 00:32:37 UTC 2018

On Wed, 2018-12-12 at 10:57 +0100, Stefan Metzmacher wrote:
> Hi Andrew,
> > > The build falls over by default on CentOS 7, RHEL 6, FreeBSD 11 and AIX
> > > 7.  We either save our (manual installing) users some pain and make it
> > > work if they don't have python3...
> > 
> > Sure.  But please do remember that python2 support, except for the --
> > disable-python fileserver build, is going away after 4.10 branches. 
> We should not rush that in!
> Now that everything seems to work in both worlds, the cost of
> maintaining it are not really high.

I'm sorry, as someone who has been involved in this for way to long, I
have to strongly disagree.  The extra time spent on each development
task (as it bounces back from CI due to incompatible syntax) seems
small, but it adds up!  

Even when we 'only' supported python2, we couldn't reliably ship
releases that work on Python 2.6 consistently!

As Jeremy so likes to say, we should not try and code in two languages,
we should cut over as fast as possible. 

> Actually it will make it harder because it's not trivial to backport
> bug fixes to 4.9 and 4.10, because the master patches are no longer
> tested with python2.

I guess it depends on how much effort is in backporting vs effort in
new development.  We are already actively making other changes (pep8
etc) that make backporting python patches harder, but like the move to
python3, it makes the future better, and we have to live for the
future, not for backporting (which we don't do nearly as much in the
python code compared with the fileserver). 

> I'd like to defer the decision about it to before 4.11 branches,
> then we have real world feedback of how 4.10 works with python3.

I'm very sorry you have this position, as I can't be sure we will still
have the resources to do anything by then.  I feel incredibly fortunate
 to have have had Noel's support for this effort, and the support of
all those who have gone before.  

Are we really sure that there will still be that resource available,
for year 5 of the py2->py3 project if we stop and wait?

Will you be available to help remove all the custom py2/py3
compatibility code?

It will be hard enough supporting waf in py2 and py3 long term, lets
not make this any harder on ourselves than we absoultly must. 

We are not going back!  Instead, we should keep up the momentum, cut
over fast, let users have one last release where they can back out if
they must.  While they do that, we resolve the issues for python3 in


Andrew Bartlett

Andrew Bartlett
Authentication Developer, Samba Team
Samba Development and Support, Catalyst IT

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 862 bytes
Desc: This is a digitally signed message part
URL: <>

More information about the samba-technical mailing list