Developer Log
=============

This file is a running log of developers given permissions on SourceForge.

The purpose is to provide some institutional memory of who was given access
and why.

The first entry starts in April 2005.  In keeping with the style of
Misc/NEWS, newer entries should be added to the top.  Any markup should
be in the form of ReST.  Entries should include the initials of the
project admin who made the change or granted access.  Feel free to revise
the format to accommodate documentation needs as they arise.



Permissions History
-------------------

- Terry Reedy was given SF tracker permissions on 7 Apr 2005 by RDH.

- Nick Coghlan was given SF tracker permissions on 5 Apr 2005 by RDH.
  For several months, he has been active in reviewing and contributing
  patches.  The added permissions give him greater flexibility in
  working with the tracker.

- Eric Price was made a developer on 2 May 2003 by TGP.  This was
  specifically to work on the new ``decimal`` package, which lived in
  ``nondist/sandbox/decimal/`` at the time.

- Eric S. Raymond was made a developer on 2 Jul 2000 by TGP, for general
  library work.  His request is archived here:

      http://mail.python.org/pipermail/python-dev/2000-July/005314.html


Permissions Dropped on Request
------------------------------

- Eric Price sent a drop request.  10 Apr 2005 RDH

- Irmen de Jong requested dropping CVS access while keeping tracker
  access.  10 Apr 2005 RDH

- Moshe Zadka and Ken Manheimer sent drop requests.  8 Apr 2005 by RDH

- Steve Holden, Gerhard Haring, and David Cole sent email stating that
  they no longer use their access.   7 Apr 2005 RDH


Permissions Dropped after Loss of Contact
-----------------------------------------

- Several unsuccessful efforts were made to contact Charles G Waldman.
  Removed on 8 Apr 2005 by RDH.


Initials of Project Admins
--------------------------

RDH:  Raymond Hettinger
TGP:  Tim Peters
