What I think would be a mistake would be to define the API in terms of Windows-specific quirks. All this discussion seems bent on satisfying the needs of Windows developers at the expense of non-Windows developers. "FILE*" is a perfectly standard C feature (and a widely-used one at that). If Windows doesn't handle it correctly then it's a Windows issue and we shouldn't annoy other people by refusing access to that feature.
The point of the PEP is specifically to solve Python versioning problems *ON WINDOWS*. It would be pointless if it didn't have that effect. If you think it doesn't affect you, then you can just ignore the stable ABI.
After all, we don't usually try to workaround platform-specific bugs (not as a low level such as the C API level); at worse, we mention their existence in the docs.
Yes, and that policy is an ongoing annoyance, one that PEP 384 tries to remedy. Only after I wrote the PEP, I learned that it can have uses for Linux distributions, too. Regards, Martin