Hacker News new | past | comments | ask | show | jobs | submit login
My BDFL guiding principles (haxx.se)
87 points by tambourine_man on May 27, 2024 | hide | past | favorite | 33 comments



As another BDFL, I was disappointed to see that these were a set of principles about what curl/the curl project should be, rather than principles for how to be a BDFL. Obviously, they are related - how you conceive of the project is quite intertwined with how you intend to be-a-BDFL.

But the BDFL cannot by themselves satisfy most of the goals listed in TFA.

If I had to sum up my own right now, without much thought:

1. keep the project actually alive by ensuring there is clear evidence to all of continuous, significant development.

2. be respectful to all those currently involved, and to all who wish to become involved.

3. always remain open to the possibility that I'm doing something wrong, and eagerly seek out criticism that may reveal that to be the case.

4. notwithstanding #3, accept that I am the expert of experts in most senses, and have accumulated a lot of domain and application specific knowledge along the way; do not get hustled by newcomers.

5. notwithstanding #4, acknowledgement that newcomers may have ideas that hold the key to improving usability, discoverability, functionality and more. In general, strive to give their ideas serious attention.

6. Be nice. Be kind. Be respectful. Answer (most) questions asked of me personally.

7. When it is possible to financially compensate people for significant participation, do so.

8. Always acknowledge the contributions of others.

9. Promote the idea of my own humanity and that of all those involved, in order to encourage kind behavior and an understanding of what is possible (or not).

10. Always remember that it is other people who make my work possible, not me.


For anyone else not familiar with Paul, he is a very effective maintainer of a variety of audio related programs. These are fantastic principles and (as a neutral observer) he lives up to them. Heavy is the head that wears the crown!


Fantastic list. I've internalized many of these myself, but great to see them spelled out.


thank you. i was equally disappointed. your list is much more interesting. i like all your points, except points 1 and 7. because i think those are project goals, not BDFL principles. i'd maybe replace those with points 1 and 10 from the article.

if i were to make a list, in addition to the points made i'd also like to add a few:

1: foster inclusivity and diversity and an environment where everyone feels safe. 2: encourage collaboration and cooperation, discourage competition. 3: have an open ear for complaints about misbehavior and aim to resolve such conflicts amicably. 4h: maintain an attitude of service.


You say 1 and 7 are project goals but I don't agree and I'll say why:

1. If you are not keeping your project alive and it is useful, then someone else will take your project and keep it more alive. and your influence will reduce. So, assuming that you are a good BDFL, you should make effort that your project is alive so that the BDFL at top is good.

2. The ability to fund people for the project is as much a story of actual resources as it is about the culture. If you do not try funding people right from the start, you will accumulate people are also not that interested in funding people. This means your project will remain a hobbyist project. And this actually impacts 1 because then your project might not be that sustainable.


ok, so point 1 is about making sure i don't accidentally lose control of the project. i am not sure that matters. if my life dictates that i focus on other things then this is a natural development. for me the guiding principles should dictate my behavior but not my priorities. (unless it comes to priorities within the project when they affect the community). saying that i have to stay on top of the project is claiming that i am the only one capable of leading the project. that may or may not be true.

it also may or may not be important for me to keep being the leader of the project. there was at least one project that i started that i was eventually no longer using and i happily passed it on to someone else.

if anything, as a behavior rule i'd add: step down when the project is no longer important to me.

on point 2, i am not sure. most project founders have the problem to get even themselves funded. far from being able to fund others. and i disagree that not funding people from the start means it will remain a hobby project. just look at debian. it got huge without paying people to work on it, and infact attempts to introduce paying people caused a number of high level contributors to get upset and leave the project.

so yes, funding does affect what kind of people are attracted to the project, but, funding others from the start is unrealistic. and the people i pay to work on my project are people who will leave the moment i stop paying them. they see it as a job and i see them as employees or contractors (and that is not hypothetical, i am in fact paying someone right now to help me on a foss project, and i get paid from that project too (so i am a contractor with a subcontractor)). before i got paid i was an inactive member of that community, and when i stop getting paid i will probably become inactive again because i can't afford to spend a lot of time to contribute while i have to work other contracts.

so i am not sure there is a benefit to the community to have these people around. participation in a community tends to be voluntary. and communities either function well when everyone gets paid in some form, or noone. paying some people and not others is asking for trouble, unless the project is a commercial entity that needs paid workers to serve paid customers. but then again, the paid workers and the company itself are not considered part of the community, but instead they are the owners of the community. that's a different relationship.


> so point 1 is about making sure i don't accidentally lose control of the project

Not my intent at all. It's about signalling to existing users, prospective users, existing developers and prospective developers that the project is alive and kicking.


After what happened to Nix, I've only gained more respect and preference for projects that have BDFL.


What happened to Nix?


Nixcon NA 2023 accepted, then later rescinded, sponsorship from Anduril, which is a defense company. There was a lot of community pushback on that, and it seems like the organizers messed up and the venue wouldn't allow it anyway. Either way they were a sponsor for 2024. Ever since there has been a lot of infighting in the community. Here's a recent LWN article and HN discussion about it: https://news.ycombinator.com/item?id=40199153


Also relevant reading: https://srid.ca/nixos-mod

How certain, ideologically and politically driven parts of community conduct themselves against anyone they suspect of wrongthink: https://discourse.nixos.org/t/delroths-muting-in-the-moderat...


The first website, I skimmed the rabbit hole of links a bit, and it reads like far left/far right infighting. Personally, I don't feel sad with someone getting banned who thinks LGBT people don't have a right to exist. But hyperpartisan groups are more likely to scour people's social media/blogs/etc to find any reason imaginable to ban them.


> it reads like far left/far right infighting

It's far-left versus anyone right of Mao. There are no far-right people of note here.

>Personally, I don't feel sad with someone getting banned who thinks LGBT people don't have a right to exist.

So you're OK with banning Muslims? Personally, I don't feel sad with someone getting banned who thinks Israeli people don't have a right to exist. See what I did there? This is fallacious thinking.

>But hyperpartisan groups are more likely to scour people's social media/blogs/etc to find any reason imaginable to ban them.

Indeed. This is inexcusable behavior. It's seeking out things to feign "outrage" over in order to make political moves such as ousting any members that are not ideologically aligned.


> There are no far-right people of note here

I would think srid is notable due to his site making an impression here? But I can see where you're coming from. I've observed attempted community takeovers from a safe distance, and it's depressing. Not going to attempt a coherent opinion on Nix, as I am not involved in the project.

> See what I did there?

No, I really don't. Your counter-example just seems like a false equivalence to me.


>I would think srid is notable

Srid is not far-right...

>No, I really don't. Your counter-example just seems like a false equivalence to me.

It's the same as:

"Personally, I don't feel sad with someone getting banned who grooms children."

Then one declares a wide array of behaviors, words, actions, inactions, opinions, orthogonal statements, etc. as "child grooming", "anti-LGBTQ", etc. and then use that as prima facie to oust the opposition.


> Srid is not far right

OK, just wanted to make sure your disagreement is based on your beliefs about the positioning of the overton window, rather than whether or not Srid is a relevant actor in the Nix project.

The thing I have observed in other community takeovers is that, it is not always a case that the new management is making mostly bad decisions, because if they did that, it would lead to a hard fork of a project, followed by the upstream dying off. Because the community takeover may be motivated by a desire for power.

With the Nix vs Lix split, it is not clear to me which project is better, given my limited knowledge. It's also not clear if the Nix project has actually changed considerably since this incident. I am ignorant, and the drama papers don't tell me much.

Speaking of open source more generally, I tend to defer to upstream if it's still active, not for any political reason, but because those closer associated with the original maintainer tend to be more experienced. But there definitely are exceptions, for example if the upstream is too toxic by comparison, or the downstream is solving a different problem that I care about.


muslims to not believe that LGBT people don't have a right to exist. those who express such a sentiment have not understood the koran that teaches that all people should be treated with love and compassion.


> muslims to not believe that LGBT people don't have a right to exist.

"Exist", sure... But they only exist as corpses after they've been stoned to death for the sin of being LGBT.

> those who express such a sentiment have not understood the koran that teaches that all people should be treated with love and compassion. reply

So mainly Muslims, then?


Just over a month ago there was a flashpoint in community tensions, as some expressed their concerns over the project's governance. https://news.ycombinator.com/item?id=40107370

As a quick summary, they were concerned about sponsorship from military tech, about community moderation not doing enough to keep trolls out, and annoyed by Eelco Dolstra.

In response to this, some discussions about project governance were had. It seems like it was quite a disorganised mess. https://chrismcdonough.substack.com/p/report-on-nixos-govern...


Only if the BDFL isn't okay with his software being used to kill innocent civilians.


What is it that you think open source means? Vibes?


Glad that's not what happened with Nix.


It is.


It isn't.


I'm impressed by the flag; hopefully other BDFL's will follow suit: not necessarily in a vexillological vein, but maybe with their amazonian bodyguard troupe, their secret volcano bunker, or their equivalent of "Solomon" (Blofeld's Persian)?

  Donde sobra corazón,
  ¡Ay Curlita! ¡Ay Curlita!


I liked that "curl" is in the border ornamentation https://imgur.com/a/6vaimcj


Python's flag would definitely be a coconut, surrounded by a concerning amount of whitespace.

("Would", as Guido van Rossum sadly already retired as BDFL)


Maybe GvR could do a re-enactment of the farcical aquatic ceremony by which he became BDFL? (Steven Pemberton presumably knows enough about Panto to do a decent scimitar-lobbing moistened bint; the question which remains is whether Lambert Meertens has either cross-dressing or sword-distributing experience? Based on https://www.youtube.com/watch?v=DhRT0mNiA6o I'm willing to consider it likely)


> Steven Pemberton presumably knows enough about Panto to do a decent scimitar-lobbing moistened bint; the question which remains is whether Lambert Meertens has either cross-dressing or sword-distributing experience?

Some sentences are beautiful in their own right and don't need any context or explanations.


A few too many principles mixing the BDFL & their project, I think. It's ok for a BDFL to share the things they care for, but I would prefer a harder framework for predicting BDFL behavior.

My short go-to-example is https://www.straitstimes.com/singapore/five-core-principles-... . If one imagines a world where each principle is invalidated from last to first, one can have a rough idea on how the actions the country will take.

My long go-to-example is https://sqlite.org/codeofethics.html. A list of rules that they place upon themselves and not on others.


The SQLite example gives you a pretty good idea of how the maintainers wish to be perceived, but I think it’s fairly obvious to most people that those that loudly proclaim their adherence to the first ten rules exhibit a WIDE variety of behaviour in practice.


I didn't see self-marketing in their words. Rather, I read a promise:

> The founder of SQLite and all current developers have pledged to follow the spirit of The Rule to the best of their ability. They view The Rule as their promise to all SQLite users of how the developers are expected to behave. This is a one-way promise, or covenant. In other words, the developers are saying: "We will treat you this way regardless of how you treat us."

So far as I've seen, SQLite's developers have lived up to their words. They practice what they preach, while most other software communities do not. Rather, most of the popular ones align with your insinuation: pseudo-religious values and holier-than-thou attitudes cloaking misbehavior.

On a side note, this topic inspired me to buy a copy of https://en.wikipedia.org/wiki/Rule_of_Saint_Benedict, the original source of SQLite's ethic.


Is this intended as an accusation that the SQLite contributors don't live up to their own code of conduct? It could easily be read that way.

If so, do you have any evidence to back up the accusation of hypocrisy?

If not, and you're referring to some amorphous group of other people, why are you doing so in the context of SQLite's code of conduct? It would be pretty weird if I started talking about how various people who have nothing to do with the Rust project are violating Rust's CoC, right?




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: