Decision Making 2.0! (1.0.1?)

I think this topic is worth reviving because the issues stated still are present and have been triggered again by Announcing nixpkgs-merge-bot . For the sake of keeping things separated (that discussion there and the meta about decision making here): the community needs a better decision making process, IMO. Not just regarding PRs, but in general it is very unclear:

  • what the decision making process even is
  • who/which group has the last say
  • who can contribute
  • where decisions are made

If a mod thinks this should be a new thread, do fork it :slight_smile:

The “problem”

It feels like committers have a large say in many things and can (somewhat) unilaterally make decisions that impact the community. A PR can be self-merged by a committer, RFCs that kind of stall can just be merged to “get things moving”, a new domain can be declared an official source of documentation, repositories can just be created in the official namespace with no awareness of the rest of the community, etc.

It’s also difficult to track what’s going in terms of development but in the internal nix ecosystem too. There seem to be personal or group efforts at project management, but definitely no standard, or community-approved, or official way of initiating a project, getting feedback on it, including members, etc.

Collecting feedback

One big issue IMO is how feedback is collected. Taking Announcing nixpkgs-merge-bot as the most recent example, it turned into a large, disparate and difficult discussion to track because:

  1. discourse doesn’t have a proper thread view
  2. someone made the decision to discuss it on matrix as well, which shuts out anybody who is async / not “live” → now to get “caught up” you need to follow the discussion in 2 places. If an RFC were created the discussion would be on 3 different platforms.

Most glaringly, there doesn’t to be a way to vote in a manner that counts, nor a method to count votes. Somebody may make an suggestion regarding an item e.g “we should enable this in a verbose and dry-run fashion”, some may agree with it, some not, but then the discussion moves on and decision makers may not even see the general consensus on the issue.


In conclusion, IMO there has to be a main clear, documented decision making process that is easy to find, inclusive, and in one central location. “main” meaning a master decision making process from which others are made.

This doesn’t mean it has to be cumbersome, slow, overbearing, and so on.

I know it’s early to propose solutions without feedback, so food for thought:
Examples of software that attempt solving similar issues:

Maybe RFCs aren’t being used properly, maybe there’s even a discourse plugin for a similar issue or a forum with threaded views could be used… in any case, the process could be improved.

1 Like