On 5/18/07, Jeff Rush <jeff@taupro.com> wrote:
Time is short and I'm still looking for answers to some questions about
cPython, so that it makes a good showing in the Forrester survey.
1) How is the project governed? How does the community make decisions
on what goes into a release?
You know, I've been a member of the Python community for many years
-- I know about PEPs, Guido as BDFL, and +1/-1. But I've never
figured out exactly how -final- decisions are made on what goes
into a release. I've never needed to, until now. Can someone
explain in one paragraph?
Concensus is reached on python-dev or Guido says so. =)
Honestly someone proposes an idea to python-dev. It gets discussed. Either a concensus is reached and the person goes ahead and moves forward with it, or Guido explicitly says OK. Occasionally there is a minor revolt and Guido backs down, but usually that leads to the wrong decision winning out. =)
How much extra work is needed to present to python-dev depends on the level of the change. PEP is needed for language changes. New additions to the stdlib require community concensus that it is best-of-breed. Small additions usually should get python-dev approval. Patches for fixes just happen.
More details are in
http://www.python.org/dev/intro .
2) Does the language have a formal defined release plan?
I know Zope 3's release plan, every six months, but not that of
Python. Is there a requirement to push a release out the door
every N months, as some projects do, or is each release
separately negotiated with developers around a planned set
of features?
Latter. We aim for every 12 - 18 months, but it depends on if there are any specific features we want in a release.
3) Some crude idea of how many new major and minor features were
added in the last release? Yes, I know this is difficult -- the
idea it so get some measure of the evolution/stability of cPython
re features. Jython and IronPython are probably changing rapidly
-- cPython, not such much.
4) How many committers to the cPython core are there?
I don't have the necessary access to the pydotorg infrastructure
to answer this -- can someone who does help me out here?
-Brett