On 11.03.2022 17:42, Zachary Ware wrote:
On Fri, Mar 11, 2022 at 7:45 AM Marc-Andre Lemburg email@example.com wrote:
If there are people in the community who wish to provide support for these platforms, I don't see a reason not to keep them in a tier 4. Such platforms would not be supported by the core team and don't necessarily need a buildbot (even though it would be good to have them).
I find it problematic that the way Brett has written the proposal essentially means that we will not accept any PRs to help support platforms which are not listed in the tables. Could be that I misinterpreted his writeup, though.
Esp. Android and possibly iOS are platforms which Python should be targeting in the future, since the story for Python on those platforms currently is pretty. We shouldn't make it harder to eventually gain such support and hopefully find new core devs who can maintain them to become fully supported.
As I understand it, the idea here is that if there is no core dev for a platform, it's not actually supported in a practical sense regardless of our official policy or lack thereof. The policy Brett is proposing just makes that explicit and gives us something to point to when someone comes up with a patch to support PDP-11 or when someone's patch for Android breaks Windows. I don't think we'll wind up with tier support police; if a core dev wants to take responsibility for a patch for a platform that is not tier 3 or above they can still do that, but if it breaks things for a supported platform it will be reverted.
If there is serious support for a non-tiered platform, all it takes is a buildbot and either an existing core dev to sign up to be the maintainer or for us to vote in a maintainer, and then it can be a tier 3 platform. If there's not someone actively maintaining it and the tests regularly being run on it, we can't realistically claim to support it anyway.
I don't see much value in a tier 4: all other platforms that aren't tier 3 or above are tier 4. We could link to a wiki page for where one might find links to support communities for non-tiered platforms, but I expect such a list would bitrot at a rate that makes it not worth including in the official tier list, whether by those communities fading away or the platform being promoted to tier 3.
The important bit here is this part:
All other platforms
- Only code which either supports a higher-tier platform or is a general improvement may be checked in.
My understanding of that sentence is: PRs which target platforms not listed in PEP 11 may not be checked in.
IMO, it doesn't make sense to prohibit support code in the code base, if there is community interest in this. By dropping that line, we wouldn't have a problem and also don't need to list platforms in a tier 4 section, since it's still possible to add support in the main code base, without having a core dev maintain it.
PEP 11 would then just list platforms publicly that the core dev team can support; not implicitly exclude platforms which we cannot support, but for which there is community interest and support available.
E.g. Android support was even funded by the PSF recently. Why would we want to remove that support from the code base again, just because we don't have a core dev maintaining it ?
Also note that the stdlib does in fact support other Python implementations reusing (parts of) it, e.g. Jython, PyPy and IronPython. Again, without core devs backing these.