What are the values that you see being expressed in the NixOS project?

There is a concept (if out of scope, we can move it elsewhere) that I’d like to bring up. This comes up in multiple contexts and it seems to have some explanatory power.

Responsibility and authority must be commensurate.
Authority without responsibility leads to bullying and tyranny.
Responsibility without authority leads to stagnation and unfairness.

In Nixpkgs, someone repeatedly taking on a responsibility, eg: to maintain the set of python packages, eventually achieves some sort of authority over that portion of the project. The right person to make overall decisions about a topic should also be the person who is most responsible for it. This is not often stated so perhaps it helps to be explicit. When someone contributes, they are also implicitly taking on some responsibility for their patch or the package they maintain, or whatever it is. If a problem comes up specifically about it, there is an expectation that they would help fix it. It’s not a strict requirement, as we are all volunteers, but the expectation is there. This creates a bit of responsibility as well as some authority over that patch. This then forms the basis for larger and larger components and creates a way to make larger technical decisions. Our RFC process also reflects this in describing the shepherd team, where familiarity is often correlated with contribution, responsibility, and authority.

This team should be people who are very familiar with the 
main components touched by the RFC.

I’ve seen organizations that would violate the concept, and it would often end poorly. Imagine being given an implied responsibility, but no say over how to go about accomplishing the task. On the other hand, imagine having authority about a decision, but no responsibility about the outcome. Both would cause harm to the individual’s ability to be effective and to the organization’s health.

This also subsumes the concept of democracy, or at least it represents a different simplification of the underlying concept. In a context were all involved have a similar responsibility, having similar voting power for an issue is an attractive point in the design space. When the responsibilities are massively different in scale it becomes more attractive to lend extra weight towards those responsible.

9 Likes