[python-committers] Maintenance Tasks

Victor Stinner vstinner at redhat.com
Fri Jun 15 20:43:48 EDT 2018


At FOSDEM (last February), I saw an interesting talk by VM (Vicky) Brasseur:
"Passing the Baton: Succession planning for FOSS leadership"

She explains that the maintenance of a project should be splited into
small tasks, and that each task should be done by at least two people.
Why at least two, and not only one? Well, sometimes you may want to
take holiday, one of your family member may become sick, or maybe you
are simply bored and wants to do something else. You may have heard
about the "bus factor", but I dislike this name because it sounds like
a very unlikely event, whereas people leaving for whatever reason is

It's also about documenting what you are doing to be able to pass the
task to someone else. What should be documented? Well, here is where
the second player matters: document enough until someone else is
autonomous on the task.

What are Python maintenance tasks? I identified the following tasks:

Copy of my list:

* `Review and merge pull requests
<https://github.com/python/cpython/pulls>`_. The merge action is
restricted to core developers.
  Maintainers: active core developers (June 2018: around 34 core devs).
* `Bug triage <https://bugs.python.org/>`_: closing a bug requires the
bug triage
  permission. Maintainers: active core developers.
* `Check for buildbot failures
  Read logs of each buildbot failure, check if the failure is known. If the
  failure is known, maybe mention the new failure in the existing bug.
  Otherwise, open a new bug. Then reply to the email with a link to the bug.
  Maintainers: Victor Stinner, Pablo Salingo Salgado.
* Run bugs.python.org: fix bugs, deploy new version. See the
  `meta bug tracker <http://psf.upfronthosting.co.za/roundup/meta/>`_ for bugs
  of bugs.python.org itself (not for Python bugs). Roundup is going to be
  deployed in a Docker container on OpenShift. Maintainers:
  Ezio Melotti, Brett Cannon, Maciej Szulik.
* `Run pythontest.net <http://www.pythontest.net/>`_. Maintainers: ?
* Run GitHub bots. Maintainers: Brett Cannon and Mariatta Wijaya.
* Update vendored external libraries. Maintainers: ?
* Update unicodedata on new Unicode release. Latest update (Unicode 11.0):
  https://bugs.python.org/issue33778. Maintainer: Benajamin Peterson.

I likely forget many tasks, since "maintenance" is a large topic and
there are some tasks that are only be done rarely (like releases?).

By the way, I also started to list known administrators. Some actions
require administrators who are the only ones allowed to do actions.

* Mailing lists: create a new mailing list. Maintainer: "postmaster" (who is
  the current postmaster?).
* Bug tracker: give "bug triage permission". Administrators: Ezio Melotti,
  Ned Deily(?), R. David Murray.
* GitHub cpython: add new core developers. Administrators: Brett Cannon,
  Ned Deily, others(?).

I chose to start discussing maintenance tasks with core developers
only (python-committers mailing list) since many tasks are reserved to
(or at least currently done by) core developers. And I'm not sure that
the concept of "maintenance tasks" makes sense, so I prefer to start
discussing it with smaller audience :-)

Note: The talk title is "Passing the Baton: Succession planning for
FOSS leadership", but I don't ask here your BDFL to pass the baton ;-)
I'm talking about the rest of talk.


More information about the python-committers mailing list