[Python-Dev] Encouraging developers

dustin at v.igoro.us dustin at v.igoro.us
Tue Mar 6 18:22:49 CET 2007


On Wed, Mar 07, 2007 at 01:50:25AM +0900, Stephen J. Turnbull wrote:
> Why not?  It depends on how far out "out" is, but I was surprised how
> much effect we (at XEmacs) got by simply asking people who contributed
> a couple of patches if they would like to take on tracking + patch
> flow management for their own patches in return for direct access to
> the repository.  <snip>

I've been thinking about how other projects handle this.  One method is
to appoint "maintainers" of specific pieces of functionality.  The term
"maintainers" was used earlier, but referring only to core developers
(those with commit access).  I have a somewhat different proposal:

In summary, create a layer of volunteer, non-committing maintainers for
specific modules who agree to do in-depth analysis of patches for their
areas of expertise, and pass well-formed, reviewed patches along to
committers.

Every part of Python gets a maintainer, annotated in the comments atop
the file.  A basic process is established for promotion/demotion of
maintainers.  New patches for a module get sent to that module's
maintainer, who checks for well-formedness, functionality, and
appropriateness to the module.  The *maintainer* can then refer
successful patches to the core developers, who can just skim the patch
and check that the unit test pass.

The core of the interpreter would be implicitly maintained by the core
developers, while each module or package of the stdlib is assigned to a
specific maintainer (or several, if more are willing).  New modules are
initially assigned to their author, while existing modules with no
apparent maintainer are assigned to a "maintainer-needed"
pseudo-maintainer.  Patches to maintainer-less modules would languish,
unless the submitter stepped up as maintainer, or yelled loudly enough
that the core devs processed the pach.

I think this would have several advantages:
 - maintainers can do the basic screening that takes so long and is no
   fun for core developers
 - being a maintainer can be a stepping-stone to becoming a full
   developer, for those who wish to join
 - patch authors have an advocate "inside the system"

Speaking personally, I don't want to be a core developer, but I would be
happy to maintain a half-dozen stdlib modules.

This is loosely based on the Gentoo project's idea of maintainers
(although in Gentoo maintainers must be full developers).  

Dustin


More information about the Python-Dev mailing list