On Thu, Aug 27, 2015 at 11:04 AM, Matthew Brett <matthew.brett@gmail.com> wrote:

On Thu, Aug 27, 2015 at 3:34 PM,  <josef.pktd@gmail.com> wrote:
> I don't really see a problem with "codifying" the status quo.

That's an excellent point.    If we believe that the current situation
is the best possible, both now and in the future, then codifying the
status quo is an excellent idea.

So, we should probably first start by asking ourselves:

* what numpy is doing well;
* what numpy could do better;

and then ask, is there some way we could make it more likely we will
improve over time.


> As the current debate shows it's possible to have a public discussion about
> the direction of the project without having to delegate providing a vision
> to a president.

The idea of a president that I had in mind, was not someone who makes
all decisions, but the person who holds themselves responsible for the
performance of the project.  If the project has a coherent vision
already, the president has no need to provide one, but it's the
president's job to worry about whether we have vision or not, and do
what they need to, to make sure we don't lose track of that.   If you
don't know it already, I highly recommend Jim Collins' work on 'level
5 leadership' [1]

Still doesn't sound like the need for a president to me

" the person who holds themselves responsible for the
performance of the project"

sounds more like the role of the "core" group (adding plural to persons) to me, and cannot be pushed of to an official president.

Nathaniel to push and organize the discussion, Chuck for continuity, and several core developers for detailed ideas and implementation, and a large number of contributors. (stylized roles)
and noisy mailing list for feedback and discussion.

Given the size of the numpy development group, numpy needs individuals for the vision and to push things not a president, vice-presidents and assistant vice-presidents, IMO.

(Given the importance of numpy itself, there should be enough remedies if the "core" group ever gets `out of touch` with the very large user base.)


> Given the current pattern all critical issues end up in a public debate on
> the mailing list. What numpy (and scipy) need is to have someone as a tie
> breaker to make any final decisions if there is no clear consensus, if there
> is no BDFL for it, then having the "core" group making those decisions looks
> appropriate to me.
>> "On the other hand the 'core' system seems to function on a
> model of mutual deference and personal loyalty that I believe is
> destructive of good management."
> That sounds actually like a good basis for team work to me. Also that has
> "mutual" in it instead of just deferring and being loyal to a president.
> Since I know scipy development much better:
> scipy has made a huge progress in the last 5 or 6 years since I've been
> following it, both in terms of code, in terms of development workflow, and
> in the number of developers. (When I started, I was essentially alone in
> scipy.stats, now there are 3 to 5 "core" developers that at least partially
> work on it, everything goes through PRs with public discussion and with
> critical issues additionally raised on the mailing list.)
> Ralf and Pauli are the defacto BDFLs for scipy overall, but all decisions in
> recent years have been without a fight, but not without lots of arguments,
> and, given the size and breadth of scipy, there are field experts (although
> not enough of those) to help in the discussion.

I agree entirely, I think scipy is a good example where stability and
clarity of leadership has made a huge difference to the health of the



[1] https://hbr.org/2005/07/level-5-leadership-the-triumph-of-humility-and-fierce-resolve
NumPy-Discussion mailing list