[Python-Dev] Proto-PEP for maintaining backward compatibility

Guido van Rossum guido@python.org
Thu, 06 Jun 2002 15:25:23 -0400


> > So why can't you include a copy of modulefinder.py in your distro?

> That's what I'm doing. I just want to keep it up-to-date with
> the latest and greatest version from the Python distro with the minimum
> effort.

The solution is simple.  Just don't pull the new copy from the next
Python release.

> > You seem to be using it beyond its intended use.

> You mean the cross-version use? As I said, it works nice.

No, I meant that this module is part of the freeze tool.  That has no
requirement to be backwards compatible, since each Python version
comes with its own version of freeze.  Suppose that the .pyc file
format changes in a backwards incompatible way (we're considering this
too) and suppose modulefinder has to be changed.  I think it should be
possible to do that without consideration for older Python versions.

> Anyway, if there is a strong reason to do so, it can be
> removed from PEP 291 - but string methods and booleans
> aren't such a reason (IMO).

I think it should be removed.  I want to avoid having random claims
for backwards compatibility of arbitrary parts of the Python
distribution, because the more of these we have, the more constrained
we are as maintainers.

The other cases are all packages that are being distributed separately
by their maintainers for use with older Python versions.  I think your
use case is considerably different -- you are simply borrowing a
module.

--Guido van Rossum (home page: http://www.python.org/~guido/)