Thanks Antoine. Personally, I found that useful. There are some points in there that I hadn’t considered, and some others that reinforced the direction I was thinking anyway. My thoughts are roughly as follows (roughly, because I’m still forming my opinion, I have not voted yet).
My biggest concern is the level to which decision making is deferred to the core-devs as a whole. I am concerned about any proposal that makes full core dev votes a routine part of our governance. So I’m overall inclined towards some level of “central authority” style of proposal.
My understanding of what we should be deciding here, is basically how we make decisions about Python, when the usual process of broad consensus and letting core devs decide on the day to day stuff without interference isn’t sufficient. I emphasise that because I’m not at all sure the various proposals address that requirement equally. Some, at least as far as I can tell, seem to be mandating processes outside of that basic remit, and that concerns me.
Taking the PEPs in order, with the above in mind:
- PEP 8010 (New BDFL). In principle, I like this. It puts final authority in the hands of a leader, avoiding all of the debates over voting and who’s eligible. The PEP itself doesn’t try to over-specify responsibilities. And it’s a model that’s worked for us for a long time. The big (huge!) problem with it is that it’s utterly dependent on who the leader is. Whether there’s anyone who could take on the role, I don’t know, but as Łukasz said in PEP 8012, “imagine the worst possible person within our team as that BDFL”. I’d like to think we’d never pick someone that bad, but it’s a real concern. And conversely, if I think about who’s in the core devs, there aren’t that many people I’d be comfortable with in the role (and furthermore, I’m not completely sure that everyone would have the same people in mind).
- PEP 8011 (Trio). This seems to me to essentially be a way of keeping the basic model of a BDFL but addressing the sustainability and burnout problems. Whether it actually does so, I’m not entirely sure - having a group reduces the stress on one person, but it presents us with the need to find three times as many candidates for the role. I think I’d choose this over 8010.
- PEP 8012 (Community). While this has a good analysis of the problem we face, it doesn’t (in my view) state particularly clearly what it proposes as a solution. I feel that there’s a risk of situations coming up that we’re not sure how to address. Also, the voting mechanic seems to require all core devs to participate (while adding a concept of a “dormant” core developer which is something I’m not sure I’m comfortable with).
- PEP 8013 (External Governance), I don’t like this because it puts final authority in a group which is specifically not comprised of core developers. I think we should govern ourselves. The proposal has some good ideas, and if it didn’t require the council to be external, I might feel differently, but as it stands I’m against it.
- PEP 8014 (Commons). Everything is based on a vote by all the core devs. I don’t like that, I want to keep the number of times the full group has to vote limited. I don’t want to feel responsible for having an informed opinion on every PEP that gets proposed.
- PEP 8105. This again involves full core dev votes for all PEPs, It feels to me like the most bureaucratic of all the proposals (which is not a good thing, to me). Also, this seems to me to be the worst offender in terms of “scope creep”.
- PEP 8016. This is probably my favourite PEP at the moment. It avoids expecting core devs to vote on a regular basis, and it has an explicit goal to be flexible, and not mandate more than the minimum needed. I particularly like the sentiment encapsulated in “The council should look for ways to use these powers as little as possible”. I’m a little concerned about electing a new council every release (both in terms of the risk of “churn”, and the prospect of having an election campaign every 18 months…) but I’m inclined to hope that in practice people will stay on longer than that, and re-election will be reasonably common.
So that’s my current thinking. Sorry it was a bit long. It may well change, particularly if other people offer their views and that gives me more perspectives to consider.
Don’t worry about correcting any misconceptions there may be in the above - it’s a very broad summary of my feelings, nothing more. And I don’t expect to be swayed by facts anyway (More seriously, I don’t mind corrections, but I won’t ultimately be deciding based on fine details, so overall impressions are more important for me right now).