Weekly Edition Return to the Front pageSponsored link Serve your customers, not your servers, with VERIO Linux VPS. Full-access test-drive here. |
Python gears up for 2.6 and 3.0Things are heating up in the Python world in advance of two major synchronized releases of the language. As it heads towards Python 3000 (aka Py3k or Python 3.0), alongside the transitional version 2.6, the development team is narrowing its focus to just those items that are required for the releases. Along the way, the conversations taking place on python-devel provide a look inside the development and release process decisions that a project needs to make as releases loom. Py3k is the next-generation version of Python, as we described last September. It will not be backward compatible with programs written for Python 2.x in a wide variety of ways. Python 2.6 is an effort to bridge the gap, enabling much of the 3.0 functionality so that new programs can start using it. It can also provide warnings for code that will not work with Py3k. Python 2.6 was originally scheduled for an April 2008 release, in advance of the August 2008 release planned for Py3k. Now the two are slated for synchronized releases, roughly monthly, until the final release now scheduled for early September 2008. The synchronization is seen as important for two reasons as Python's Benevolent Dictator For Life (BDFL) Guido van Rossum outlines:
Not only could
this potentially save the release manager and his assistants some
time, doing the final releases together sends a clear signal to the
community that both versions will receive equal support.
Because Py3k is such a radical change, the 2.x series will continue for a long time. van Rossum's recent PyCon keynote (PDF slides) mentions five years as the time frame for 2.6 to be supported, with 2.7 and 2.8 releases possible. A stable development platform for the next few years is very important for current Python users as is giving them a long time to migrate their code. The third alpha of Py3k was released at the end of February along with the first alpha of 2.6. Additional alpha releases of each are slated for April and May as laid out in Python Enhancement Proposal (PEP) 361. Those are to be followed by betas in June and July with the final release planned for September 3. All of that adds up to a fairly aggressive schedule, but the team seems confident—at least so far. One of the issues that the Python hackers are trying to figure out is how to track the items still left to be done. van Rossum describes the scope of the problem:
In order to make such a tight release schedule we should try to come
up with a list of tasks that need to be done, and prioritize them.
This should include documentation, and supporting tools like 2to3. It
should include features, backports of features, cleanup, bugs, and
whatever else needs to be done (e.g. bugbot maintenance).
No one had any major objections to van Rossum's suggestion of using the bug tracker to track the tasks, with Christian Heimes pointing out:
Despite the url bugs.python.org it's an issue tracker and not a bug
tracker. We track patches, feature requests, ideas and bugs in the same
tracker.
The bug tracker allows for different priorities to be set on bugs (or tasks) that are entered into it, which led van Rossum and others to wonder about the proper usage of that field. One of the problems is distinguishing between issues that must be addressed before the next release versus those that must be addressed sometime before the final release. In some sense, both are "critical" and "show-stopping" (depending on which show you are focused on). Brett Cannon reported the scheme they came up with:
So "release blocker" blocks a release. "Critical" could very easily
block a release, but not the current one. "High" issues should be
addressed, but won't block anything. "Normal" is normal. And "low" is
for spelling errors and such.
This can elevate bugs that are relatively minor, but need to be handled before a final release, into a category that inflates their importance. But, not elevating the bugs can lead to them incorrectly being set aside for a later release. van Rossum wondered about this bug priority "inflation", but it is the way that 2.6/3.0 release manager Barry Warsaw wants to handle things:
Critical is the right one to use.
Neal and I will basically be moving
issues between 'release blocker' and 'critical' with the former
meaning this issue blocks the upcoming release.
Other projects or project managers might make different decisions on how to handle bug priorities, but the important thing is to make a reasonable decision quickly. Once that was done, the tasks were added to the tracker and could be prioritized correctly within the framework and without a lot of hand-wringing about which way is "best". It is an important skill for project managers of all kinds to learn. Things are progressing rapidly on python-devel these days—not surprising with two major releases due in less than six months. There is a lot of work to be done, but the Python hackers aren't shrinking from those tasks. In addition, the team has also been able to change their processes as needed to support their tight schedule. With hard work and a bit of luck that should put Py3k and its 2.6 sibling on our development machines by autumn. (Log in to post comments)
Python gears up for 2.6 and 3.0 Posted Mar 20, 2008 14:00 UTC (Thu) by Baylink (subscriber, #755) [Link] The issue here is that the tracker conflates urgency and importance -- which is not surprising, most do. Release Blocker and Critical are both values of importance, not of urgency.
Python gears up for 2.6 and 3.0 Posted Mar 20, 2008 17:07 UTC (Thu) by ber (subscriber, #2142) [Link] It looks like they are using roundup (roundup.sf.net) which is of course Free Software and is easy to expand. In my experience it is good to not add all possible fields in there at once as they confuse casual users.
Python gears up for 2.6 and 3.0 Posted Mar 20, 2008 16:01 UTC (Thu) by tomd (subscriber, #881) [Link] Is the bug tracker they're using proprietary? I'm rather astounded to read about a project with clearly smart people incapable of adding a "target release" type of field. Isn't that a basic issue tracker feature? And, though I hesitate to ask, is their bug tracker really front page news?
Python gears up for 2.6 and 3.0 Posted Mar 24, 2008 19:06 UTC (Mon) by pboddie (subscriber, #50784) [Link] No, Roundup is Free Software. They wanted to use a proprietary solution (offered gratis by the developers of that solution), but were asked to reconsider for a number of reasons; these included the obvious publicity, advocacy and technical benefits related to using a Python solution which is also Free Software, especially one which is regarded to be mature enough to do the job. The Python community does try and make its technology appealing to conservative software development types, but I think it is often easy to overlook the potential for negative publicity if such people then see that the developers producing the technology do not themselves use that technology to manage the project itself (so you'd get Slashdot headlines like "Python bug tracker uses closed, non-Python solution" and a hundred wisecracks following up on it). At the very least, if you're producing Free Software and attempting to get conservative people to use it, you should also send the signal that Free Software is good enough for you too. Had the previously favoured Java-based solution been Free Software, perhaps it would have been an uncontroversial choice, since one can always say that the benefits of open solutions are more important than technological details. There's no need to rewrite everything in one's favourite language if the existing solutions are usable enough, but the availability of suitable Free Software solutions in Python made it more likely that one of those solutions would eventually be chosen.
Python gears up for 2.6 and 3.0 Posted Mar 27, 2008 6:14 UTC (Thu) by muwlgr (guest, #35359) [Link] What about getting Zope working under Python 2.6/3.0 ?
Python gears up for 2.6 and 3.0 Posted Mar 31, 2008 20:09 UTC (Mon) by cypherpunks (guest, #1288) [Link] With hard work and a bit of luck that should put Py3k and its 2.6 sibling on our development machines by autumn.Too late for that! Autumn started a few days ago.
|
Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds
Powered by Rackspace Managed Hosting.