[Python-Dev] Re: Stability and change

Paul Hughett hughett@mercur.uphs.upenn.edu
Tue, 9 Apr 2002 10:20:25 -0400

Guido wrote:

> How did you arrive at this estimate? [two months to upgrade a C
> extension to 2.2]

Actually, "guess" would be a better word than "estimate".  I've never
done this before, have scant information about what changes might be
required, and have learned from bitter experience that it's better to
be pessimistic in such circumstances.

> I'd be *very* surprised that a "mere" 10K lines of extension code
> would require significant work to keep it working under 2.2.  I don't
> know where you get this idea, but Python's C API is actually quite
> stable, and more often than not, no changes are necessary to keep
> 1.5.2 code conformant with 2.2, or the changes are limited to 1 or 2
> lines per file.

That's good news, and moves that task noticeably higher in my to-do list.

> (I almost feel offended, because I've been fighting so hard for
> backwards compatibility at the C API level.)

No offense meant, and I thank you for that effort.  The problem may be
more that that is not visible as a policy, except to insiders.  Now I
have to confess that, while I've downloaded the 2.0 source package,
I've been too busy actually using Python to open it up and look at the
API documentation.  When I do that, there are two things that I would
be really happy to see: Some prose like you just wrote to me,
explaining that you are really serious about compatibility, and that
version-to-version upgrades are generally pretty easy.  And a detailed
list of the API changes made, so that I can review it and say, "No problem
there.  Not there either.  Oops, better fix that..." and be able to get
a reasonable estimate of the effort required for an upgrade.  If you've
already done this, I apologize; as I said, I haven't yet spent much time
working on (or even looking at) upgrading to 2.x yet.

Paul Hughett