[python-committers] Status of the Derby, and request for another slip

Larry Hastings larry at hastings.org
Sat Jan 25 14:09:27 CET 2014



The Great Argument Clinic Conversion Derby has been underway for about 
2.5 weeks.  Here's a status update.  I'll try to keep this short.

It's taking a lot longer than I expected it to.  This has been due to
* bugs and flaws in Argument Clinic itself (a "flaw" is an "I didn't 
foresee that" design error),
* having to make changes to CPython itself, which required *very* 
careful work and was therefore quite time consuming, and
* my time being a huge bottleneck.

I'd like to extend the Derby by two more weeks and add a fourth beta.

--

I've made huge improvements to the implementation of Argument Clinic, in 
response to bugs filed and crippling-missing-features requested.  
Argument Clinic is growing more sophisticated by the day.

I've also, regrettably, made some modifications to CPython, to better 
support signatures in builtins.  In particular, I had to modify four 
additional callable types to add support for "__text_signature__", 
including PyTypeObject.  These changes were reviewed by Nick and Guido, 
so I have a high confidence that the changes will not destabilize Python 
3.4.  (If there is demand, I can compile a list of all such 
arguably-not-a-bugfix post-feature-freeze changes to Python 3.4 if 
there's interest.)


The main problem with running the Derby: everything is gated on me. 
Until just recently, I've had to review every patch, and I've had to 
make every modification to clinic.py.  I've been spending all day, every 
day, with very little time off, on the Derby, and still it's nowhere 
near enough.

This is changing, slowly.  I now have a handful of people who make small 
changes to clinic.py or review patches.  But major brain surgery on the 
tool is still up to me, and I still have a half-week's worth of work on 
my to-do list.

I've been prioritizing bug fixes and crippling missing features over 
reviewing patches.  (I figured that would maximize the productivity of 
the Derby participants.)  As a result, I have a patch backlog that would 
makes you cry.  I've been reviewing patches FIFO, and the patch waiting 
at the front of my queue is ten days old.

This means that a lot of the conversion work done for the Derby has not 
been checked in yet.

To be honest I have absolutely no idea what % of files have been 
converted so far.  Figuring it out would use time that would be better 
spent catching up on my to-do list.

--

I'd like to continue the Derby for two more weeks and insert a fourth 
beta.  That would put the release date for Python 3.4 final on March 31st.

With the new conversion policy in place (see my recent posting to 
python-dev), the number of new surprises that I would have to spend time 
on should drop to about zero.  (My new answer: "That will have to wait 
until 3.5.")  I have about a half-week's worth of bug fixes / missing 
features work for clinic.py right now; once that's done I'll be able to 
spend nearly all of my time on code reviews.  (If I catch up, I might 
even start doing conversions myself!)  So I expect the pace of the Derby 
to ramp up in the coming week.

I *would* ask for three more weeks, not two, just to be dead certain we 
finish before rc1.  But then the release date for 3.4 final would be 
April 7th, two days before the start of PyCon US 2014, and I don't want 
to shave it that close.  If we had to slip again for some reason, we'd 
be cutting the release *during* PyCon US, and I want to avoid *that* at 
all costs, particularly as that may be impractical for the platform 
release manager (their build environment may not be portable).  I want 
3.4 out before PyCon US so that trunk is open for 3.5 during the dev 
sprints.


The alternative would be: stop all submissions to the Derby right now, 
iterate (quickly!) on the existing patches, check them in, and proceed 
to rc1.


In theory, as release manager I could simply announce we were doing 
this.  However, I only want to continue doing this if I have approval 
from the core dev community.  If slipping the schedule again means a 
majority of people withdraw their support for the Derby, then it would 
probably be best to cut our losses now.


Please vote for either "continue the Derby" (which also means slipping 
the schedule and adding a fourth beta) or "stop the Derby".


Thank you for your attention,


//arry/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-committers/attachments/20140125/e37ffddc/attachment.html>


More information about the python-committers mailing list