Backwards Compatibility of Python versions

Paul Rubin phr-n2002a at nightsong.com
Mon Feb 4 17:31:25 EST 2002


"Tim Peters" <tim.one at home.com> writes:
> > If the official Python maintainers think they might release a 1.5.3
> > someday, then it's fair to say that the 1.5 series is still current.
> > If they're unlikely to ever release another 1.2.x or 0.9.x, then
> > those versions are not current, even if I release a 1.2.x myself.
> 
> You misunderstand the bugfix release process:  "the official Python
> maintainers" don't do bugfix releases, period.  We haven't had the bandwidth
> for it, and it doesn't look like we will.   All bugfix releases have been
> produced by community volunteers (2.0.1 was an exception, but was an
> artificial release just to get a GPL-compatible according-to-FSF license on
> it).  Fred Drake, Barry Warsaw and I have so far been able to put a little
> bit of time into doing the last steps of bugfix releases (packaging and
> file-uploading and announcing), but that's all.
>
> The odds of getting a 1.5.2 bugfix release are, as for any other bugfix
> release, identical to the odds of someone volunteering to produce one.

Let me ask it this way:

  a) If I put together a 1.5.2 bugfix release and submit it, will it go
     up on Python.org with a link on the front page like the current
     1.5.2 link?

  b) If I put together a 1.2.whatever bugfix release and submit it, will
     THAT go up on the front page?

If the answer to those two questions is not the same, then the bugfix
releases are not run entirely by the volunteers.  

> > (I'm still using 2.1 and plan to get around to upgrading to 2.1.1).
> 
> You should move to 2.1.2 next, then (2.1.1 isn't even "current" by your
> definition <wink>).

Yes, I confused 2.1.1 with 2.1.2.  I did mean 2.1.2.  Sorry.

> If you have messier problems, and you're determined to write code that works
> unchanged back through the first Python ever released, then sure -- slicing
> divmod is clear and works.  ...

No.  I'm taking a practical view of this.  I use HTML tables in my
webpages even though there's still a few ancient browsers out there
that don't display them.  But if 25% of browsers didn't support them,
I'd avoid using them when I didn't need them.  I do avoid making my
pages depend on Javascript, for basically that reason.

I see publishing Python programs as like publishing web pages.  If I
have to tell 2% of my users to upgrade those ridiculous old browsers
to view my pages, I don't mind.  If I have to tell 25% of them to
upgrade, I'm causing hassles for a significant population and I
shouldn't do that without a good reason.  If I have to tell 80% of
them to upgrade, I'm probably going to lose a lot of them.

The question is, what percentage of users are using what Python version?

I bet less than 10% of users have 2.2 right now.  I'm curious about
the ratio of 2.1 users to 1.5.2 users.  Do you have any idea what it
is?  I don't know how I'd measure it.  There's no User-agent header
collected at python.org every time someone runs a Python script.

I go back and forth about whether to code for 1.5.2.  I do like 2.1
features like +=, and I noticed last night that the "continue"
statement works differently.  If I had reason to believe that less
than (say) 25% of today's installations are 1.5.2, then I wouldn't
bother with 1.5.2; but I think the percentage may be higher than that.



More information about the Python-list mailing list