<div class="gmail_quote">On Wed, Feb 15, 2012 at 1:36 PM, Matthew Brett <span dir="ltr">&lt;<a href="mailto:matthew.brett@gmail.com">matthew.brett@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<div><div class="h5"><br>
On Wed, Feb 15, 2012 at 12:55 PM, Mark Wiebe &lt;<a href="mailto:mwwiebe@gmail.com">mwwiebe@gmail.com</a>&gt; wrote:<br>
&gt; On Wed, Feb 15, 2012 at 12:09 PM, Matthew Brett &lt;<a href="mailto:matthew.brett@gmail.com">matthew.brett@gmail.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi,<br>
&gt;&gt;<br>
&gt;&gt; On Wed, Feb 15, 2012 at 11:46 AM, Benjamin Root &lt;<a href="mailto:ben.root@ou.edu">ben.root@ou.edu</a>&gt; wrote:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On Wed, Feb 15, 2012 at 1:32 PM, Alan G Isaac &lt;<a href="mailto:alan.isaac@gmail.com">alan.isaac@gmail.com</a>&gt;<br>
&gt;&gt; &gt; wrote:<br>
&gt;&gt; &gt;&gt; Can you provide an example where a more formal<br>
&gt;&gt; &gt;&gt; governance structure for NumPy would have meant<br>
&gt;&gt; &gt;&gt; more or better code development? (Please do not<br>
&gt;&gt; &gt;&gt; suggest the NA discussion!)<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Why not the NA discussion?  Would we really want to have that happen<br>
&gt;&gt; &gt; again?<br>
&gt;&gt; &gt; Note that it still isn&#39;t fully resolved and progress still needs to be<br>
&gt;&gt; &gt; made<br>
&gt;&gt; &gt; (I think the last thread did an excellent job of fleshing out the ideas,<br>
&gt;&gt; &gt; but<br>
&gt;&gt; &gt; it became too much to digest.  We may need to have someone go through<br>
&gt;&gt; &gt; the<br>
&gt;&gt; &gt; information, reduce it down and make one last push to bring it to a<br>
&gt;&gt; &gt; conclusion).  The NA discussion is the perfect example where a<br>
&gt;&gt; &gt; governance<br>
&gt;&gt; &gt; structure would help resolve disputes.<br>
&gt;&gt;<br>
&gt;&gt; Yes, that was the most obvious example. I don&#39;t know about you, but I<br>
&gt;&gt; can&#39;t see any sign of that one being resolved.<br>
&gt;&gt;<br>
&gt;&gt; The other obvious example was the dispute about ABI breakage for numpy<br>
&gt;&gt; 1.5.0 where I believe Travis did invoke some sort of committee to<br>
&gt;&gt; vote, but (Travis can correct me if I&#39;m wrong), the committee was<br>
&gt;&gt; named ad-hoc and contacted off-list.<br>
&gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Can you provide an example of what you might<br>
&gt;&gt; &gt;&gt; envision as a &quot;more formal governance structure&quot;?<br>
&gt;&gt; &gt;&gt; (I assume that any such structure will not put people<br>
&gt;&gt; &gt;&gt; who are not core contributors to NumPy in a position<br>
&gt;&gt; &gt;&gt; to tell core contributors what to spend their time on.)<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Early last December, Chuck Harris estimated that three<br>
&gt;&gt; &gt;&gt; people were active NumPy developers.  I liked the idea of<br>
&gt;&gt; &gt;&gt; creating a &quot;board&quot; of these 3 and a rule that says any<br>
&gt;&gt; &gt;&gt; active developer can request to join the board, that<br>
&gt;&gt; &gt;&gt; additions are determined by majority vote of the existing<br>
&gt;&gt; &gt;&gt; board, and  that having the board both small and odd<br>
&gt;&gt; &gt;&gt; numbered is a priority.  I also suggested inviting to this<br>
&gt;&gt; &gt;&gt; board a developer or two from important projects that are<br>
&gt;&gt; &gt;&gt; very NumPy dependent (e.g., Matplotlib).<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; I still like this idea.  Would it fully satisfy you?<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I actually like that idea.  Matthew, is this along the lines of what you<br>
&gt;&gt; &gt; were thinking?<br>
&gt;&gt;<br>
&gt;&gt; Honestly it would make me very happy if the discussion moved to what<br>
&gt;&gt; form the governance should take.  I would have thought that 3 was too<br>
&gt;&gt; small a number.<br>
&gt;<br>
&gt;<br>
&gt; One thing to note about this point is that during the NA discussion, the<br>
&gt; only people doing active C-level development were Charles and me. I suspect<br>
&gt; a discussion about how to recruit more people into that group might be more<br>
&gt; important than governance at this point in time.<br>
<br>
</div></div>Mark - a) thanks for replying, it&#39;s good to hear your voice and b) I<br>
don&#39;t think there&#39;s any competition between the discussion about<br>
governance and the need to recruit more people into the group who<br>
understand the C code.<br></blockquote><div><br></div><div>There hasn&#39;t really been any discussion about recruiting developers to compete with the governance topic, now we can let the topics compete. :)</div><div><br>
</div><div>Some of the mechanisms which will help are already being set in motion through the discussion about better infrastructure support like bug trackers and continuous integration. The forthcoming roadmap discussion Travis alluded to, where we will propose a roadmap for review by the numpy user community, will include many more such points.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Remember we are deciding here between governance - of a form to be<br>
decided - and no governance - which I think is the current situation.<br>
I know your desire is to see more people contributing to the C code.<br>
It would help a lot if you could say what you think the barriers are,<br>
how they could be lowered, and the risks that you see as a result of<br>
the numpy C expertise moving essentially into one company.  Then we<br>
can formulate some governance that would help lower those barriers and<br>
reduce those risks.<br></blockquote><div><br></div><div>There certainly is governance now, it&#39;s just informal. It&#39;s a combination of how the design discussions are carried out, how pull requests occur, and who has commit rights.</div>
<div><br></div><div>The only way to reasonably mitigate the risk of development expertise being in one company is to recruit more developers from elsewhere. I think those new developers will appreciate having a say about how governance works, which is why I suggested to postpone the meat of this discussion with an interim solution, and move on to the recruitment topic.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
&gt; If we need a formal structure, maybe a good approach is giving Travis the<br>
&gt; final say for now, until a trigger point occurs. That could be 6 months<br>
&gt; after the number of active developers hits 5, or something like that. At<br>
&gt; that point, we would reopen the discussion with a larger group of people who<br>
&gt; would directly play in that role, and any decision made then will probably<br>
&gt; be better than a decision we make now while the development team is so<br>
&gt; small.<br>
<br>
</div>Honestly - as I was saying to Alan and indirectly to Ben - any formal<br>
model - at all - is preferable to the current situation. Personally, I<br>
would say that making the founder of a company, which is working to<br>
make money from Numpy, the only decision maker on numpy - is - scary.<br></blockquote><div><br></div><div>I&#39;m proposing to make Travis the backstop for when a decision can&#39;t be decided informally, not to force all decisions through him. There&#39;s a closely related project, Python, which follows a similar approach. ;)</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
But maybe it&#39;s the best way.   But, again, we&#39;re all high-functioning<br>
sensible people, I&#39;m sure it&#39;s possible for us to formulate what the<br>
risks are, what the potential solutions are, and come up with the best<br>
- maybe short-term - solution,<br></blockquote><div><br></div><div>The biggest risk I see is stagnant development. If there has to be a formal structure, I think it should be as simple as possible right now. I believe Travis&#39;s heart is in the right place to tackle the many problems NumPy faces, and putting him in the role of &quot;decider of last resort&quot; is a simple formal structure that I believe will work well. When there is a bigger active development community, there will be more voices, and more importantly, those voices will represent the experience gained from a bigger development team interacting with the numpy user community. That is a better time to design a more complex governance structure.</div>
<div><br></div><div>Cheers,<br>Mark</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
See you,<br>
<div class="HOEnZb"><div class="h5"><br>
Matthew<br>
_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
</div></div></blockquote></div><br>