[Python-checkins] CVS: python/nondist/peps pep-0002.txt,1.2,1.3

Barry Warsaw bwarsaw@users.sourceforge.net
Mon, 11 Mar 2002 09:23:16 -0800


Update of /cvsroot/python/python/nondist/peps
In directory usw-pr-cvs1:/tmp/cvs-serv25464

Modified Files:
	pep-0002.txt 
Log Message:
This PEP has a new champion Martijn Faassen, and it actually contains
text now. :)

Committing for Martijn, after minor formatting and style changes.


Index: pep-0002.txt
===================================================================
RCS file: /cvsroot/python/python/nondist/peps/pep-0002.txt,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** pep-0002.txt	21 Mar 2001 17:35:05 -0000	1.2
--- pep-0002.txt	11 Mar 2002 17:23:14 -0000	1.3
***************
*** 2,17 ****
  Title: Procedure for Adding New Modules
  Version: $Revision$
! Author: esr@snark.thyrsus.com (Eric S. Raymond)
! Status: Deferred
  Type: Informational
! Created: 07-Aug-2000
! Post-History:
  
  
! Abstract
  
!     This PEP will describes review and voting procedures for
!     incorporating candidate modules and extensions into the Python
!     core.
  
  
--- 2,193 ----
  Title: Procedure for Adding New Modules
  Version: $Revision$
! Last-Modified: $Date$
! Author: faassen@infrae.com (Martijn Faassen)
! Status: Draft
  Type: Informational
! Created: 07-Jul-2001
! Post-History: 07-Jul-2001, 09-Mar-2002
  
  
! Introduction
  
!     The Python Standard Library contributes significantly to Python's
!     success.  The language comes with "batteries included", so it is
!     easy for people to become productive with just the standard
!     library alone.  It is therefore important that this library grows
!     with the language, and that such growth is supported and
!     encouraged.
! 
!     Many contributions to the library are not created by core
!     developers but by people from the Python community who are experts
!     in their particular field.  Furthermore, community members are
!     also the users of the standard library, applying it in a great
!     diversity of settings.  This makes the community well equipped to
!     detect and report gaps in the library; things that are missing but
!     should be added.
! 
!     New functionality is commonly added to the library in the form of
!     new modules.  This PEP will describe the procedure for the
!     _addition_ of new modules.  PEP 4 deals with procedures for
!     deprecation of modules; the _removal_ of old and unused modules
!     from the standard library.  Finally there is also the issue of
!     _changing_ existing modules to make the picture of library
!     evolution complete.  PEP 3 and PEP 5 give some guidelines on this.
!     The continued maintenance of existing modules is an integral part
!     of the decision on whether to add a new module to the standard
!     library.  Therefore, this PEP also introduces concepts
!     (integrators, maintainers) relevant to the maintenance issue.
!     
! 
! Integrators
! 
!     The integrators are a group of people with the following
!     responsibilities:
! 
!     - They determine if a proposed contribution should become part of
!       the standard library.
! 
!     - They integrate accepted contributions into the standard library.
! 
!     - They produce standard library releases.
! 
!    This group of people shall be PythonLabs, led by Guido.
! 
! 
! Maintainer(s)
! 
!     All contributions to the standard library need one or more
!     maintainers.  This can be an individual, but it is frequently a
!     group of people such as the XML-SIG.  Groups may subdivide
!     maintenance tasks among themselves.  One ore more maintainers
!     shall be the _head maintainer_ (usually this is also the main
!     developer).  Head maintainers are convenient people the
!     integrators can address if they want to resolve specific issues,
!     such as the ones detailed later in this document.
! 
! 
! Developers(s)
! 
!     Contributions to the standard library have been developed by one
!     or more developers.  The initial maintainers are the original
!     developers unless there are special circumstances (which should be
!     detailed in the PEP proposing the contribution).
! 
! 
! Acceptance Procedure
! 
!     When developers wish to have a contribution accepted into the
!     standard library, they will first form a group of maintainers
!     (normally initially consisting of themselves).
! 
!     Then, this group shall produce a PEP called a library PEP. A
!     library PEP is a special form of standards track PEP.  The library
!     PEP gives an overview of the proposed contribution, along with the
!     proposed contribution as the reference implementation.  This PEP
!     should also contain a motivation on why this contribution should
!     be part of the standard library.
! 
!     One or more maintainers shall step forward as PEP champion (the
!     people listed in the Author field are the champions).  The PEP
!     champion(s) shall be the initial head maintainer(s).
!     
!     As described in PEP 1, a standards track PEP should consist of a
!     design document and a reference implementation.  The library PEP
!     differs from a normal standard track PEP in that the reference
!     implementation should in this case always already have been
!     written before the PEP is to be reviewed for inclusion by the
!     integrators and to be commented upon by the community; the
!     reference implementation _is_ the proposed contribution.
! 
!     This different requirement exists for the following reasons:
! 
!     - The integrators can only properly evaluate a contribution to the
!       standard library when there is source code and documentation to
!       look at; i.e. the reference implementation is always necessary
!       to aid people in studying the PEP.
! 
!     - Even rejected contributions will be useful outside the standard
!       library, so there will a lower risk of waste of effort by the
!       developers.
!   
!     - It will impress the integrators of the seriousness of
!       contribution and will help guard them against having to evaluate
!       too many frivolous proposals.
! 
!     Once the library PEP has been submitted for review, the
!     integrators will then evaluate it.  The PEP will follow the normal
!     PEP work flow as described in PEP 1.  If the PEP is accepted, they
!     will work through the head maintainers to make the contribution
!     ready for integration.
! 
! 
! Maintenance Procedure
! 
!     After a contribution has been accepted, the job is not over for
!     both integrators and maintainers.  The integrators will forward
!     any bug reports in the standard library to the appropriate head
!     maintainers.
! 
!     Before the feature freeze preparing for a release of the standard
!     library, the integrators will check with the head maintainers for
!     all contributions, to see if there are any updates to be included
!     in the next release.  The integrators will evaluate any such
!     updates for issues like backwards compatibility and may require
!     PEPs if the changes are deemed to be large.
! 
!     The head maintainers should take an active role in keeping up to
!     date with the Python development process.  If a head maintainer is
!     unable to function in this way, he or she should announce the
!     intention to step down to the integrators and the rest of the
!     maintainers, so that a replacement can step forward.  The
!     integrators should at all times be capable of reaching the head
!     maintainers by email.
! 
!     In the case where no head maintainer can be found (possibly
!     because there are no maintainers left), the integrators will issue
!     a call to the community at large asking for new maintainers to
!     step forward.  If no one does, the integrators can decide to
!     declare the contribution deprecated as described in PEP 4.
! 
! 
! Open issues
! 
!     There needs to be some procedure so that the integrators can
!     always reach the maintainers (or at least the head maintainers).
!     This could be accomplished by a mailing list to which all head
!     maintainers should be subscribed (this could be python-dev).
!     Another possibility, which may be useful in any case, is the
!     maintenance of a list similar to that of the list of PEPs which
!     lists all the contributions and their head maintainers with
!     contact info.  This could in fact be part of the list of the PEPs,
!     as a new contribution requires a PEP.  But since the
!     authors/owners of a PEP introducing a new module may eventually be
!     different from those who maintain it, this wouldn't resolve all
!     issues yet.
! 
!     Should there be a list of what criteria integrators use for
!     evaluating contributions?  (Source code but also things like
!     documentation and a test suite, as well as such vague things like
!     'dependability of the maintainers'.)
!     
!     This relates to all the technical issues; check-in privileges,
!     coding style requirements, documentation requirements, test suite
!     requirements.  These are preferably part of another PEP.
! 
!     Should the current standard library be subdivided among
!     maintainers?  Many parts already have (informal) maintainers; it
!     may be good to make this more explicit.
! 
!     Perhaps there is a better word for 'contribution'; the word
!     'contribution' may not imply enough that the process (of
!     development and maintenance) does not stop after the contribution
!     is accepted and integrated into the library.
! 
!     Relationship to the mythical Catalog?
! 
! 
! Copyright
! 
!     This document has been placed in the public domain.
  
  
***************
*** 20,22 ****
--- 196,199 ----
  mode: indented-text
  indent-tabs-mode: nil
+ fill-column: 70
  End: