If I were to be included in the steering council I suspect my main contribution would be to occasionally remind everyone that we are all committed to the success of the open scientific stack.
Tom On Wed, Sep 23, 2015 at 3:40 PM Nathaniel Smith <n...@pobox.com> wrote: > [splitting this out from the thread-o-doom] > > On Wed, Sep 23, 2015 at 8:47 AM, Chris Barker - NOAA Federal > <chris.bar...@noaa.gov> wrote: > [snip] > > So here is what I think is on the table: > > > > We have the steering council. Which leaves two questions: > > > > -How big should it be? > > -Who will be on the original, "seed" council? > > > > Note that as I understand the current draft of the governance doc, > > once established, the council itself decides who is on the council. So > > at this point we really are ONLY deciding how it's going to start. It > > has to be bootstrapped somehow. > > > > However, that had been contentious enough that it would probably be a > > good idea to hash out some guidelines about the council membership. > > We actually do have some of those already -- dunno if they're perfect, > but they exist :-). To make sure everyone's on the same page, here's a > condensed summary of what the draft currently says: > > Joining the council: contributor must have produced "substantial" and > "sustained" contributions over at least one year + be voted on by the > current council + be interested and willing to serve. (Then there's > some language emphasising that "contributions" should *not* be read > narrowly as a euphemism for "lines of code".) > > Leaving the council: Happens by choice of member, or if inactive for > one year and can't be contacted, or if inactive for two years. Former > members are listed as "emeritus" to recognize their past service. > > Rejoining the council: aside from their entry on the list of emeritus > members, a former-member and a never-member are treated identically in > general, and the rules for re-joining are the same as the rules for > joining. > > Proposal for seed council: "everyone who's merged a pull request since > Jan 1, 2014". > > (Actual text is here: > http://thread.gmane.org/gmane.comp.python.numeric.general/61106 , see > section "Council membership".) > > We didn't talk much about these -- I think mostly on the theory that > the exact details really aren't going to matter much in the end. These > specific rules are exactly the rules that Jupyter/IPython use, stolen > without changes. > > My interpretation is that these rules were designed to produce a > council consisting of a broad spectrum of contributors who are > actively engaged, in tune and up-to-date with the issues currently > facing the project, and broadly respected by the broader community. > The rationale for doing things this way (if we keep it) would be that > the steering council's "primary responsibility is to facilitate the > ordinary community-based decision making procedure", so you need > people who are actively engaged in community discussions; and, if > things break down then the people best positioned to resolve it are > the ones who have the best view of what went wrong, understand the > personalities involved, and so forth. > > In practice, I'm sure any council interventions would involve most > members deferring to whoever they judge has the most expertise, > whether or not that person is on the council -- it's not like they'll > ever be making a decision in a vacuum. > > Regarding the seed council, I just tried to pick an objective > criterion and an arbitrary date that seemed generally in keeping with > idea of "should be active in the last 1-to-2-years-ish". Fiddling with > the exact date in particular makes very little difference -- between > pushing it back to 2 years ago today or forward to 1 year ago today, > the only thing that changes is whether Pauli makes the list or not. > (And Pauli is obviously a great council candidate, though I don't know > whether he even wants to be on it.) > > > Personally, I have no idea how big the council should be. Too big, and > > there is no point, consensus is harder to reach the larger the group, > > and the main (only?) role of the council is to resolve issues where > > consensus has not been reached in the larger community. But what is > > too big? > > I'm a little wary of the idea of capping the council size. Assuming > you're pre-filtering for basic competence and good faith (as we are), > then the only way making the council smaller helps with decision > making is that it arbitrarily throws away the opinion of some > dedicated and valuable contributors. Plus then we have to start making > judgements like "well, person A has been around for a while but pretty > inactive recently, and person B is doing awesome stuff, should we kick > person A off the council to let person B on or...?" Judging whether > someone is or isn't a "substantial contributor" is fine, we can do > that. Having to make a relative judgement of which of two people is > the *more* "substantial contributor", though -- that sounds awful. > > And given how conflict-adverse groups can be, I suspect that capping > the council size would in practice just have the effect that it never > takes in new blood. (The old effect where "science advances one > retirement at a time".) > > I'd be interested to hear what Jupyter/IPython's experience with this > is, though: they currently have a 10 (!) person steering council, I > assume they'd love to have more. Having lots of contributors who are > active and engaged enough to meet the steering council qualifications > is a good problem to have :-). Technically their situation is slightly > different because their council runs on regular voting rather than > Apache-style consensus voting (a luxury they can afford because they > have a BDFL to step in if regular voting ends up disenfranchising the > minority), but I sort of get the impression that in practice they just > don't vote unless they know it will be unanimous, and it's worked out > for them so far. (To understate the case.) > > > As for make-up of the council, I think we need to expand beyond people > > who have recently contributed core code. > > > > Yes, the council does need to have expertise to make technical > > decisions, but if you think about the likely contentious issues like > > ABI breakage, a core-code focused view is incomplete. So there should > > be representation by: > > > > Someone(s) with a long history of working with the code -- that > > institutional memory of why decisions were made the way they were > > could be key. > > Sure -- though I can't really imagine any way of framing a rule like > this that *wouldn't* be satisfied by Chuck + Ralf + Pauli, so my guess > is that such a rule would not actually have any effect on the council > membership in practice. > > > Someone(s) that may not have worked on the core code, but is a major > > player in the community, perhaps as the leader of a Numpy-dependent > > project. This would provide representation for the broad community. > > Pointing out features of the current draft again for reference: In the > current text, the "NumFOCUS subcommittee" does have an external member > to provide some oversight. (So mathematically speaking, this means > that the subcommittee is not a subset -- go figure. I blame IPython.) > But, this oversight is specifically for financial matters only, not > technical ones: "This Subcommittee shall NOT make decisions about the > direction, scope or technical direction of the Project." > > Thomas Caswell (one of the leaders of matplotlib) volunteered to be > our external member to start. We certainly could ask him to sit on the > steering council as well, but honestly my guess is that this would > have no effect, either positive or negative. (I know if someone asked > me to serve on a hypothetical matplotlib steering council, then I > would just... never do anything, because who am I to second-guess > matplotlib's actual developers.) > > It's not like we don't already hear from downstream projects on a > regular basis. And if things have gone *so* pear-shaped that we have a > situation where the steering council feels they need to issue a > ruling, *and simultaneously* the members of the council are so > out-of-touch that they don't know or care about the needs of > downstream projects, then the situation is unsalvageable and we should > fork and start over. > > But I mean, it probably wouldn't hurt either. I'm not super-wedded to > the current text. I just think we should limit how much effort we > spend trying to cover every possible situation ahead of time. If we're > clever enough to solve a problem now hypothetically, then we're > probably also clever enough to solve it later when it becomes > concrete. > > -n > > -- > Nathaniel J. Smith -- http://vorpus.org > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > https://mail.scipy.org/mailman/listinfo/numpy-discussion >
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion