Barry, you offer truly compelling arguments for a new BDFL as GvR's successor -- FWIW, you've convinced me.
And Brett would be an absolutely outstanding pick as that "new BDFL" -- on this, I need no convincing. Alex On Tue, Jul 17, 2018 at 7:08 PM Barry Warsaw <ba...@python.org> wrote: > I’d like to propose an alternative model, and with it a succession plan, > that IMHO hasn’t gotten enough discussion. It’s fairly radical in that it > proposes to not actually change that much! > > TL;DR: I propose keeping a singular BDFL and adding a Council of Advisors > that helps the BDFL in various capacities, with additional > responsibilities. I also have someone specific in mind for the NBDFL, but > you’ll have to read on for the big reveal. > > Why keep a singular BDFL? I think it’s clear that no one can completely > replace Guido, and neither should we try, nor do we need to. The > discussion to date has explored refactoring many of the roles that the BDFL > has, and that’s all excellent, especially to reduce the burden and burnout > factor of the NBDFL. But I think having a singular BDFL making the tough > decisions, with the support and help of the community, is in the best > interests of Python over the long term. > > A singular BDFL provides clear leadership. With a council of elders, it > will be more difficult to communicate both to the Python community, and to > the larger, more peripheral user base, that any particular individual has > the authority to make decisions. Regardless of size, there would > ultimately be some one person communicating any council decision. There > will inevitably be ambiguity as to the authority of said decision. How > will folks, especially on the periphery, know that Alice Jones or Bob Smith > are members of the council and can speak authoritatively on decisions for > the language? “Bob Smith, on Behalf of the GUIDO” is IMHO less obviously > and unquestionably authoritative than “Alice Jones, BDFL”. > > This also comes into play for shutting down discussions early. With a > committee, it’s possible that you’ll have some disagreement among the > members as to whether a discussion is fruitful or not, whether it rehashes > settled questions, or whether the change fits into the overall direction > for Python’s evolution. Alice Jones may say “No, that’s not gonna happen” > only to be overruled or undermined by Bob Smith’s “That’s a good idea”. > > Taken together, these fall under the umbrella of having one voice for the > decision making process. It may be possible for consensus within the > council to come across as a single voice, but I think it will generally be > harder. A council also opens the door for more back-channel lobbying of a > sympathetic member. Yes, such lobbying is possible with a BDFL, but at > least there should be less contention. > > I also think a council will be much more risk adverse than a singular > BDFL, and that’s not necessarily a good thing. While moratoriums and a > more conservative approach to change may be appropriate at times, I would > prefer those to be deliberate decisions for a specific purpose, rather than > the unintended outcome of groupthink or lack of consensus. A singular BDFL > with support from the community will have more authority to make decisions > which probably will never be universally accepted, and much less prone to > vapor lock due to lack of consensus or internal bickering. > > I hope Guido won’t mind me relating a comment of his that has really > resonated with me over the last few days, and for which I think a singular > BDFL will be much more adept at communicating and shepherding. The > question for any new leader is: > > What is your vision for Python? > > This question keeps coming to mind as I think about how the evolution of > the language will be governed over the next few years or decades. Yes, > Python is a mature language, but it’s far from stagnant. Guido always had > a very clear vision of what Python should be, where it should go, and how > new proposed features (or other changes to the Python ecosystem) fit into > that vision, even if he didn’t or couldn’t always clearly articulate them. > The NBDFL will necessarily have a different vision than Guido, and I think > even he would agree that that’s okay! A strong vision is better than no > vision. Python must continue to grow and evolve if it is to stay relevant > in a rapidly change technology environment. As an almost 30 year old > language, Python is already facing challenges; how will that vision address > those challenges, even if to explicitly choose the status quo? > > Will a council be able to articular, express, communicate, adapt, and > follow through on that vision? Will a council be able to evaluate a > proposed change as it supports or detracts from that vision? Will a > council be able to break out of a primarily maintenance position, to > actually move the language and its primary implementation forward? I’m not > so sure. > > For these reasons I propose that we retain a singular BDFL. > > The formation of a formal Council is still a good idea! I just think that > it shouldn’t be the ultimate arbiter of decisions for Python. So what > would the Council do? > > - It would serve as a check on the BDFL. If Bob Smith were one day > employed by Evil Corp. and started making decisions that were directly > detrimental to Python, the council should be able to effectively impeach. > There should be checks and balances on this power, the BDFL shouldn’t > continuously fear a coup, and impeachment will hopefully never be invoked, > but the council can serve as the voice of the community for when the BDFL > is abusing their power. > > - The council would select the next BDFL if and when that time comes. No > one will serve forever, so a clear succession plan should be in place. To > avoid the tyranny of the majority, the council would serve similarly to a > board of directors. They’d search for candidates, match them against well > defined criteria, conduct interviews, serve as the voice of the community, > and eventually select the N+1BDFL. > > - The council would serve as trusted advisors to the NBDFL. The BDFL > won’t be out there all alone! The council will provide advice when > requested, and back up the BDFL when needed. The council helps legitimize > the BDFL and their decisions. > > We can debate how the initial council is selected, its make up, number of > members, term limits, etc. I think much of the current discussion about a > BDFL-like council would satisfy the requirements for a Council of > Advisors. It’s just that the roles and responsibilities would differ. The > COA wouldn’t make the decisions, but it would help the BDFL make the best > decisions possible, and have their back against any detractors. > > I definitely have my own thoughts on an initial make-up of said council, > but I’ll reserve that for later. > > If you’ve read this far - thank you! Now for the big reveal. I think the > Next BDFL should be… (drum roll)… > > Brett Cannon > > I’ve long said — somewhat in jest, since I never expected Guido to > actually ever retire! — that Brett would be my choice for the next BDFL. I > think he’s the perfect candidate, and he’s already demonstrated qualities > that I think make him a fantastic leader. He’s smart, compassionate, > passionate, respectful, young, tall, and has the right mix of technical > excellence and social skills. He believes deeply in diversity and > community. As he’s shown with the decisions to move first to Mercurial, > then to git/GitLab, he isn't afraid to make difficult decisions that he > knows not everyone will agree with (and I say that having advocated the > losing choice more than once :). He’s not afraid to say what’s on his > mind. I think he can clearly articulate a Vision. He shares many of these > same qualities with Guido, while being a different person with different > sensibilities. And that is not only fine, but IMHO a *good* thing. We can > trust his stewardship, and he already has legitimacy as a senior decision > maker in the Python ecosystem. He has a wide technical knowledge of Python > and its C implementation, and yet he knows what he doesn’t know. He has > good relationships with most core devs, and is a well-known voice within > the wider community. He’ll be able to delegate where appropriate, and make > definitive pronouncements where needed. > > Before you ask, yes I did check with Brett before making this proposal and > he didn’t shoot it down. He may have specific requirements for accepting > the position, but I’ll let him articulate those. I’m confident they would > come across as completely reasonable. :) > > To summarize: > > * We retain a singular BDFL to lead Python > * A Council is selected to serve as advisors to the BDFL, a selection > committee for succession, and a check against the BDFL. > > That’s it in a nutshell. Thanks for listening. > > Cheers, > -Barry > > _______________________________________________ > python-committers mailing list > python-committers@python.org > https://mail.python.org/mailman/listinfo/python-committers > Code of Conduct: https://www.python.org/psf/codeofconduct/ >
_______________________________________________ python-committers mailing list python-committers@python.org https://mail.python.org/mailman/listinfo/python-committers Code of Conduct: https://www.python.org/psf/codeofconduct/