[python-committers] [Python-Dev] next beta

Barry Warsaw barry at python.org
Thu Aug 14 00:33:13 CEST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Aug 12, 2008, at 2:44 PM, Martin v. Löwis wrote:

>>>> I am planning to offer a single file patch for 2.3 and 2.4. As  
>>>> far as
>>>> one more 2.5 release, I don't think there's going to be many  
>>>> changes
>>>> to the 2.5 branch between now and 2.6/3.0 final - although if there
>>>> is, we'll obviously have to do another release.
>>
>>> I would like to establish a tradition where, after some final bug  
>>> fix
>>> release (e.g. for 2.5), further "mere" bug fixes are banned from the
>>> maintenance branch (and I did revert several bug fixes from the 2.4
>>> branch).
>>
>> I'm not sure I agree with this policy.  Can you elaborate on /why/  
>> you
>> want this?
>
> Because there won't typically be sufficient testing and release
> infrastructure to allow arbitrary bug fixes to be committed on the
> branch. The buildbots are turned off, and nobody tests the release
> candidate, no Windows binaries are provided - thus, chances are very
> high that a bug fix release for some very old branch will be *worse*
> than the previous release, rather than better.

Why is that qualitatively different than a security fix?  All the same  
conditions apply.

> An alternative would be to keep all infrastructure up and running,
> but that is infeasible.

Or to adopt tools that help improve reliability.  I'm not convinced  
that the buildbots really do that.  A PQM-style approach, while more  
of a pain for developers because of the serialized landings, would  
definitely improve things, and there's not nearly as much  
infrastructure involved to keep humming for old releases.  PQM isn't  
perfect, but I do believe it would help.

>> I understand that we're a volunteer organization, and that our  
>> resources
>> are limited.  I'm also wary about siphoning off those limit resources
>> right now for working on other than 2.6 and 3.0, but I'm not sure  
>> that
>> this policy really buys us much there. E.g. with this policy you'll  
>> need
>> a release cop to patrol commits and back out non-security fixes right
>> away.
>
> That's not necessary. When I made 2.3.7 and 2.4.5, I went through the
> complete log, and posted a list of patches that I wanted to revert.
> This was little effort, and I'm sure it would have been even less  
> effort
> if people had known that 2.4.x is a closed branch.

I'm glad it wasn't much effort.  Would you propose using technological  
means to close the branch?

>> It's much more work to revert such changes whenever we get around
>> to doing the release.  Seems like it could be /more/ work with this  
>> policy.
>
> It wasn't really that much work - there were little non-security
> patches, and they were easily identifiable from the commit message.
>
>> I do agree that we need to be very careful about introducing new
>> features, but I think non-security patches can be okay.
>
> They aren't, as they don't get sufficient testing.

Again, I don't think that's qualitatively much different for security  
patches.  We may manually test them, inspect them, rely on vendors to  
have tested them, but they don't go through the Q/A process we enforce  
for our active branches.

>> It's
>> demoralizing to have one's patches backed out.  Besides, we still  
>> have
>> downstream vendors that are maintaining and releasing Python 2.4;  
>> does
>> this mean they're out of luck for bug fixes or they have to roll  
>> their own?
>
> I've talked to the downstream vendors, and they really want security
> patches for a long time, above all. They are fine with maintaining  
> their
> own patches (which they do, anyway).

Would a policy of security-patches-only have any effect on vendors  
sharing fixes with us?  By that I mean, if 2.4 were open to non- 
security patches, would they be more or less willing to feed them  
upstream, where we could, if someone were motivated, port them forward?

>> We're on an 18 month release schedule, which is a long time to  
>> wait, so
>> I'm not in favor of an arbitrary date for cutting off "mere" bug  
>> fixes.
>> Rather, I'd like to see a policy (but not a promise) of supporting  
>> two
>> releases at a time.
>
> I think this requires more resources than we have - especially with
> your way of counting:
>
>> Thus, when 2.6 is released, we would stop support
>> for all but critical security fixes for 2.4, but we could (not will)
>> still release bug fixes for 2.5.  And of course, we'll support  
>> 2.6/3.0
>> while 2.7/3.1 is being developed.
>
> So that's *three* branches that we need to maintain, right: 2.5, 2.6,
> and 3.0. Once 3.1 is released, I supposed it's even *four* branches:
> 2.6, 2.7, 3.0, and 3.1. That means that every change must be
> committed/merged four times, you need to run the test suite four  
> times,
> and so on. Depending on the nature of the bug fix, you also need to
> keep the specifics of the four branches in mind.
>
> I don't think our committers will accept such a work load - which  
> means
> that some patches don't get backported (arbitrarily, depending on how
> relevant the committer views that policy).

Let me emphasize that I'm not suggesting our committers do this.  I'm  
suggesting that if a specific committer is motivated to fix a non- 
security bug in an older release, they would have to accept this  
responsibility.  Maybe it'll never happen because no one really cares  
enough.  But a policy against it would /prevent/ it even if there was  
motivation to do it.

>> Having lockstep 2.x and 3.x release complicates things a bit, but
>> because they are lockstep, I'm thinking of them more as the same  
>> release
>> rather than separate ones.
>
> I think this is an illusion. When did you last commit something to the
> trunk, and forward-ported it to the 3.0 branch? When did you last run
> "svnmerge avail"? Porting patches between 2.6 and 3.0 is anything but
> trivial.

I'll concede that it's very difficult.

- -Barry

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Darwin)

iQCVAwUBSKNhKnEjvBPtnXfVAQLC1AP8D4aJqfpEVCDt2I70wbiBLX+U2AL4LzmS
B08/pfWwZ1XdCRtx9Fp0MqVuTqpaKMJXXkA3zq6gxOQW1MQOi/ubWYkUlQYc/JMz
ZZUwm+jmccc+YeD5jffFM7HDuPK0hyHmK9MaS8blwXddQBiMIeJ/8u7gGmZGVN81
4FNjnwz1c1s=
=RBUx
-----END PGP SIGNATURE-----


More information about the python-committers mailing list