PyPA Governance - Specification Updates

To give some examples of recent cases which seem to me to be borderline:

  1. Changes to the wheel spec
    a. To cover storing timestamps and file modes. Relatively uncontroversial.
    b. To include symlinks. More controversial, not least because the standard zip format doesn’t support symlinks.
  2. Tightening of the calling convention for PEP 517 hooks to require them to always be called with keyword args. I pretty much said “no” to this flat out, but that’s not my prerogative¹, so the proposer may still want to try to get this accepted.
  3. Installing arbitrary data files from wheels.

All of these would need a PEP under our current rules.

Thinking some more about this, I think my concern is that we currently have too strong a link between “publicising the proposal, having a discussion and getting consensus” and the PEP process. I’m fine with not having a PEP for smaller changes, but not if that means we don’t ensure consensus on the change. And we lack a way of making sure that interested parties even see the smaller discussions.

At the moment, someone interested in the standards can monitor new PEPs and know they won’t miss anything important. If we allow changes that affect interoperability without a PEP, how do those people know there’s a change upcoming, and have their say? Expecting everyone with an interest to monitor all of the threads on the Packaging discourse is (IMO) too much. And judging when we have consensus is a problem in a thread where maybe only a few people have commented and there’s no way of knowing if others don’t have anything to say, or have missed the discussion. The PEP process is a way of enforcing due dilligence on the consensus building process.

If we had some other tracking process (a low-traffic list solely for announcements of proposed standards changes, for example) then that would cover my concerns. Otherwise I think the lack of significant feedback here² suggests to me that there’s not much interest in changing our processes, and I’ll stick to my existing policy of following the documented process, and anything other than clarification-style changes need a PEP. What I will do, though, is try to push people to not propose smaller changes, but bundle them with larger ones - so for example, I’ll take the view that the wheel changes mentioned above cannot go into Wheel 1.0, but could be incorporated in the Wheel 2.0 activity, when that gets moving again.

¹ It is, sort of, but IMO if the proposer can get consensus they have a right to request me to reconsider.
² Which is itself a good example of how it’s hard to know if we have consensus if too few people are participating in the discussion :slightly_smiling_face:

2 Likes