Benevolent dictator for life

Last updated

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. [1] [2]

Contents

History

Shortly after Van Rossum joined the Corporation for National Research Initiatives, the term appeared in a follow-up mail by Ken Manheimer to a meeting trying to create a semi-formal group that would oversee Python development and workshops; this initial use included an additional joke of naming Van Rossum the "First Interim BDFL". According to Rossum, the title was most likely created by Ken Manheimer or Barry Warsaw. [1]

In July 2018, Van Rossum announced that he would be stepping down as BDFL of Python without appointing a successor, effectively eliminating the title within the Python community structure. [3]

Usage

BDFL should not be confused with the more common term for open-source leaders, "benevolent dictator", which was popularized by Eric S. Raymond's essay "Homesteading the Noosphere" (1999). [4]

Among other topics related to hacker culture, Raymond elaborates on how the nature of open source forces the "dictatorship" to keep itself benevolent, since a strong disagreement can lead to the forking of the project under the rule of new leaders.[ citation needed ]

Referent candidates

Key
Deceased
NameProjectTypeReference
Sylvain Benner Spacemacs Community-driven Emacs distribution [5]
Vitalik Buterin Ethereum Blockchain-based cryptocurrency [6] [ better source needed ]
Dries Buytaert Drupal Content management framework [7]
François Chollet Keras Deep learning framework [8]
Evan Czaplicki Elm Front-end web programming language [9] [10]
Laurent Destailleur Dolibarr ERP CRM Software suite for Enterprise Resource Planning and Customer Relationship Management [11]
David Heinemeier Hansson Ruby on Rails Web framework [12]
Rich Hickey Clojure Programming language [13]
Adrian Holovaty
and Jacob Kaplan-Moss
Django Web framework [14]
Andrew Kelley Zig Programming language [15] [16]
Xavier Leroy OCaml Programming language [17] [18]
Haoyuan Li Alluxio Data Orchestration System [19]
Miles Lubin JuMP Mathematical optimization modeling language in Julia [20]
Yukihiro Matsumoto (Matz) Ruby Programming language [21]
Wes McKinney Pandas Python data analysis library [22]
Gavin Mendel-Gleason [lower-alpha 1] TerminusDB Open-source graph database for knowledge graph representation [23] [24]
Bram Moolenaar Vim Text editor [25]
Matt Mullenweg [lower-alpha 2] WordPress Content management framework [26]
Martin Odersky Scala Programming language [27]
Taylor Otwell Laravel Web framework [28] [29]
Theo de Raadt OpenBSD A Unix-like operating system[ citation needed ]
Arnold Robbins Awk, GawkProgramming language [30]
Eugen Rochko Mastodon Open source, decentralized social network [31]
Ton Roosendaal [lower-alpha 3] Blender 3D computer graphics software [32]
Sébastien Ros Orchard Project Content management system [33]
Mark Shuttleworth [lower-alpha 4] Ubuntu Linux distribution [34]
Jeremy Soller Redox Operating system [35]
Don Syme [lower-alpha 5] F# Programming language [36]
Linus Torvalds [lower-alpha 6] Linux Operating system kernel [12] [37]
José Valim Elixir Programming language [38]
Pauli Virtanen SciPy Python library used for scientific and technical computing [39] [40]
Patrick Volkerding Slackware GNU/Linux distribution [41]
Nathan Voxland Liquibase Database schema management [42]
Jimmy Wales Wikimedia Foundation Collaborative knowledge project [43] [lower-roman 1]
Jeremy Walker Exercism Open-source programming education platform [44]
Shaun Walker DotNetNuke Web application framework [45]
Larry Wall Perl Programming language [46]
Evan You Vue.js JavaScript MVVM framework for building user interfaces and single-page applications.[ citation needed ]
Soumith Chintala PyTorch Deep learning framework [47]
Martin Traverso, Dain Sundstrom, David Phillips Trino SQL query engine [48]
Kohsuke Kawaguchi Jenkins Automation server [49]
Gabor de Mooij RedBeanPHP Database object relational mapper [50]
Bram Cohen BitTorrent Peer-to-peer file sharing protocol [51]
Walter Bright D (programming language) Programming language[ citation needed ]
Richie VinkPolarsData analysis framework [52]
William Falcon PyTorch Lightning Deep learning framework [53]
Lars HvamabapGitGit client for ABAP [54]
Sebastián Ramírez FastAPI Web framework for building APIs with Python [55]
Bill Hall (gingerBill)OdinProgramming language [56]
Damien Elmes (dae) Anki Spaced repetition system [57] [58]

Organizational positions

  1. CTO of TerminusDB
  2. Lead Developer at the WordPress Foundation
  3. Chairman of the Blender Foundation
  4. Until December 2009, CEO of Canonical Ltd
  5. Technical Advisor at the F# Software Foundation
  6. Sponsee of the Linux Foundation. Also holds the trademark for Linux

See also

Related Research Articles

<span class="mw-page-title-main">Python (programming language)</span> General-purpose programming language

Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation.

<span class="mw-page-title-main">Guido van Rossum</span> Dutch programmer and creator of Python

Guido van Rossum is a Dutch programmer. He is the creator of the Python programming language, for which he was the "benevolent dictator for life" (BDFL) until he stepped down from the position on 12 July 2018. He remained a member of the Python Steering Council through 2019, and withdrew from nominations for the 2020 election.

mod_python is an Apache HTTP Server module that integrates the Python programming language with the server. It is intended to provide a Python language binding for the Apache HTTP Server.

The following tables list notable software packages that are nominal IDEs; standalone tools such as source-code editors and GUI builders are not included. These IDEs are listed in alphabetic order of the supported language.

<span class="mw-page-title-main">Cython</span> Programming language

Cython is a superset of the programming language Python, which allows developers to write Python code that yields performance comparable to that of C.

<span class="mw-page-title-main">History of Python</span> History of the Python programming language

The programming language Python was conceived in the late 1980s, and its implementation was started in December 1989 by Guido van Rossum at CWI in the Netherlands as a successor to ABC capable of exception handling and interfacing with the Amoeba operating system. Van Rossum is Python's principal author, and his continuing central role in deciding the direction of Python is reflected in the title given to him by the Python community, Benevolent Dictator for Life (BDFL).. Python was named after the BBC TV show Monty Python's Flying Circus.

Sphinx is a documentation generator written and used by the Python community. It is written in Python, and also used in other environments.

Tornado is a scalable, non-blocking web server and web application framework written in Python. It was developed for use by FriendFeed; the company was acquired by Facebook in 2009 and Tornado was open-sourced soon after.

<span class="mw-page-title-main">Gerrit (software)</span> Free web-based team code collaboration tool

Gerrit is a free, web-based team code collaboration tool. Software developers in a team can review each other's modifications on their source code using a Web browser and approve or reject those changes. It integrates closely with Git, a distributed version control system.

<span class="mw-page-title-main">PyCharm</span> Python IDE

PyCharm is an integrated development environment (IDE) used for programming in Python. It provides code analysis, a graphical debugger, an integrated unit tester, integration with version control systems, and supports web development with Django. PyCharm is developed by the Czech company JetBrains and built on their IntelliJ platform.

scikit-learn Python library for machine learning

scikit-learn is a free and open-source machine learning library for the Python programming language. It features various classification, regression and clustering algorithms including support-vector machines, random forests, gradient boosting, k-means and DBSCAN, and is designed to interoperate with the Python numerical and scientific libraries NumPy and SciPy. Scikit-learn is a NumFOCUS fiscally sponsored project.

Kippo is a medium-interaction SSH honeypot written in Python. Kippo is used to log brute-force attacks and the entire shell interaction performed by an attacker. It is inspired by Kojoney. The source code is released under the New BSD License.

<span class="mw-page-title-main">Spyder (software)</span> IDE for scientific programming in Python

Spyder is an open-source cross-platform integrated development environment (IDE) for scientific programming in the Python language. Spyder integrates with a number of prominent packages in the scientific Python stack, including NumPy, SciPy, Matplotlib, pandas, IPython, SymPy and Cython, as well as other open-source software. It is released under the MIT license.

<span class="mw-page-title-main">Snake case</span> Words joined with underscores

Snake case is the naming convention in which each space is replaced with an underscore (_) character, and words are written in lowercase. It is a commonly used naming convention in computing, for example for variable and subroutine names, and for filenames. One study has found that readers can recognize snake case values more quickly than camel case. However, "subjects were trained mainly in the underscore style", so the possibility of bias cannot be eliminated.

<span class="mw-page-title-main">Python Conference</span> Annual programming language convention

The Python Conference is the largest annual convention for the discussion and promotion of the Python programming language. It originated in the United States but is also held in more than 40 other countries. It was one of the first computer programming conferences to develop and adhere to a code of conduct. The conference hosts tutorials, demonstrations and training sessions.

<span class="mw-page-title-main">RocksDB</span> Embedded key-value database

RocksDB is a high performance embedded database for key-value data. It is a fork of Google's LevelDB optimized to exploit multi-core processors (CPUs), and make efficient use of fast storage, such as solid-state drives (SSD), for input/output (I/O) bound workloads. It is based on a log-structured merge-tree data structure. It is written in C++ and provides official language bindings for C++, C, and Java. Many third-party language bindings exist. RocksDB is free and open-source software, released originally under a BSD 3-clause license. However, in July 2017 the project was migrated to a dual license of both Apache 2.0 and GPLv2 license. This change helped its adoption in Apache Software Foundation's projects after blacklist of the previous BSD+Patents license clause.

qutebrowser Free keyboard-focused web browser with a minimal GUI

qutebrowser is a QtWebEngine web browser for Linux, Windows, and macOS operating systems with Vim-style key bindings and a minimal GUI. It is keyboard-driven and is inspired by similar software such as Vimperator and dwb. It uses DuckDuckGo as the default search engine. qutebrowser is included in the native repositories of Linux distributions such as Fedora and Arch Linux. qutebrowser is developed by Florian Bruhin, for which he received a CH Open Source award in 2016.

Tim Peters is a software developer who is known for creating the Timsort hybrid sorting algorithm and for his major contributions to the Python programming language and its original CPython implementation. A pre-1.0 CPython user, he was among the group of early adopters who contributed to the detailed design of the language in its early stages.

<span class="mw-page-title-main">GNOME Terminator</span> Terminal emulator influenced by GNOME Terminal

GNOME Terminator is a free and open-source terminal emulator for Linux programmed in Python, licensed under GPL-2.0-only. The goal of the project is to produce a useful tool for arranging terminals. It is inspired by programs such as gnome-multi-term, QuadKonsole, etc. In that the main focus is arranging terminals in grids. Terminator packages exist for Arch, Debian/Ubuntu, Fedora, OpenSUSE, Gentoo, Snap, FreeBSD, OpenBSD. In 2017 took second place in voting at opensource.com, after Gnome Terminal.

References

  1. 1 2 Guido van Rossum (2008-07-31). "Origin of BDFL". Artima.com. Archived from the original on 2012-07-21. Retrieved 2008-08-01.
  2. "Python Creator Scripts Inside Google". eWeek . 2006-03-06. Archived from the original on 2018-08-09. Retrieved 2008-05-13.
  3. Van Rossum, Guido (July 12, 2018). "Transfer of power". mail.python.org. Archived from the original on July 12, 2018. Retrieved August 9, 2018.
  4. Raymond, Eric S. (2000). "Homesteading the Noosphere § Project Structures and Ownership". Eric S. Raymond's Home Page. Archived from the original on 2012-07-01. Retrieved 2008-08-01.
  5. "Spacemacs COMMUNITY.org". GitHub . Retrieved 2017-08-24.
  6. Pearson, Jordan (24 April 2017). "Ethereum's Boy King Is Thinking About Giving Up the Mantle". Vice. Retrieved 5 September 2023. One participant called him a benevolent dictator.
  7. Fay, Randy. "How Do Open Source Communities Govern Themselves? | RandyFay.comties Govern Themselves?". randyfay.com. Retrieved 27 November 2020.
  8. "Keras API Special Interest Group, Leadership". GitHub . December 21, 2021.
  9. "56: Ember vs. Elm: The Showdown with Philip Poots | The Frontside Podcast". The Frontside Podcast. Archived from the original on November 16, 2018. Retrieved 2017-08-14.
  10. elm-conf (2016-09-19), "Code is the Easy Part" by Evan Czaplicki , retrieved 2017-08-14
  11. "Dolibarr project organization, different roles of actors".
  12. 1 2 Constine, Josh (December 7, 2012). "Dropbox Hires Away Google's Guido Van Rossum, The Father Of Python". TechCrunch. Retrieved June 1, 2015.
  13. "Clojure JIRA Workflow". Archived from the original on November 13, 2015. Retrieved 3 October 2015.
  14. "Adrian and Jacob retiring as Django BDFLs". Adrian Holovaty. January 12, 2014. Retrieved June 14, 2015.
  15. "Proposal: Create a standard process for proposals". GitHub .
  16. "Interfacing with Zig, a BDFL-run Project". Loris Cro's Blog . December 10, 2021. Retrieved April 14, 2024.
  17. "A History of OCaml | OCaml.org" . Retrieved 2015-09-18.
  18. "OCaml Infrastructure mailing list" . Retrieved 2015-09-18.
  19. Introducing Alluxio Open Source Project Governance ""
  20. "Governance Structure: JuMP" . Retrieved 2023-09-13.
  21. "A Ruby Design Process" . Retrieved 2016-04-17.
  22. "pandas 0.20.3 documentation: Tutorials" . Retrieved 2017-07-24. "Wes McKinney's (pandas BDFL) blog"
  23. "TerminusDB, Twitter". May 6, 2020. Retrieved May 6, 2020.
  24. "TerminusDB — what's in a name?". TerminusDB. August 21, 2019. Retrieved May 8, 2020.
  25. "Why Neovim is Better than Vim". January 15, 2015. Retrieved 30 September 2015.
  26. "Thesis, Automattic, and WordPress | Post Status". July 24, 2015. Retrieved 2015-07-24.
  27. "Programming in Scala Leaps onto the World Stage!" . Retrieved 2015-11-25.
  28. "Taylor Otwell, Twitter". Taylor Otwell. October 9, 2014. Retrieved October 9, 2014.
  29. "Taylor Otwell, Creator of the Laravel PHP Framework". Facebook . August 5, 2014. Retrieved August 5, 2014.
  30. Robbins, Arnold (March 2014). "The GNU Project and Me: 27 Years with GNU AWK" (PDF). skeeve.com. Archived (PDF) from the original on October 6, 2014. Retrieved August 11, 2023.
  31. "Mastodon is crumbling—and many blame its creator". The Daily Dot . January 18, 2019.
  32. "Developer Intro/Overview" . Retrieved 20 July 2018.
  33. "Orchard Project Steering Committee". Archived from the original on August 12, 2015.
  34. "Ubuntu carves niche in Linux landscape". CNET. Archived from the original on 6 November 2015.
  35. "CONTRIBUTING.md · master · redox-os / redox". July 8, 2023.
  36. "Contributing to the F# Language and Compiler" . Retrieved 29 September 2015.
  37. Dee-Ann LeBlanc (31 July 2006). Linux For Dummies (7th ed.). John Wiley & Sons. p. 15. ISBN   978-0-470-04793-4.
  38. "Elixir Companies". GitHub . Retrieved 2017-11-01.
  39. "SciPy 1.0.0". GitHub . Retrieved 2017-10-27.
  40. "SciPy project governance". GitHub . Retrieved 2017-10-27.
  41. "Stories of Linux: A Look at Slackware Linux". linux.com. Archived from the original on October 30, 2014. Retrieved September 21, 2014.
  42. "User and Developer Community | Post Status" . Retrieved 2015-08-13.
  43. Chozick, Amy (June 27, 2013). "Jimmy Wales is Not an Internet Billionaire". The New York Times.
  44. "Jeremy Walker on Being the BDFL of Exercism by Humans of Open Source • A podcast on Anchor". Anchor. Retrieved 2021-03-26.
  45. Book: Building Websites with DotNetNuke 5, Michael Washington and Ian Lackey, Packt Publishing. Page 14 "The core team comprises individuals invited to join the team by Shaun Walker, whom they affectionately call the "Benevolent Dictator".
  46. "The Art of Ballistic Programming". Archived from the original on June 17, 2013.
  47. "PyTorch Governance | Maintainers — PyTorch 2.0 documentation". pytorch.org. Retrieved 2023-03-21.
  48. Trino and the BDFL model https://trino.io/blog/2023/04/06/trino-bdfl-focus.html
  49. Jenkins Enhancement Proposal #1: BDFL https://github.com/jenkinsci/jep/blob/master/jep/1/README.adoc#bdfl
  50. RedBeanPHP index page https://redbeanphp.com/index.php?p=/welcome#sponsor
  51. BitTorrent Enhancement Proposal #1: The BEP Process https://www.bittorrent.org/beps/bep_0001.html
  52. "Polars - About us". 2024-04-07. Archived from the original on 2024-03-24.
  53. "Lightning Governance — PyTorch Lightning 2.3.0dev documentation". lightning.ai. Retrieved 2024-04-10.
  54. "Addressing the Future of ABAP: The Power of Open Source". 2024-06-06.
  55. "GitHub FastAPI". 2024-07-30.
  56. "Proposal Process". 2019-03-31.
  57. "ankitects Github organization". GitHub . Retrieved 2024-09-14.
  58. "Anki development discussion". Reddit . Retrieved 2024-09-14.