
On 25Jan.2020 0348, Guido van Rossum wrote:
On Fri, Jan 24, 2020 at 12:12 AM Serhiy Storchaka <storchaka@gmail.com <mailto:storchaka@gmail.com>> wrote:
I consider breaking unmaintained code is an additional benefit of removing deprecated features.
I'd like to warn against this attitude (even though in the past I've occasionally said such things). I now think core Python should not be so judgmental. We've broken enough code for a lifetime with the Python 2 transition. Let's be *much* more conservative when we remove things from Python 3. Deprecation is fine, and we should look for other ways to handle the problem of unmaintained code. But we should not rush language or stdlib changes for this purpose.
I'd like to *strongly* agree with this sentiment. Marking things as deprecated when we don't like them is a perfectly good way to advise against their use (and give ourselves permission to let bit-rot set in). But unless they are an actual maintenance burden, we gain literally nothing by removing them, and actively hurt our already-hurting users. As much as we know that 3.x->3.y is a major version change, many of our users don't think of them like that (in part because they come out so often). The more we can keep things working between them, warts or not, the better. Cheers, Steve