Just to add a data point with respect to the employer/organization limit, in the astropy project we used to have a very similar clause in our governance document, but it was a little difficult to enforce because the concept of an employer can be a bit nebulous in some cases. For instance, if two people are carrying out development while funded by grants from the same entity (say NSF, NASA, or EU funding), would this constitute a conflict of interest? (they would be after all receiving money from the same organization). Similarly, what about developers working as consultants with a number of different clients? Would a consultant working for say 1% of their time on a project for a company count as being from the same organization as someone working at the company? What if they spent 80% of their time? (where does one draw the line?)
We ended up removing the clause from the governance document and instead rely on the fact that people should declare any potential conflict of interest during the elections, and let the community decide. To be clear I’m not saying PEP 772 needs to be changed and am not objecting to the PEP as-is, but just wanted to share our experience and point out that reality will often be more messy, and enforcing this rule will not always be trivial.
An alternative is to make sure that people are open about organizations/companies they receive money from during the election, to also disclose changes in that situation to the community, and to have a process for people flagging decisions by the packaging council which they believe have been tainted by financial influence. For instance, one could also imagine a situation where a majority of PC members come from say two companies that have agreed to push through a change against the will of the community. This would also not be acceptable even though there was not a majority from one company.
We had some similar questions in the SC, mostly regarding subsidiaries. Like say what if the three top vote getters work for Microsoft, LinkedIn, and GitHub? Are those considered the “same employer”? We’ve never triggered this in practice, but we’ve been close.
I wonder whether to cover any ambiguities it would be worth stating that the steering council is the final arbiter of whether a conflict of interest exists?
Generally asking, can I get a status update on where we are with this proposal? I’ve seen a number of rounds of feedback, but I’m not sure what the authors had planned for the next steps.
The Python Steering Council is the final arbiter for Packaging Council conflicts of interest.
I would recommend designating the PSF board as the final arbiter of Packaging Council conflicts of interest because it is established in other parts of the proposal to be the arbiter of elections, the PSF membership is used as electors “because it is open to the broadest possible Python community,” and it can, in coordination with the SC, fill vacancies or call for new Packaging Council elections. I think this would remove a potential conflict between the Packaging Council and the Steering Council.
I believe we’re in the final stages of approval. The PSF Board has approved the current PEP 772, so we are in the “put it to a pypa-committer vote” phase. @pradyunsg will do one more audit/sync of the membership to ensure that the voter role is accurate.
If that vote passes, then it will fall to the 2026 PSC term for final approval.
Quick update. I just added the following text to the PEP:
The process for ensuring elector eligibility to vote in Packaging Council elections will be documented in the Python Packaging User Guide before the inaugural election, and reviewed by the returns officer prior to every subsequent election.
Hopefully, that will alleviate the concerns about folks knowing how to ensure they can participate in PC elections.
This is why I’m responding to the rather lax perspective shared here earlier about preventing board capture in relation to affiliations, which the PSF board had already acted on in 2021, as noted in PEP 772: Packaging Council governance process (Round 3) - #87 by jezdez . In other words, I strongly disagree with @trobitaille perspective on the matter.
Not only does it look like a lazy consensus has already formed around the current version of the PEP being fine, but: you’re two months late here. I thought about posting a comment like this already the previous time we were already at the final approval state 3 months ago and super late feedback came in from 2-3 people to effectively torpedo the approval process, but please let’s not do this yet again. At this rate we’ll never get there. The PEP is 2.5 years old now, and clearly the vast majority of active participants think it’s in (at a minimum) good enough shape, and really just want it approved so we can at long last have a council that can then start functioning and figure out all the things that PEP 772 omitted on purpose and start making incremental improvements.
For the record, I think the current state of the PEP is perfectly fine and in practice it’s extremely unlikely to matter who the final arbiter is here, for reasons already articulated well by quite a few other people.
Please everyone take this into account. The time for feedback is both long past due, and at this point not really helpful to actually getting to an improved process for how Python packaging evolves. It also has to be pretty demotivating for the authors I imagine.
@barry@pradyunsg@deb it might make sense here to do what @brettcannon did for the pylock.toml PEP and explicitly timebox feedback that will still be taken into account to get out of this infinite loop and move through final approval votes. You’d also be well within your right to take @pradyun’s last request as that timebox and move to final approval now I think.
FWIW, this is why I was asking about the status of the PEP as director on the PSF board who vocally supported the resolution on the board when it was passed, I assumed we had already settled on most feedback. I’ve responded now here because PEP 772: The PSC is final CoI arbiter by warsaw · Pull Request #4668 · python/peps · GitHub was merged without much debate after that resolution was made, which was not presented to the board at the time. I’m simply exercising my fiduciary duty here, basically. It’s a little weird to interpret this as “torpedoing.” My interest in this proposal to pass is vast.
My main point was, given that this proposal closely follows the PSF bylaws for its electorate and election process, it stands to reason that the board of the PSF, as its governing body, should also be able to resolve any conflicts of interest should they come up, given the strong protections there for conflicts of interest. That’s not a “what if,” but a recommendation based on the lax discussion here about conflicts of interest in relation to common affiliations (e.g., “conglomerates”).
I’m making this feedback based on my position on the PSF board, I’m hoping that gives me a little more credibility than being portrayed as not helpful. You know as well as I that I’m a supporter of this proposal.
FWIW, the change to the proposal I’m providing feedback to happened after Pradyun’s last request. I’m looking forward to seeing the next steps being implemented for the proposal, including a timebox.
FWIW, I agree here that although the proposal is unusual in that it needs a different approval process than other PEPs, it would still benefit from the normal discussion/finalise/approve process.
I was surprised myself to find that the PEP had been submitted to the PSF for approval, in spite of the fact that there was no announcement here that discussion was closed and the submission had happened.
If the proposal was submitted after the last post here on 22 Oct, a courtesy post stating that would have been useful. But given that @jezdez asked 2 days ago what the current status of the proposal was, I can only assume[1] that either that isn’t what happened, or there’s some confusion over the process (which should be clarified).
If @jezdez is responding on behalf of the PSF board, that’s perfectly reasonable once the PEP has been submitted - and requests for changes from the PSF (or any other approving body) are fine. But (a) it’s not clear that the comments were on behalf of the PSF, and (b) we don’t have clarity on whether the PEP has been submitted.
Because it appears to be necessary to do so, I’ll explicitly note that I’m in favour of getting this PEP approved, and my only concern here is to ensure the process runs smoothly and we don’t end up with any (time consuming) follow-up debates because people didn’t understand where we were in the process.
With that in mind, IMO it would be immensely useful if @barry (or one of the other PEP authors) could post here a summary of the steps remaining leading to the point where we have a fully functioning packaging council - along with an idea of timescales if at all possible. I know some of that is in the PEP, but posting it here would act as a formal reminder to everyone of where we are and what happens next.
given that @jezdez presumably should be aware of any request to the PSF board ↩︎
Thanks @jezdez, I know you are supportive and want this to move forward. Your PSF position does matter/help, at least for the procedural part on approval. Most of it seems to be personal opinion though? If I read between the lines, I think with your PSF hat on you want to require a new PSF Board vote on the exact final text. Given this PR from @barry which came after his Oct 22 PR and adds a reference to the PSF Board resolution, I think he interpreted the last couple of PRs as minor tweaks not in need of going back to the PSF Board for a fresh approval.
If that going back is required (and it sounds like it is), then it’s extra important to freeze the text and not add what may feel like smaller tweaks/clarifications at all, which happens just to appease some of the late commenters on the previous text. No one here is actually trying to derail the process (I assume/hope), but the effect of one person coming in late with “please clarify this one thing for me” and then the next person saying that that invalidates the whole process is having that effect.
I encourage you to leave it at this and let the authors decide whether to change it or not based on what you wrote (and if they do change it, make that final). The discussion was not “lax”; rather multiple people sharing their real-world experiences from other boards/councils/projects - as well as expressing trust that in the unlikely case the new PC does take a wrong turn that goes against what the community at large wants, either the SC or the PSF Board will be able to handle it just fine as an independent arbiter. This is the kind of thing that is mostly personal preference, and neither possible nor critical to get full unanimity on. Some people will trust the PSF Board more, some the SC - in the end I think both have earned more than enough trust here .
Oh, it was much more trivial. I went through the board activities in 2025 to see if there was any unfinished business in preparation for the January 2026 board meeting as the new chair of the board. I hadn’t heard for a while what the status of this proposal was. While reading up on this thread, I noticed that it’s worth pointing out the existing experience for governance policies around conflicts of interest in common affiliation situations. It’s up to the PEP authors to consider that recommendation.
Noted, I’ll make sure to mention next time what the context of my questions is. I’m sorry if I created a disturbance in getting this across the finish line, and I’m glad you highlight the need for progress.
I don’t think it’s valid to insinuate that I had any other reasons other than to ask what I asked.
It wasn’t obvious what the status was, so other than asking, what else could I have done?
You assume correctly; I asked about the status since I hadn’t heard about this for a while.
This is post #100, so it’s a nice checkpoint to be doing a summary/plan for next steps. It is nice that everyone agrees having it written down will help, so here goes…
Below is the plan, as it stands right now – I’m writing it with the understanding that it might need to change the moment it makes contact with reality.[1]
Next steps are gonna be two parallel “tracks” of progress:
Clearly have a closing discussion & freeze date communicated.
Communicate PEP changes since this thread started.
Change anything that needs changes, if any more discussion happens.
Freeze the text, on relevant date.
Any changes that aren’t made will need to happen after the Packaging Council is established / after stopping the approval train.
Do the pypa-committers membership sync (prior to the approval train getting there!)
committers, not on list: reach out via known contact points, and ask for relevant email. Has a soft deadline of early Jan for responses, before the approval process starts.
non committers, on list: remove these individuals, and let them know via the subscribed email address about the change.
After the freeze date, we’d be starting on the approval train (for the one last time, hopefully!)…
Start the approval train.
Board (mid Jan)
pypa-committers (late Jan)
SC (Feb)
PEP is approved!
Up next, let’s elect and establish the council:
Election returns officer outlines & documents the election timeline.
Election starts, happens & results are announced.
There is now a Packaging Council!
SC & PSF execute their procedural pieces, shortly after.
Packaging Council starts doing the relevant things!
[my opinions on the things above that still need to be picked & settled]
I don’t know yet what the freeze date will be. I do think that the best time is one-of now, next week or sometime early-Jan. IIUC, the PSF board will meet somewhere between Jan 10-15 (based on past years), so having it on their agenda by then would be ideal.
I’m doing the whole pypa-committers membership sync now-ish. To overcommunicate a bit: I will be writing down what I’m doing, and will only post some sanitized version of it publicly – I don’t wanna be posting peoples’ emails publicly without permission.[2]
If this all doesn’t happen in ~2 months (by Feb), I think we won’t have a council in the first half of the year due to logistics.[3]
The PEP authors also have a shared checklist now FWIW, and this is based off of that. ↩︎
While I do hope that folks will trust me to be doing things correctly here… I’d appreciate if someone who has access to both the lists of github.com/pypa members & pypa-committers.python.org members would be willing to double-check what I’d be doing. ↩︎
A lot of the PSF staff will be focused on organizing PyCon US as we move close to May, and an inaugral election is a lotta work. IDK if both can happen in parallel.
Hopefully this next bit is self-evident: I don’t intend to rush the process or force certain decisions here. ↩︎