guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Listing sub-system maintainers?


From: Ludovic Courtès
Subject: Listing sub-system maintainers?
Date: Tue, 16 Sep 2014 14:49:30 +0200
User-agent: Gnus/5.130011 (Ma Gnus v0.11) Emacs/24.3 (gnu/linux)

Hello, Guix!

While discussing with a Debian developer at the GHM, it seemed like a
good idea to start developing more “formal” rules now that Guix is
small, in order to scale better in the future.

Sometimes, we’ve seen patches on the list waiting for review for some
time, or people feeling they had not been “formally approved.”
Recently, we’ve had a hard time making a decision and sticking to it
wrt. glibc CVEs.  This is the kind of practical issues that a process
should intend to solve.

I thought a starting point could be to have a list of maintainers,
similar in spirit to the ‘MAINTAINERS’ file in GDB¹.  So I’ve come up
with the attached file, to start the discussion:

This file describes different groups of people who are, together, the
maintainers and developers of the GNU Guix project.

* Overview

  [taken almost verbatim from GDB's ‘MAINTAINERS’ file, with the last
   paragraphs from Guix’s ‘HACKING’ file]

There are four groups of Guix developers, covering the patch development and
review process:

  - The Global Maintainers.

    These are the developers in charge of most daily development.  They
    have wide authority to apply and reject patches, but defer to the
    Responsible Maintainers (see below) within their spheres of
    responsibility.  They have permission to check patches into the
    repository without obtaining approval first.

  - The Responsible Maintainers.

    These are developers who have expertise and interest in a particular
    area of Guix, who are generally available to review patches, and who
    prefer to enforce a single vision within their areas.

  - The Write After Approval Maintainers.

    These are developers who have write access to the Guix source tree.
    They can check in their own changes once a developer with the
    appropriate authority has approved the changes; they can also apply
    the Obvious Fix Rule (below).

Maintainers should always post non-trivial patches to address@hidden
Trivial patches include fixing typos, fixing obvious mistakes, etc.

Maintainers can commit patches that just add a new package, and a simple one,
if they’re confident (which means they successfully built it in a chroot
setup, and have done a reasonable copyright and license auditing.)  Likewise
for package upgrades, except for upgrades that trigger a lot of rebuilds (for
example, upgrading GnuTLS or GLib.)  There is a mailing list for commit
notifications (address@hidden), so people can notice.

The term “review” is used in this file to describe several kinds of feedback
From a maintainer: approval, rejection, and requests for changes or
clarification with the intention of approving a revised version.  Review is a
privilege and/or responsibility of various positions among the Guix
Maintainers.  Of course, anyone—whether they hold a position but not the
relevant one for a particular patch, or are just following along on the
mailing lists for fun, or anything in between—may suggest changes or ask
questions about a patch!


* Global Maintainers

  Ludovic Courtès
  (+ someone else...)

* Responsible Maintainers

This section lists parts of the Guix source tree their Responsible
Maintainers.

** Core (store, derivations, packages, monads, gexp)

   Ludovic Courtès

** Tools

   Eric Bavier             guix refresh
   Ludovic Courtès         guix package, guix system, guix pull, etc.
   Cyril Roelandt          guix lint
   Mark H. Weaver          guix package

** Build Systems

   Ludovic Courtès          gnu, trivial, perl
   Andreas Enge             gnu, cmake, python
   Cyril Roelandt           python, perl
   Mark H. Weaver           gnu, trivial

** Packages

*** Bootstrap, base, cross-base, make-bootstrap

   Ludovic Courtès
   Mark H. Weaver

*** Specific cross tool chain

   Ludovic Courtès          i686-pc-gnu
   Andreas Enge             mips64el-linux-gnu
   Manolis Ragkousis        i686-pc-gnu
   Mark H. Weaver           mips64el-linux-gnu

*** Architecture-specific

   Ludovic Courtès          x86_64-linux
   Andreas Enge             x86_64-linux, mips64el-linux
   Mark H. Weaver           x86_64-linux, mips64el-linux
   John Darrington          i686-linux

*** Security
    Handling vulnerabilities in Guix and CVEs in packaged software.

   Ludovic Courtès
   Mark H. Weaver

*** GNU Linux-Libre

   Jason Self

*** GNU Hurd

   Manolis Ragkousis

*** Other packages

Everyone!  (Add per-package maintainers?)

*** Packaging guidelines

   Andreas Enge

** User interfaces

   Ludovic Courtès          (guix scripts package), (guix profiles)
   Alex Kost                Emacs, (guix profiles)

** Operating system

  Ludovic Courtès          gnu/system, gnu/services, gnu/build
I’ve put names under each item, to get an idea.  We can discuss the
details of who does what if/when we agree on the process; it will be a
voluntary process, of course.

The difficulty is to come up with something useful and not overkill.
The list of “sub-systems” may be too fine-grain, actually.

What do people think of the general idea?  Any suggestions?
Thoughts about simplifications or clarifications?

Thanks,
Ludo’.

¹ 
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=gdb/MAINTAINERS;hb=HEAD

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]