I don’t think anyone is really going to argue with the raw numbers. Our own stats indicate that the oldest macOS version with a significant number of users is 10.11, though there are a vocal minority using something older.
It makes sense to use a recent deployment target for binaries, and it makes sense for core developers to spend their time on things that will benefit the most people. I think the only question is how to handle the situation where someone else is willing to put in the work to fix things on the older OS versions.
Every change comes with some amount of maintenance burden. How is a potential contributor to gauge the likelihood of a change being accepted? Or, perhaps it’s easier to give an example of a change that fixes a problem that only affects macOS < 10.13 that would be accepted?
The core team does not develop and test on such platforms, and so they cannot provide any promises that Python will work on them.
However, the code base does include unsupported code – that is, code specific to unsupported platforms. Contributions in this area are welcome as long as they:
pose a minimal maintenance burden to the core team, and
benefit substantially more people than the contributor.
We assume contributors are able to maintain modifications/patches, test patched builds, redistribute modified code, make promises to their users, and otherwise support “their” platform. With that in mind, it is generally unnecessary to backport unsupported fixes to CPython’s maintenance branches.
(Read the whole thing for more details.)
Basically: if you can maintain a GitHub fork of CPython, or just a public set of patches that make it work on old Macs? You pretty much need that to test such patches, which the CPython team can’t do.
As an example of something that would be accepted: adding another entry to a list of platform-specific ifs, like say here.
Thanks, that pretty much says what I gathered to be the case until recently. I didn’t want to point fingers at anyone, but I guess it’s unnecessarily oblique not to acknowledge that these questions have been mainly raised by a particular PR, namely this one.
I never got a response to my question about whether a patch to simply disable the feature on older OS versions would be accepted (after all there probably aren’t a lot of people who really need to use perf on them), so I was left wondering if all changes only benefiting those OS versions would be rejected.