On Oct 28, 2010, at 10:51 PM, Brett Cannon wrote:

> I think people need to stop viewing the difference between Python 2.7
> and Python 3.2 as this crazy shift and view it from python-dev's
> perspective; it should be viewed one follows from the other at this
> point. You can view it as Python 3.2 is the next version after Python
> 2.7 just like 2.7 followed to 2.6, which makes the policies we follow
> for releases make total sense and negates this discussion. It just so
> happens people don't plan to switch to the newest release immediately
> as the backward-incompatible changes are more involved than what
> people are used to from past releases.


Brett, with all due respect, this is not a reasonable position.  You are making 
it sound like the popular view of 3.2 is a "crazy shift" is based on a personal 
dislike of python-dev or something.  The fact is that the amount of effort 
required to port to 3.2 is extreme compared to previous upgrades, and most 
people still aren't willing to deal with it.  It is a crazy shift.

Let's take PyPI numbers as a proxy.  There are ~8000 packages with a 
"Programming Language::Python" classifier.  There are ~250 with "Programming 
Langauge::Python::3".  Roughly speaking, we can say that is 3% of Python code 
which has been ported so far.  Python 3.0 was released at the end of 2008, so 
people have had roughly 2 years to port, which comes up with 1.5% per year.

Let's say that 20% of the code on PyPI is just junk; it's unfair to expect 100% 
of all code ever to get ported.  But, still: with this back-of-the-envelope 
estimate of the rate of porting, it will take over 50 years before a decisive 
majority of Python code is on Python 3.

By contrast, there are 536 packages with ::2.6, and 177 with ::2.7.  (Trying to 
compare apples to apples here, since I assume the '2' tag is much more lightly 
used than '3' to identify supported versions; I figure someone likely to tag 
one micro-version would also tag the other.)

2.7 was released on July 3rd, so let's be generous and say approximately 6 
months.  That's 30% of packages, ported in 6 months, or 60% per year.  This 
means that Python 3 is two orders of magnitude crazier of a shift than 2.7.

I know that the methods involved at arriving at these numbers are not 
particularly good. But, I think that if their accuracy differs from that of the 
download stats, it's better: it takes a much more significant commitment to 
actually write some code and upload it than to accidentally download 3.x 
because it's the later version.

Right now, Kristján is burning off his (non-fungible) enthusiasm in this 
discussion rather than addressing more 2.x maintenance issues.  If 3.x adoption 
takes off and makes a nice hockey stick graph, then few people will care about 
this in retrospect.  In the intervening hypothetical half-century while we wait 
to see how it pans out, isn't it better to just have an official Python branch 
for the "maybe 2.8" release?  Nobody from the current core team needs to work 
on it, necessarily; either other, new maintainers will show up or they won't.  
For that matter, Kristján is still talking about porting much of his work to 
3.x anyway.

In the best case (3.x takes over the world in 6 months) a 2.x branch won't be 
needed and nobody will show up to do the work of a release; some small amount 
of this work (the stuff not ported to 3.x) will be lost.  In the medium case 
(3.x adoption is good, but there are still millions of 2.x users in 5 years) it 
will accumulate some helpers that will make migrating to 3.x even smoother than 
with 2.7.  In the worst case (straw man: 3.x adoption actually declines, and 
distros start maintaining their own branches of 2.7) I'm sure everyone will be 
glad that some of this maintenance effort took place and there's some central 
place to continue it.

I'm perfectly willing to admit that I'm still too pessimistic about this and I 
could be wrong.  But given the relatively minimal amount of effort required to 
let 2.x bugs continue to get fixed under the aegis of Python.org rather than 
going through the painful negotiation process of figuring out where else to 
host it (and thereby potentially losing a bunch of maintenance that would not 
otherwise happen), it seems foolhardy to insist that those of us who think 2.x 
is going to necessitate another release must necessarily be wrong.


_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to