[Buildbot-devel] GSoC: provide forward compatibility for Python 3
Bob Hood
bhood2 at comcast.net
Sun Mar 29 23:10:35 UTC 2015
On 3/29/2015 3:29 PM, Vasily Kuz'min wrote:
> Hi Dustin,
>
> thank you for your reply. I've uploaded my proposal as PDF to my server[0]
> so that people who want could have a look. I've also attached it as text file.
>
> I'm quite unsure about the timeline part, since I have to better understand the
> structure of the source code before I can give my time estimation. I think I'll
> have to correct it once I'll understand source code structure.
>
> As for Twisted, it seems that they mention several issues on the corresponding
> web page[0]. I doubt that's all that we should care about: milestone for Py3K
> shows that Twisted is only 60% ready[2]. I think it means that we may face
> other problems except those listed. I don't think that will be a real problem
> though; moreover, I tend to think that means I can help both buildbot and
> Twisted.
>
> Generally speaking, we have two ways: create various work-arounds for buildbot
> or correct these issues in Twisted directly. The first is faster but I think
> it is incorrect, because it'll introduce backward incompatibilities later when
> Twisted will get updated its APIs. What I really think about is to collaborate
> with Twisted guys. I tend to think that the second way is better, but of course
> we shall concentrate on things related to buildbot. However, I'd like to know
> your opinions.
>
> [0] http://derzsky.freedom-web.ru/proposal.pdf
> [1] https://twistedmatrix.com/documents/14.0.0/core/howto/python3.html
> [2] https://twistedmatrix.com/trac/milestone/Python-3.x
Hello, Vasily! Thanks for your proposal.
I'm a bit concerned about the Twisted framework. Being 60% done means it's 40%
incomplete, and that is a large risk to your success. As you've pointed out,
working on Twisted yourself is certainly one option, but that then takes time
away from your focus on Buildbot. A completed Twisted framework for Python
3.0 is a dependency to successfully completing your proposal, and on that page
you provide, it actually says "No date set" for completion.
In light of all this (which would be setting off alarms and Big Red Flags to a
project manager), have you given any thought to alternatives? I recall
reading about 'asyncio' being a viable alterntive to Twisted in Python v3. Do
you think it would be wise to have a "plan b" available in case Twisted is not
fully ported to Python v3 by the time your project needs to complete? I'm not
saying Dustin would accept that ( ;) ), but it would show recognition of that
dependency and its risk to successful completion.
Also, the schedule you include in your proposal could probably benefit from
some additional detail. Having a four-month block that only says
"Reimplementing the core functionality" is quite nebulous and doesn't really
offer anything from which a metric of task success can be measured. I
understand that you are not really familiar with the Buildbot code base, but
I'm sure there must be some higher-level tasks that could be listed with time
estimates, e.g.: "Familiarize myself with Buildbot's design - 1 week";
"Evaluate 'asyncio' as an alternative to the Twisted framework - 1 week";
etc. There needs to be goals and milestones so the health of your progress on
the task can be monitored.
More information about the devel
mailing list