[Python-Dev] Community buildbots and Python release quality metrics (original) (raw)

glyph at divmod.com glyph at divmod.com
Thu Jun 26 22:06:38 CEST 2008


On 07:44 pm, g.brandl at gmx.net wrote:

At no time will a policy "the community buildbots must be green" be useful: the tests that run on these buildbots are not under our control, so if the tests test things we deem non-public we can't do anything about it. (And we may have a hard time convincing project authors to change the tests if we promised to make them run anyway.)

That's not what I'm suggesting.

If there is a legitimate disagreement between Python developers and developers of a project about whether an API should continue to be supported, then clearly, the Python developers get to win. Welcome to open source.

However, I believe that the core team is not paying attention to other projects breaking. I'm not saying that you want to make breaking changes, or that bug reports are not dealt with, but the problem is that dealing with these problems after the fact makes it much more painful. When you get to the release, and you have 30 bug reports due to other projects breaking, they get triaged, some get left in, and some features of lots of different projects are left broken. And many projects do not bother to test with the beta.

If developers were simply presented with the results of their changes immediately ("you broke twisted, django doesn't import, zope segfaults and mercurial destroys your repository") then perhaps they would weigh the benefits of compatibility differently, and do the trivial, obvious fix immediately, rather than waiting 6 months and having to figure out what the heck change caused the bug. I accept the fact that python core development is done differently than i.e. Java development, and some backward compatibility may simply be broken.

Case in point: changes to the warnings module being discussed in a separate thread break a significant number of Twisted's tests, because they remove functionality which is not public but is required to test code that uses the warnings module. Would Brett have taken this into account if he knew about it immediately when revision 62303 was committed? Maybe not, but now that the code is written and done, there's significantly less motivation to go back and fix it. At the time it might have only been a few minutes' work to continue supporting the use-case which Twisted needs. Brett wouldn't even have necessarily needed to do the work: it would have been easier to convince a Twisted developer to do the work it to keep the community buildbot green rather than to make it a bit less red. Now, though, it's much easier to say "oh well, that's private, you lose". I don't ascribe this to malice - it really would be much harder to fix it now, for us as well as for him.



More information about the Python-Dev mailing list