There is a discussion simmering over Python 3000 again thanks to Guido’s post. And thanks to that post this time it is much more focused and constructive. I see this as part of an ongoing iterative process, one I think we should consider formalizing. First an overview of the discussions so far (timeline determined by various RSS aggregators).
- Guido Van Rossum’s weblog - Python 3000 Status Update (Long!)
- Lambda the Ultimate - Python 3000 Status Update
- Python Secret Weblog - Brief Python 3000 thoughts
- Coder Who Says Py - Responding to people’s reactions to Guido’s Py3K blog post
- … for Some Value of “Magic” - Guido Uses My Birthday to Talk About Python’s Future
- Python Secret Weblog - Python 3 worries: feedback
- Oakwinter.com :: Code - On Python 3000 whinging
- Python Secret Weblog - the purpose to my “whinging” about the transition to Python 3
- … for Some Value of “Magic” - The Python Community (not really Py3K related, but relevant) [Update: 6/23]
- Regebro on Python - Python 3000 and compatibility [Updated: 6/23]
- Coder Who Says Py - Python-Dev does care about the 2.x -> 3.0 transition [Update: 6/23]
- jessenoller.com - The more you know - the discussion around Python 3000 (because recursion is fun) [Update: 6/23]
- Making Games, Making Webs. - php 5.x is four years old. php 4 is still used. Pygame with py3k? [Update: 6/24]
[Update: 6/24]
Jesse Noller has created a new resource page for Python 3000 to accompany his Python 3000 custom search. Here are the links:
The first thing I would like to say is Happy Birthday Steve!!! [Update: Happy Birth day Ned!!!]
Words are very important. They are the primary means of human communication and at the root of mans greatest achievements and worst atrocities. Words are not cheap, they are priceless. Before PyCon 2007 there was much discussion on the blogs on Py3K and the future of python, mostly based on speculation, out of date information, and fear. I am not linking those posts (or mine) as I do not believe they add anything to the current discussion. Guido responded with his keynote address which cleared the air on many of the issues. Discussions ensued and community feedback was a strong factor in the sprints which followed, resulting in the new IO system. All as Steve Holden predicted. And time passed….
This brings us up to date. Guido’s post starts up the dialog again, which is a very good thing. We need to have these discussions so we can properly discover all the potential problems, and if not have solutions ready, at least be prepared. A certain white house staff member got some heat for a statement about ‘unknown unknowns’, but it was one of the more intelligent (if unintelligible) things he ever said. It is not the known unknowns (will the major python projects make the switch and when, etc), it is the unknown unknowns which have the potential to fracture the python community. Guido’s post shines a spotlight on the Py3K effort, the problems the dev team has identified, and the solutions they have come up with. A community response has started and needs to continue. A spotlight needs to be shown on the issues which have yet to be found, and only the community as a whole can do that. We can also find the solutions together.
There have been comments segmenting the ‘community’ into the ‘python core developers’ and well, everyone else. I see this as a little odd, as every one of the core developers are also part of the community working on their own python based packages which are not part of the CPython core. The ‘core developers’ are also facing all the same upgrade issues the rest of the ‘python community’ is. I believe that is one of the many reasons why they are trying to make it as easy as possible to upgrade. With that said, there is defiantly a feeling of separation between what happens on the various python dev lists and the blogosphere (or whatever). The python ecosystem is quite large and diverse and fostering communication between all the far flung members is difficult at best, processing feedback near impossible. Brett Cannon (coder who says py above) has been very vocal about making the python dev efforts more transparent, and the switch to the new roundup issue tracker will be a significant step forward (if only sourceforge would fix their bugs!). There was also discussion about opening up the PEP approval or at least the review process to a system which is more accessible to the general user than the mailing list archive.
The review of the GPLv3 effort at the recent MassTLC event got me thinking about Py3K and the efforts therein. My notes from that event are riddled with information about the different groups formed at each level of the process, the public chat logs (all meetings were held on irc), the document itself with full change annotations. The GPL has a much larger community with many more factions with interesting agendas. What can we learn from their efforts? After all, chances are, we would not be having this discussion if not for those ‘cheap words’.

I agree with your main thesis, and thanks for saying this. Words do need to be spoken about this, and we can expect a few years more of words about this as things become more clear.
I suspect that you are referring to some of my comments as segmenting the language developers from the wider community. I realize that the language developers are a special part of the wider community and have their own code to port. That they do so is good.
But let’s not forget that they are also a special group - they (and ultimately Guido) control the language implementation, and their decisions have repercussions throughout the community of the users of the language, which is untrue for other groups within the Python community. This great power means great responsibility, and moreover, they need great patience.
How else are the language developers special during this phase of transition? Language developers tend to be good enough programmers to have a good test coverage for their own code. They will also be very aware of issues that come up during porting code and will be better able to port code than the average Python programmer. Their Python code will likely also be more clean and well-structured than the average Python code base, further increasing the ease of porting. Language developers are also likely more interested in and excited by the prospect of language evolution than is usual. Their perspective and culture will therefore be naturally somewhat different than that of other groups within the wider Python community.
What I realize I should be careful about is confusing individual language developer’s statements as speaking for the whole group. Then again, I suspect this will be how many people will interprete their statements anyway, so they should be careful too.
Martin,
Thanks for the comments. I was not just referring to you with regard to the segregation of developers. I agree wholly that they are a special group and their responsibilities to the larger community. The issue I wanted to raise was that I saw many comments which put the core developers up in some ivory tower as if they were not effected by the changes they were inflicting on the rest of us. That is what I found odd and felt needed correcting.
There perspective is very different from that of the Zope, Django, SciPy, Jython, PyPY, twisted, or ipython groups. It is very different from the cheeze shop package maintainers. It is very different from those just learning python. We all need to work together to identify the problems Py3K will cause which the core developers, with their different perspective, have not identified. That was my point.
There is defiantly a heightened risk to projects which are poorly written and have no test frameworks (like the PyCon-Tech stuff… *cough*) Maybe this will give them incentive to write tests? If not, are the packages worth bringing forward? I have no Idea. That is the part that scares me the most.
Thanks for the birthday greetings. I suspect on the basis of conversations I have had this year that migration to Python 3.x is not going to be much of an issue.
No need to be scared! This has been coming for a while now. I suppose there’s a risk that some software will disappear, but only if nobody is using it. Maybe we could see that as at least partly a good thing?
Steve, how long do you think major libraries and frameworks are going to take to be ported to Python 3 once it is released? I don’t think we’re speaking of a matter of months here - that doesn’t even happen for minor Python versions (where code is mostly compatible). I’d say we can expect a period of years. I think it’s not unreasonable to be a little worried about such a long transition period.
You state software that nobody is using might disappear. Obviously nobody cares about software that nobody uses. I’m worried about the software that is being used, but by non-programmers. Even if there are developers using it the investment in porting the software may higher than people are willing to pay for either in time or money. I don’t see how we can see this even partly as a good thing. At most you can say it’s “not as bad as it sounds”, or something like that.
I think it is better to be aware that we’re going to be in for a rough ride for a while than to breezily say migration isn’t going to much of and issue and that we don’t need to be scared.
I’m not saying the sky is falling. But it’s not true either that the sky is blue, the birds are whistling. Those are storm clouds on the horizon, and it’s going to rain. We better take our umbrellas and be prepared for a wet summer.
Thanks for the post, Doug. It inspired me to do my own on this very subject. I just hope I come off as calm and even-handed as you did in this post.
[...] than post the long winded version, here’s the abbreviated summary and a few side notes - Doug has already summarized some of my thoughts and with Brett’s latest ” Python-Dev does care about the 2.x -> 3.0 transition” [...]