[Numpy-discussion] NumPy Governance

Matthew Brett matthew.brett at gmail.com
Sat Dec 3 22:42:03 EST 2011

Hi Travis,

On Sat, Dec 3, 2011 at 6:18 PM, Travis Oliphant <teoliphant at gmail.com> wrote:
> Hi everyone,
> There have been some wonderfully vigorous discussions over the past few months that have made it clear that we need some clarity about how decisions will be made in the NumPy community.
> When we were a smaller bunch of people it seemed easier to come to an agreement and things pretty much evolved based on (mostly) consensus and who was available to actually do the work.
> There is a need for a more clear structure so that we know how decisions will get made and so that code can move forward while paying attention to the current user-base.   There has been a "steering committee" structure for SciPy in the past, and I have certainly been prone to lump both NumPy and SciPy together given that I have a strong interest in and have spent a great amount of time working on both projects.    Others have also spent time on both projects.
> However, I think it is critical at this stage to clearly separate the projects and define a governing structure that is fair and agreeable for NumPy.   SciPy has multiple modules and will probably need structure around each module independently.    For now, I wanted to open up a discussion to see what people thought about NumPy's governance.
> My initial thoughts:
>        * discussions happen as they do now on the mailing list
>        * a small group of developers (5-11) constitute the "board" and major decisions are made by vote of that group (not just simple majority --- needs at least 2/3 +1 votes).
>        * votes are +1/+0/-0/-1
>        * if a topic is difficult to resolve it is moved off the main list and discussed on a separate "board" mailing list --- these should be rare, but parts of the NA discussion would probably qualify
>        * This board mailing list is "publically" viewable but only board members may post.
>        * The board is renewed and adjusted each year --- based on nomination and 2/3 vote of the current board until board is at 11.
>        * The chairman of the board is voted by a majority of the board and has veto power unless over-ridden by 3/4 of the board.
>        * Petitions to remove people off the board can be made by 50+ independent reverse nominations (hopefully people will just withdraw if they are no longer active).

Thanks very much for starting this discussion.

You have probably seen that my preference would be for all discussions
to be public - in the sense that all can contribute.  So, it seems
reasonable to me to have 'board' as you describe, but that the board
should vote on the same mailing list as the rest of the discussion.
Having a separate mailing list for discussion makes the separation
overt between those with a granted voice and those without, and I
would hope for a structure which emphasized discsussion in an open

Put another way, what advantage would having a separate public mailing
list have?

How does this governance compare to that of - say - Linux or Python or Debian?

My worry will be that it will be too tempting to terminate discussions
and proceed to resolve by vote, when voting (as Karl Vogel describes)
may still do harm.

What will be the position - maybe I mean your position - on consensus
as Nathaniel has described it?  I feel the masked array discussion
would have been more productive (an maybe shorter and more to the
point) if there had been some rule-of-thumb that every effort is made
to reach consensus before proceeding to implementation - or a vote.

For example, in the masked array discussion, I would have liked to be
able to say 'hold on, we have a rule that we try our best to reach
consensus; I do not feel we have done that yet'.

See you,


I guess that the

More information about the NumPy-Discussion mailing list