17

I've seen a number of differing governance styles on open source projects. Some have looser contribution restrictions, with PR approval coming from people who have earned the privilege to do so, either through merit, election, or membership on the host foundation/corporation. Others have a single person with final say over the project, a so-called "benevolent dictator," usually the original creator/founder.

Are there benefits for contributors and users to participating in BDFL-led projects over more open governance models?

  • 17
    What are the benefits of other models? You seem to assume other models are better, but why? A founder can ensure that contributions are consistent and stay true to the original vision of the project - which presumably made it successful and interesting in the first place. – Polygnome Jul 7 at 22:24
  • nod. To give an example of another project this works well for -- Clojure hewing closely to Rich Hickey's design, there's better composability between libraries written for it than there is in, say, the Scala world (which tries hard to support multiple models for native development, not just for interop as Clojure does, and so fragments its developers across those supported models). – Charles Duffy Jul 8 at 12:37
  • @Polygnome: Well, one reason to suspect that other models can be better is that Guido van Rossum decided to stop being DBFL of Python. – Steve Jessop Jul 8 at 15:40
  • 6
    @SteveJessop That might (merely) be an argument than being a BDFL is a hard job. You couldn't argue that Python hasn't been successful as a project before he quit, or that it isn't a respectable language. – jpaugh Jul 8 at 21:34
  • 1
    @Voo: my point is just that GvR, as BDFL, decided that Python was no longer working as well on that model as it would on a different model. So, either you accept his judgement as BDFL, or else you refuse to accept it. In which case, how can you support someone as BDFL whose judgement you don't accept any more? ;-) Sure, the model worked fine for a long time, but Polygnome is writing as if the questioner needs to make the case against dictatorship in order to ask this question. They don't: there are obvious reasons not to assume the BDFL model is perfect, but to inquire what's good about it. – Steve Jessop Jul 9 at 16:45
18

I've always seen the BDFL model as halfway between a traditional open-source project structure and a traditional corporate project structure. You have the openness, transparency, and general culture of OSS, but with a single strong project manager to make high-level decisions and direct the overall effort.

You can see many of the advantages just by breaking down the title itself:

  • Benevolent - a mutual trust that this person will act in the project's best interest
  • Dictator - this person is the singular, ultimate authority
  • For Life - this person intends to lead the project for the long term, not just until something nicer comes along

A BDFL is highly invested in the project, typically the original creator. Their own name and professional reputation are often inseparable from that of the project. Unlike a corporate manager, users can find it easier to trust their leadership since the BDFL has a highly vested interest in the success and longevity of the project. Both corporate projects and OSS projects can end up with a revolving door of leadership, which stalls progress and frustrates users. A BDFL generally holds that position for a long period of time (thus the "for life"), which adds a degree of stability to the project. It also allows leadership to develop and stick to a cohesive long-term vision instead of a series of short-lived leaders constantly changing plans and directions.

Frequently, a BDFL is also the undisputed subject matter expert and central authority for that particular project/technology. Corporate managers can run a project without a deep understanding of the technology or its history, leading to decisions that frustrate developers/users. Many OSS projects have a number of people in equally-powerful leadership roles, leaving room for disagreement and confusion. If you have a question about where Python is heading and Guido van Rossum answers your question, then you can be confident that the answer is authoritative. BDFL-run projects tend to attract fewer forks for this reason. Any fork with only minor changes would seem like a "lesser" project without the BDFL's involvement. This helps prevent a community from splintering into multiple groups that are each too small to be effective.

| improve this answer | |
  • 1
    "leaving room for disagreement and confusion" -- as part of this, a single technical authority can cut away a lot of bikeshedding on relatively unimportant decisions. Their preference becomes the decision, end of. – Steve Jessop Jul 15 at 12:00
21

I would say that projects having a BDFL ultimately trust the vision of the project to one person, as opposed to design by committee.

You can refer to the list of BDFLs.

Many of the individuals listed there have strong opinions as to what their respective project should do, not do, and how it should function (DHH and Theo are examples I am familiar with). Some others are not as controversial but are very respected in the community (Matz).

Are there benefits for contributors and users to participating in BDFL-led projects over more open governance models?

If you are aligned with the BDFL in terms of vision for the project, contributing to a BDFL-run project makes sense. Alternatively, if you think that it is easier to evaluate a single person for trustworthiness (of project steering decisions) rather than a changing group of people, you may support the idea of a BDFL.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.