xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Ian Campbell <ian.campbell@citrix.com>
To: Jan Beulich <JBeulich@suse.com>, Xen-devel <xen-devel@lists.xen.org>
Cc: Lars Kurth <lars.kurth.xen@gmail.com>
Subject: Re: Survey Results - Part 1 : Improving Xen Project Governance and Conventions
Date: Tue, 6 Oct 2015 11:26:45 +0100	[thread overview]
Message-ID: <1444127205.5302.124.camel@citrix.com> (raw)
In-Reply-To: <5612A60302000078000A82D7@prv-mh.provo.novell.com>

On Mon, 2015-10-05 at 08:32 -0600, Jan Beulich wrote:

> > ! It appears to me that the idea of nested ownership, would maybe be clearer
> > ! and better set expectations. It is also consistent with the expectation
> > ! of "meritocracy". This may in turn may better set expectations
> > ! for contributors. It is unclear, whether we need to change governance at 
> > ! this stage: maybe a good starting point would be to work together on
> > ! "A guide (or best practices) for maintainers" and maybe clarify some things
> > ! in the MAINTAINERS file in parallel. We could also work together on a "A 
> > ! guide  (or best practices) for committers". It may well turn out, that the 
> > ! latter is slim, if we can separate the hats committers wear more clearly. 
> > ! If then there are discrepancies, we can still change the governance, if 
> > ! needed. 
> 
> Well, we already have ways to express nested vs non-nested
> maintainership in ./MAINTAINERS - via the X: prefix. Maybe we
> should make broader use of it. Despite seeing all the responses
> and comments I still think that (at least as far as I'm concerned)
> maintainers are equal, i.e. a more narrow scope maintainer's ack
> is sufficient for a change to go in, regardless of X: use. Of course
> that doesn't rule out the wider scope maintainer requesting
> changes despite the other's ack, but that's symmetrical: For a
> change to go in, no maintainer should disagree (and in fact
> reasonable disagreement by a non-maintainer counts too).
> 
> By formalizing nested maintainership and requiring ack-s from
> each one in the hierarchy we will just further slow down things.
> If a maintainer doesn't trust a sub-maintainer, the question
> needs to be raised whether the sub-maintainer was nominated
> prematurely, or whether conditions changed after nomination
> that warrant reverting that state.

I don't think it is a matter of trust, just that the support for some
feature/subsystem is just one part of a larger whole and while the
maintainer of that feature might be entirely trusted/empowered WRT that
area it still interacts with the larger whole. Unfortunately this is not
always expressible at a file granularity.

Taking libxl as an example, the are certainly features in there which have
a specific maintainer whose ack is all that is needed WRT that feature, but
some patches also need to be considered in light of the larger whole of the
entire library e.g things like:

 * API consistency
    * consistent function naming in the public API
    * common argument patterns
    * use of error codes
    * not breaking API stability
    * suitability for on going support as a stable API
 * Coding Style issues
    * the error handling idiom
    * memory allocation idiom
 * Interactions with the rest of the library
    * the asynchronous operations framework
    * ...

Now arguably any maintainer of a piece of libxl ought to be familiar with
all of that. But, personally I don't think that is very reasonable either
as a burden for those feature maintainers or particularly as a strategy for
ensuring the library remains coherent.

I included "the asynchronous operations framework" deliberately because it
is a quite complex thing which I don't think we can expect all maintainers
who support code within libxl to be intimately familiar with.

Even for the more "every day" stuff I listed above I think it is not
uncommon that the majority of the complexity for some feature is in the
hypervisor, but that it needs exposing up through the toolstack. The
maintainer of that feature mayor may not own it all the way up to the
toolstack level but it would be quite reasonable for them to do so, but
they still may not be completely up to speed on all the above.

Some care is needed on behalf of the "library reviewers" in terms of not
stepping on the toes of the feature maintainer wrt code which is only
relevant to the feature and/or making it clear when one is raising an issue
with that hat vs. just being another 3rd party who the feature maintainer
is free to ignore. This conversation has certainly made me more aware of
this.

Ian.

  parent reply	other threads:[~2015-10-06 10:26 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-05 11:27 Survey Results - Part 1 : Improving Xen Project Governance and Conventions Lars Kurth
2015-10-05 14:32 ` Jan Beulich
2015-10-05 22:31   ` Lars Kurth
2015-10-06  9:19     ` George Dunlap
2015-10-06  9:36       ` Ian Campbell
2015-10-06 12:13         ` Jan Beulich
2015-10-16  9:01       ` Lars Kurth
2015-10-06  9:29     ` Ian Campbell
2015-10-16 10:33       ` Lars Kurth
2015-10-16 11:09         ` Ian Campbell
2015-10-06 12:22     ` Jan Beulich
2015-10-06 13:02       ` Stefano Stabellini
2015-10-06 10:26   ` Ian Campbell [this message]
2015-10-06 12:25     ` Jan Beulich
2015-10-06 12:43       ` Ian Campbell
2015-10-16 10:51     ` Lars Kurth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1444127205.5302.124.camel@citrix.com \
    --to=ian.campbell@citrix.com \
    --cc=JBeulich@suse.com \
    --cc=lars.kurth.xen@gmail.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).