On Tue, Jan 18, 2022 at 5:48 PM Steve Dower <steve.do...@python.org> wrote:
> Discovering during alpha that some packages haven't updated for the
> release that hasn't happened yet isn't the end of the world. Reverting
> the changes now is probably a bit premature - realistically we can undo
> these anytime during beta if we discover that packages are unable to be
> fixed over the next 9 months.

In Fedora, if a frequently used dependency is broken, a long list of
packages "fail to build". (In Fedora, the package test suite must pass
to build a package successfully.) If it takes 9 months to fix this
dependency, we will likely miss other issues before the Python final
version in dependent packages. The problem is when the issue is on the
Python side.

For example, we discovered that cloudpickle didn't work on Python
3.10. In fact, it was a Python regression. I had to modify how the
function object constructor inherits globals (bpo-42990). This kind of
change is fine during the beta phase, but it's bad to change the
Python behavior in a bugfix Python 3.10.x release :-(

Another example is when Cython was ported to Python 3.8, a
PyCode_New() change caused a lot of troubles. After multiple exchanges
between Cython and Python and a few more issues, it was decided to
*revert* the PyCode_New() change. I would not be possible to revert
the change in Python 3.8.1 or later :-(

There are many examples like that, I don't have an exhaustive list. If
issues are discovered earlier, we get more time to discuss and design
how to handle them.

I don't know where is the good trade-off here. That's why I'm opening
a discussion. Yes obviously, we can revert these 2 changes later. Or
we can just keep them ;-)

--

At the end of my first email, I also suggest thinking about
incompatible changes differently, try to make affected projects
compatible in advance. The problem are not the changes themselves, but
how they are introduced in Python, and more globally how they are
introduced "in the Python ecosystem" (!).

Victor
-- 
Night gathers, and now my watch begins. It shall not end until my death.
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/DI7FCMTSL2MGIZAAJ6I7QRJYTQQQ37VP/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to