July 17, 2008

CPython Getting Serious About Quality: Help Needed

Beta2 of Python 2.6 and 3.0 was due out today. It isn't going to happen, and for the best of reasons. Under the guidance of release manager Barry Warsaw the developers have started to pay serious attention to the output of the buildbots, the systems which perform continuous integration testing of the development version of the Python interpreter.

Barry has just announced that there are three issue serious enough to delay the release, even though this potentially means slipping the release schedule (though time will tell whether that's a serious concern). If you are a Python developer, please take notice of what he said in an email to the python-dev list earlier today:
Please everyone, if you have only a little bit of time to work on Python, I hope you will attack the release critical and deferred blocker issues, and work on turning the buildbots green. These are the top priorities in order to get 2.6 and 3.0 out on time. And just as added incentive, our October 1st goal is being noted by downstream vendors. [Possibly confidential information about third parties redacted].
Quality is important. Please do whatever you can to help. Many people can benefit from a little extra effort now.


Anonymous said...

Wasn't that beta2? I think beta3 is scheduled for next month.

Steve said...

Yes indeed, thanks for the correction - I have amended the article.

René Dudfield said...

The major problem with 2.6+ is...

- it's unusable for downloadable applications.

The reason? It doesn't work on older versions of windows.

That means win98, winme and many versions of win2k etc.

It's impossible to just put that support back in... the python developers don't have the skills - and for anyone else to put back in all the old code would be an impossible task.

Why didn't people notice it earlier? It wasn't in the release notes -- but only in a pep. When the python developers were alerted to this they updated the notes... around the time of the alpha releases.

No one uses win9x, win2k? Not true... look at available statistics and you will see(w3c stats for example). Around 1-3% is a number you'll find in the statistics.

So what to do for downloadable applications? Stick with python2.5 for the future. python2.5 will still be available for quite a while.

This is the major problem for application developers, and python developers... since it's going to slow down adoption of 2.6 and py3k.

Steve said...

So you're trying to tell me that people who use ten-year-old operating systems are going to want to upgrade to the latest version of Python?

I see your point, but I don't believe it's a major concern.

René Dudfield said...


People distributing applications written in python mostly I care about. If you write a program with python you distribute python with the program.

Yes, also people writing python programs. The pygame windows maintainer uses win98 for example.

There are lots of machines in the world where win98 is the only choice. Since that's all that runs on those machines.

Steve said...

All of this may be true, but none of it obliges the developers to expend support effort on a minority platform.

If someone steps up to support Windows 95 and persuades the committers that they are serious about ensuring that checkins that break the platform will be fixed to make them work there would be no issue with supporting the operating system.

It's unreasonable and unrealistic to expect someone who doesn't use Windows 95 to have to maintain it.

Steve said...

... and, of course, nothing is going to stop 2.5 from working, so those who want to program for it will have to stay with that. Which is pretty much what you said.

Are you aware of any recent Microsoft products that run on Windows 95? Why should open source projects be saddled with a support burden that commercial products aren't?

René Dudfield said...


a few notes in response to your points...

1. yeah, python2.5 is the way forward (for downloadable app developers). However this is a problem for python-dev since these people will have to stick with python2.5, or drop support. Meaning the transition to py3k will be slower.

2. it's not just win95. It's win98, winme, and lots of win2k machines(all except service pack 4) -- and all the other windows releases inbetween. Looking at the usage statistics available, python is dropping support on python2.6 for close to as many people using linux on the desktop (again note python2.5 is still available).

3. Comercial developers can be open source developers. I think you meant closed-source developers. This is about downloadable programs - not about comercial, or open source.

4. Opensource, Non-comercial developers release lots of downloadable programs. Python itself is a downloadable program. Not everything is a web application(most of which are closed sourced). Microsoft even still has programs that run on win9x+.

5. looking at the release notes there is at least one fix mentioned for win95... despite in other parts people are removing win9x, winme, win2k support.

It's not just not supporting it any more, it's actively removing code, and using a new c runtime which stops python from running(since it's also not supported by old windows machines). What's worse is that at the same time people were making bug fixes for win9x. So even some of the python developers didn't know support was being removed.

I doubt anyone will be able to fix it, since too much has changed to put all the old code back in... and it's too late now. I doubt python-dev will allow going back to an older c runtime. Communication to python users hasn't given people who care time to prepare.

It's annoying since it's also going to stop some developers releasing packages for 2.6. As one example the windows maintainer for pygame uses win98. Students use it in old labs - so they won't be able to learn 2.6. It's only 1-3% of people, but that's still a lot really.

python2.5 is where it's at for downloadable developers.

Steve said...

So the issue here is that the version of Visual Studio used to compile the Windows binaries no longer support the platforms you mention?

I'm not sure where web applications fit into this picture. I don't remember mentioning them. It does seem strange that the developer(s) who applied win95 fixes weren't aware that win95 would no longer be a supported platform. Personally I have known about this withdrawal of support for some time, and I am not an active developer.

It seems to me that python-dev is the place to present these issues to have any chance of a resolution,though like you I doubt anything can be done at this stage.

I am not trying to defend the developers: this is an unfortunate situation. Better communications might have helped, but you can't blame the development team for all of this: if a platform is important to one's projects then a certain amount of monitoring is required to ensure these issues don't arise.