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]
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]
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 ]
† | Deceased |
Name | Project | Type | Reference |
---|---|---|---|
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, Gawk | Programming 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 Vink | Polars | Data analysis framework | [52] |
William Falcon | PyTorch Lightning | Deep learning framework | [53] |
Lars Hvam | abapGit | Git client for ABAP | [54] |
Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation.
Guido van Rossum is a Dutch programmer best known as 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.
GNU Mailman is a computer software application from the GNU Project for managing electronic mailing lists. Mailman is coded primarily in Python and currently maintained by Abhilash Raj. Mailman is free software, licensed under the GNU General Public License.
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.
IronPython is an implementation of the Python programming language targeting the .NET and Mono frameworks. The project is currently maintained by a group of volunteers at GitHub. It is free and open-source software, and can be implemented with Python Tools for Visual Studio, which is a free and open-source extension for Microsoft's Visual Studio IDE.
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.
Cython is a superset of the programming language Python, which allows developers to write Python code that yields performance comparable to that of C.
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.
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.
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.
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.
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.
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.
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.
DNF or Dandified YUM is the next-generation version of the Yellowdog Updater, Modified (yum), a package manager for .rpm-based Linux distributions. DNF was introduced in Fedora 18 in 2013; it has been the default package manager since Fedora 22 in 2015, Red Hat Enterprise Linux 8, and OpenMandriva, and is also an alternative package manager for Mageia.
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 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.
TerminusDB is an open source knowledge graph and document store. It is used to build versioned data products. It is a native revision control database that is architecturally similar to Git. It is listed on DB-Engines.
One participant called him a benevolent dictator.
{{cite web}}
: CS1 maint: url-status (link)