[Numpy-discussion] Comments on governance proposal (was: Notes from the numpy dev meeting at scipy 2015)

Matthew Brett matthew.brett at gmail.com
Thu Aug 27 08:57:46 EDT 2015


Hi,

On Thu, Aug 27, 2015 at 12:11 PM, Sebastian Berg
<sebastian at sipsolutions.net> wrote:
> On Do, 2015-08-27 at 10:45 +0100, Matthew Brett wrote:
>> Hi,
>>
>> On Thu, Aug 27, 2015 at 10:35 AM, Bryan Van de Ven <bryanv at continuum.io> wrote:
>> >
>> >> On Aug 27, 2015, at 10:22 AM, Matthew Brett <matthew.brett at gmail.com> wrote:
>> >>
>> >> In the case of the 'core' model, we have some compelling testimony
>> >> from someone with a great deal of experience:
>> >>
>> >> """
>> >> Much of this early structure (CVS, web site, cabal ["core" group],
>> >> etc.) was copied verbatim by other open source (this term not being in
>> >> wide use yet) projects -- even the form of the project name and the
>> >> term "core". This later became a kind of standard template for
>> >> starting up an open source project. [...] I'm sorry to say that I
>> >> helped create this problem, and that most of the projects which
>> >> modeled themselves after NetBSD (probably due to its high popularity
>> >> in 1993 and 1994) have suffered similar problems. FreeBSD and XFree86,
>> >> for example, have both forked successor projects (Dragonfly and X.org)
>> >> for very similar reasons.
>> >> """
>> >
>> > Who goes on to propose:
>> >
>> > 7) The "core" group must be replaced with people who are actually
>> >    competent and dedicated enough to review proposals, accept feedback,
>> >    and make good decisions.  More to the point, though, the "core" group
>> >    must only act when *needed* -- most technical decisions should be
>> >    left to the community to hash out; it must not preempt the community
>> >    from developing better solutions.  (This is how the "core" group
>> >    worked during most of the project's growth period.)
>>
>> Sure.  I think it's reasonable to give high weight to Hannum's
>> assessment of the failure of the core group, but less weight to his
>> proposal for a replacement, because at the time, I don't believe he
>> was in a good position to assess whether his (apparent) alternative
>> would run into the same trouble.
>>
>> It's always tempting to blame the people rather than the system, but
>> in this case, I strongly suspect that it was the system that was
>> fundamentally flawed, therefore either promoting the wrong people or
>> putting otherwise competent people into situations where they are no
>> longer getting useful feedback.
>
> Maybe so. I do not know much at all about these models, but I am not
> sure how much applies here to numpy. Isn't at least FreeBSD a magnitude
> larger then numpy?

It seems to me that numpy suffers from the same risks of poor
accountability, stagnation and conservatism that larger projects do.
Is there a reason that would not be the case?

> We do need to have some formality about how to give out commit rights,
> and do final decision when all else fails.

Yes, sure, something formal is probably but not certainly better than
nothing, depending on what the 'something formal' is.

> One thing I do not know is how a "community vote" could work at all,
> considering I do not even know how to count its members. Votes and
> presidents make sense to me for large projects with hundrets of
> developers on different corners (think of the gnome foundation, debian
> probably) [1].

The 'president' idea is to get at the problem of lack of
accountability, along with selection for leadership skill rather than
coding ability.   It's trying to get at the advantages of the BDFL
model in our situation where there is no obvious BDFL.    For the me
the problem is that, at the moment, if the formal or informal
governing body makes a bad decision, then no member will feel
responsible for that decision or its consequences.  That tends to lead
to an atmosphere of - "oh well, what could we do, X wouldn't agree to
A and Y wouldn't agree to B so we're stuck".   It seems to me we need
a system such that whoever is in charge feels so strongly that it is
their job to make numpy as good as possible, that they will take
whatever difficult or sensitive decisions are necessary to make that
happen.  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.

Cheers,

Matthew



More information about the NumPy-Discussion mailing list