[Nix-dev] Commit access

Eelco Dolstra eelco.dolstra at logicblox.com
Mon Feb 29 17:29:49 CET 2016


Hi,

On 29/02/16 15:15, Matthias Beyer wrote:

>> This is a tree-like model like it is used in other distributions and big
>> projects like the kernel or git itself.

I originally proposed such a model way back when we switched to Git, but it was
not well received :-)

Having a fairly high number of people with commit access is not in itself a huge
problem, as long as it's clear who is permitted to change or merge what. For
example, it's fine if arbitrary committers change the packages for which they
are maintainers, but not if they modify the NixOS module system. The latter
should go through the PR process and should only be merged after review by the
module system maintainers.

Obviously we do not have such clearly delineated responsibilities at the moment.
So what we need is something like the Linux kernel's MAINTAINERS file, listing
who is responsible for what topic. Examples of subsystems would be:

* The Haskell/Python/... infrastructures.
* NixOS Linux kernel configuration.
* Nixpkgs library functions (/lib).
* NixOS module system.
* NixOS boot process.
* NixOS systemd integration.
* Stdenv.
* New packages. (We should also have a clear policy for what packages are
acceptible, and what the maintainer responsibilities are.)
* Crosscutting concerns such as meta attributes, auto-updaters, acceptable
package styles, ...
* Overall Nixpkgs scope decisions about whether to support new platforms, add
stuff like NixUP, ...
* And of course the MAINTAINERS file itself :-)

Then when you make a PR, you should look up the responsible maintainer and
assign the PR to them. Having every PR assigned to somebody should also help
prevent them from falling through the cracks.

Also, we should start requiring meta.maintainers on NixOS modules.

-- 
Eelco Dolstra | LogicBlox, Inc. | http://nixos.org/~eelco/


More information about the nix-dev mailing list