3 ms·
Benevolent dictator for life. "Benevolent dictator for life (BDFL) is a title given to a small number of open-source software development leaders, typically pr
by Fiahil 3y ago
Benevolent dictator for life.
"Benevolent dictator for life (BDFL) is a title given to a small number of open-source software development leaders, typically project founders who retain the final say in disputes or arguments within the community. The phrase originated in 1995 with reference to Guido van Rossum, creator of the Python programming language."
- TowerTall 3y agoInteresting. Isn't a BDFL needed in Open Source projects (not talking specific about Rust, but Open Source in general)? I work in a commercial software company. We have a CTO and he retain the final say in disputes or arguments. He also steers the global technical direction we take the software and has the final say, but he can get fired. Is that the main difference between a CTO and a BDFL? What alternatives are there?
- sanxiyn 3y agoThe usual alternative is a committee, see for example Apache Software Foundation's Project Management Committee Guide: https://www.apache.org/dev/pmc.html https://www.apache.org/dev/pmc.html
- pm215 3y agoI suspect an informal grouping (i.e. more long-standing/senior contributors with default control over some parts of the codebase and operating by informal consensus between themselves) is probably at least as common (maybe more so) than an officially named committee with rules of procedure.
- zozbot234 3y agoThe main difference between a CTO and a BDFL is that if you disagree with a BDFL, you can just fork the project under a new name. This right to fork is key to making FLOSS development work. If you disagree with a CTO, there isn't much that you can do besides buying up the whole company (see Elon Musk and TWTR as an example).
- emanuele232 3y agoThe most inefficient decision-making structure known, democracy and voting?
- dochtman 3y agoOf course Guido ended up not completing the "For Life" part -- neither his life nor the life of the language. (I think PEP 8016 is the one that started the steering council to take the place of the BDFL? https://peps.python.org/pep-8016/ https://peps.python.org/pep-8016/)