Monday, 21 August 2017

Re: new package upload policy question

Hi Dustin,

On Fri, Aug 18, 2017 at 02:46:34PM -0500, Dustin Kirkland wrote:
> I'm seeking clarification on an Ubuntu policy, as it relates to MOTU.

I'm also including [email protected] in my reply since my answer relies on
my general understanding of Ubuntu's governance structure for
developers, rather than any specific MOTU policy.

> What should the
> policy be around the introduction of newly-packaged free software
> directly to Ubuntu Universe (i.e. not via Debian)? Should a consensus
> among MOTU be pre-required before upload?

My understanding is that ALL actions in Ubuntu development require
consensus. Collorary: if you understand that an action is likely to be
controversial amongst fellow team members, then you do not have the
authority to unilaterally take that action.

Consensus can be implicit or explicit. Most everyday development work in
Ubuntu has implicit consensus that we receive through our mutual
understanding as we work together in our teams. This is part of our
development culture. I don't seek review in uploading something to which
I am confident that other team members will have no objection[1]. This
is the common case and allows us to make progress. But when I am not
confident about this implicit agreement, I seek consensus first so that
I have explicit agreement.

This is my interpretation of both the letter and spirit of the Ubuntu
Code of Conduct. In particular, I think that taking an action in Ubuntu
that is known to have neither consensus nor leadership authority is a
direct CoC violation. Uploading in this case is not collaborative and is
not a constructive way to resolve the disagreement. According to the
CoC, the right way to make progress in this case is to seek consensus,
and to ask our leaders[2] for a decision if consensus cannot be reached
in the required timeframe.

I know that you're asking because of the resistance you've faced to your
statistics/calc-stats upload, so next I'll address the specifics of this
upload directly.

> My long standing interpretation of MOTU policies is that all Ubuntu
> MOTUs are trusted to upload new packages to Ubuntu Universe.

Agreed. However, that trust includes the expectation that all uploaders
follow our accepted policies and only deviate when there is a reasonable
justification. If you cannot justify an exception, then unilaterally
making that exception without seeking consensus first is an abuse of
trust despite owning a MOTU hat.

[...]

> I've never understood that a consensus of MOTU is prerequisite for a
> new package to land in Universe, or am I mistaken? What should the
> policy be around the introduction of newly-packaged free software
> directly to Ubuntu Universe (i.e. not via Debian)? Should a consensus
> among MOTU be pre-required before upload?

My direct answer, then, is that since ALL actions in Ubuntu development
require consensus, so does a new package upload. For something that is
considered non-controversial by the responsible team, you might have had
implicit consensus. Since in this case you're taking an action
unilaterally, without communication with any team and to which you have
received considerable objection on IRC, you clearly don't have implicit
consensus and so must seek explicit consensus if you still want to
proceed.

MOTU has a policy that we prefer new package uploads to go in tandem
with Debian, as documented at
https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages#Going_through_MOTU.
There are a number of packages where this doesn't happen. This is
usually because the package is unsuitable for Debian as-is, or because
we've made a high level architectural decision to follow a different
path in Ubuntu, or more generally because the package is required to
meet a blueprint-level goal in Ubuntu and the Debian route is more
difficult for some technical reason. These are accepted reasons in
Ubuntu's development culture to upload directly to Ubuntu without
Debian.

What I don't consider an acceptable reason is when an individual
uploader disagrees in general with the existing MOTU policy. Based on
our conversation in IRC, this seems to be the reason you aren't
following MOTU's policy in this case. The two objections you gave for
this on IRC were:

1) You're not a DD so can't upload directly.

2) Debian's NEW queue is "3+ months long".

Both of these objections are general, rather than something special
about the particular package you're uploading. If these objections apply
to one new package upload, they clearly apply to all new package
uploads. If these reasons are indeed valid in one case, then MOTU should
resolve to change the policy to address these objections for all
uploads, not just for your proposed upload. If MOTU does not agree to
change the policy for these general objections, then I think it follows
that a specific exception for the same general reasons under the same
common circumstances is also not agreed. Otherwise, why doesn't the
policy already read differently?

To address your objections more specifically:

1) You can get sponsorship. As Canonical employees we both know many
colleagues who are DDs, so this really shouldn't be a problem for us at
all. Unless of course these colleagues decline to sponsor the upload; in
this case, perhaps this is an indication that the proposed upload is
unsuitable for upload to Debian and therefore likely also for Ubuntu, in
the absence of a specified reason that explains how Ubuntu is somehow
different.

2) Others disagreed in that conversation on IRC about the time delay in
Debian's NEW queue. What would be more convincing is if the upload had
sat in Debian NEW for weeks without having been addressed. Even if there
were a delay, that is still not a reason to refuse to do it at all,
since it will help avoid various problems in the long term despite some
an initial delay in landing it.

My position is that since it's current MOTU policy, we should either
follow the policy, have specific reasons that this package (as opposed
to all packages) is exceptional, or change the policy. So for brevity I
haven't gone into the reasons that I think that the direct
Ubuntu-without-Debian route is problematic. We covered some of these
reasons on IRC already. If you want to open a discussion proposing a
MOTU policy change, then we can go into the reasons then.

It's also worth considering if the package in question is important
enough to Ubuntu to be worth the additional maintenance burden that
comes with going against MOTU's policy. In this case, I argue that it
isn't.

Robie


[1] Actually in ~canonical-server we're mandating peer review for all
non-trivial uploads now, but that is our choice to raise the bar for
ourselves; it's not anything that we currently require or expect of
others.

[2] In this case, our appropriate leaders are the Technical Board.