r334 - in /web: deps/dep15.mdwn index.mdwn

spwhitton at users.alioth.debian.org spwhitton at users.alioth.debian.org
Wed Jun 7 20:52:12 UTC 2017


Author: spwhitton
Date: Wed Jun  7 20:52:12 2017
New Revision: 334

URL: http://svn.debian.org/wsvn/dep/?sc=1&rev=334
Log:
DEP 15: initial draft

Added:
    web/deps/dep15.mdwn
Modified:
    web/index.mdwn

Added: web/deps/dep15.mdwn
URL: http://svn.debian.org/wsvn/dep/web/deps/dep15.mdwn?rev=334&op=file
==============================================================================
--- web/deps/dep15.mdwn	(added)
+++ web/deps/dep15.mdwn	Wed Jun  7 20:52:12 2017
@@ -0,0 +1,146 @@
+[[!meta title="DEP 15: Reserved namespace for DD-approved non-maintainer changes"]]
+
+    Title: Reserved namespace for DD-approved non-maintainer changes
+    DEP: 15
+    State: DRAFT
+    Date: 2017-06-07
+    Drivers: Sean Whitton <spwhitton at spwhitton.name>
+     Ian Jackson <ijackson at chiark.greenend.org.uk>
+    URL: http://dep.debian.net/deps/dep15
+    Source: http://anonscm.debian.org/viewvc/dep/web/deps/dep15.mdwn
+    License:
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.
+    Abstract:
+     Reserved namespace in version control tools for changes to the
+     package that have been approved by someone with the technical
+     ability to upload the package, but not necessarily the package's
+     maintainer.
+
+
+Introduction
+------------
+
+This DEP reserves a namespace in version control tools for changes
+that are
+
+1. considered technically appropriate for an NMU by someone with the
+   technical ability to NMU the package; but are
+
+2. not considered socially appropriate for an NMU right now, or such
+   that it is not clear in which maintainer upload the changes should
+   be included.
+
+Motivation
+----------
+
+We can think of the Debian Archive as a version control system, where
+an upload of a new package version to ftp-master corresponds to making
+a commit.  However, in contrast with tools like `git commit`,
+uploading a package is a relatively expensive and potentially
+disruptive operation.  The changelog must be finalised, an appropriate
+version number must be chosen, and the package will be distributed to
+users, so it must be established that the package maintainer does not
+wish to include additional changes along with those currently listed.
+
+Debian contributors frequently want to submit fixes and improvements
+to packages which they do not maintain.  Sometimes, it is appropriate
+to make an NMU, but very often the maintainer should be the one to
+decide the upload in which the change is included.  In other words,
+the contributor considers the fix technically correct and would
+include it in, for example, a QA upload.  However, since the package
+is under active maintainance, the contributor wants to avoid
+interrupting the package maintainer's work by making an upload.
+
+Currently, the only canonical way to submit such a fix is to post
+patches to the Debian BTS.  However,
+
+1. many non-maintainer contributors of fixes and improvements, and
+   maintainers who review those changes, much prefer working with
+   branches in a version control system instead of wrangling patches;
+   and
+
+2. it is very useful for a maintainer to know that a change has been
+   approved by someone who has been trusted by the project with the
+   technical ability to NMU the package, but it is cumbersome (and
+   easy to neglect) to both make and verify PGP signatures on patch
+   series submitted to the BTS.
+
+Since many Debian source packages are maintained in version control
+repositories on alioth, an alternative to submitting patches to the
+BTS is to push a topic branch to the package's alioth repository, and
+ask the maintainer to review and merge.  However,
+
+1. those who have the ability to NMU the package often lack the
+   ability to push to the repository on alioth;
+   
+2. since those who do not have the ability to NMU the package may push
+   topic branches to alioth, again it is cumbersome for the maintainer
+   to determine whether proposed changes have been approved by someone
+   trusted by the project with the technical ability to upload the
+   package; and
+   
+2. there is no standard namespace to indicate topic branches that fall
+   into the category of changes technically appropriate for an NMU,
+   but not socially appropriate for an NMU.
+   
+Namespace
+---------
+
+Branches named `next/foo`, where `foo` is a label for the change.  For
+example, `next/std-ver-3.9.8` for patches to bring the package in
+compliance with Policy version 3.9.8.
+
+Publishing proposed changes
+---------------------------
+
+There must be a single canonical location for `next/foo` branches.
+These branches must be writeable by exactly those capable of uploading
+the package -- uploading DDs, and DMs with upload rights for the
+package.
+
+These branches should not be published under this name anywhere else.
+A contributor who does not have the ability to upload the package
+should publish their branch under name outside of the `next/`
+namespace, ask someone with the relevant upload rights to review it,
+and push it to the canonical location.
+
+Folding proposed changes into packages
+--------------------------------------
+
+Package maintainers can fetch and merge `next/` branches, or
+cherry-pick from them.  When all the changes on a `next/` branch that
+the maintainer intends to include in the package have been merged or
+copied onto the master branch, the `next/` branch should be deleted.
+
+Suggested implementation
+------------------------
+
+The [dgit repos](https://browse.dgit.debian.org/) already have most of
+the required access control.  All that remains is adding support for
+signed git pushes.  See [#848678](https://bugs.debian.org/848678).
+
+Note that this does **not** involve any use of dgit on the client
+side.  Branches would be updated with `git push --signed`, not `dgit
+push`.
+
+Criteria for success of this DEP
+--------------------------------
+
+In addition to consensus on the text,
+
+1. implementation on dgit repos complete;
+
+2. at least some contributors pushing `next/foo` branches; and
+
+3. at least some maintainers merging `next/foo` branches into their
+   uploads.
+
+Changes
+-------
+
+* 2018-06-07:
+  [ Sean Whitton ]
+  * Initial proposal draft, based on an idea of Ian Jackson's, shared
+    during a discussion we had regarding #848678.

Modified: web/index.mdwn
URL: http://svn.debian.org/wsvn/dep/web/index.mdwn?rev=334&op=diff
==============================================================================
--- web/index.mdwn	(original)
+++ web/index.mdwn	Wed Jun  7 20:52:12 2017
@@ -43,6 +43,7 @@
 **DRAFT**      | [*DEP 12: Per-package machine-readable metadata about Upstream*](deps/dep12)
 **DRAFT**      | [*DEP 13: Debian specific homepage field*](deps/dep13)
 **DRAFT**      | [*DEP 14: Recommended layout for Git packaging repositories*](deps/dep14)
+**DRAFT**      | [*DEP 15: Reserved namespace for DD-approved non-maintainer changes*](deps/dep15)
 """]]
 
 Additional information




More information about the dep-commits mailing list