
On Thu, Aug 27, 2015 at 8:57 AM, Matthew Brett <matthew.brett@gmail.com> wrote:
Hi,
On Thu, Aug 27, 2015 at 12:11 PM, Sebastian Berg <sebastian@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@continuum.io> wrote:
On Aug 27, 2015, at 10:22 AM, Matthew Brett <matthew.brett@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.
I don't really see a problem with "codifying" the status quo. It might become necessary to have something like an administrative director if numpy becomes a more formal organization with funding, but for the development of the project I don't see any need for a president. If there is no obvious BDFL, then I guess there is also no obvious president. (I would vote for Ralf as president of everything, but I don't think he's available.) 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. 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. There are still stalled PRs, blocked proposals, and decisions that I didn't like, but I think that's unavoidable. One feature of the current "core" system is that it is relatively open, almost all discussions are public, and it is relatively (?) easy to get into it for new developers. I currently don't worry that a closed clique is taking over the numpy or scipy "core" group:. Josef
Cheers,
Matthew _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion