<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Apr 8, 2013 at 2:04 AM, Paul Ivanov <span dir="ltr">&lt;<a href="mailto:pivanov314@gmail.com" target="_blank">pivanov314@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I just wanted to chime in that while the document on contributing<br>
to numpy [2] is pretty thorough in terms of the technical details<br>
expected of a submission - it makes practically no allusions to<br>
the social aspects of contributing changes - e.g. the<br>
expectations one should have when proposing a change - a loose<br>
flowchart or set of possible outcomes.<br></blockquote><div><br></div><div>This is a point I recognize, more description/guidance on how things work (or should work) in practice would be useful. Last year we did make an attempt to write up something on community process for SciPy: <a href="https://github.com/scipy/scipy/blob/master/HACKING.rst.txt">https://github.com/scipy/scipy/blob/master/HACKING.rst.txt</a>. I suspect it&#39;s more beginner-oriented than what you have in mind, but large parts of it could be taken over for numpy.<br>
<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
2. <a href="http://docs.scipy.org/doc/numpy/dev/gitwash/development_workflow.html" target="_blank">http://docs.scipy.org/doc/numpy/dev/gitwash/development_workflow.html</a><br>
<br>
<br>
Here&#39;s an example of what those expectations might be:<br>
<br>
1. your change gets reviewed by a core committer, is deemed<br>
acceptable, and gets merged.<br>
<br>
2. specific changes are required to the implementation/logic,<br>
after which the PR will be deemed acceptable, and get merged<br>
<br>
3. the proposal is too broad in scope, or proposes a drastic<br>
change that has not been discussed on the list, and should be<br>
paused from further action pending the outcome of such a<br>
discussion.<br></blockquote><div><br>Good examples, here are a few more.<br><br></div><div>4. the proposal looks good, but hasn&#39;t yet been discussed on the list. Please go do that, after that we continue.<br><br></div>
<div>5. You don&#39;t get a response to your PR or your post on the mailing list. This ideally shouldn&#39;t happen, however the numpy development team is small and very busy. Don&#39;t take it personally. If more than a week has passed (for an email) please ping the list again. For PRs wait at least a week or two, unless it&#39;s an urgent bug fix.<br>
</div><div><br><br></div><div>To me, the type of response that one is likely to receive is connected to the type of contribution:<br><br></div><div>A. bug fix. --&gt; situation 1 or 2<br><br></div><div>B. new feature/function --&gt; situation 3 or 4<br>
<br></div><div>C. documentation, build improvement, etc. --&gt; situation 1 or 2<br><br></div><div>D. backwards-incompatible changes --&gt; there&#39;s a strong feeling in the community that non-backwards-compatible changes are to be avoided unless there&#39;s a very good reason why those changes have to be made. Only propose these if you are convinced that there are no ways to achieve what you want in another way. Do expect some resistance.<br>
<br>  D1. ABI changes --&gt; these are a last resort, and require a major version number change.<br><br>  D2. API changes --&gt; these are in most cases less painful than ABI changes, but don&#39;t happen all that often - even if the change is accepted a (&gt;1 year long) deprecation process is needed.<br>
</div><div><br></div><div>E. forwards-incompatible changes --&gt; there&#39;s no guarantee that numpy provides forwards compatibility. We don&#39;t go and break this for no reason, but the threshold is low. Please discuss on the list.<br>
<br></div><div>F. adding new sub-modules --&gt; situation 3. Adding new sub-modules is rare. The numpy namespace is relatively flat, we aim to keep it that way. There has to be a very good reason to add a new module.<br></div>
<div><br></div><div>G. website improvement --&gt; thank you, desperately needed. Here&#39;s some login credentials and a medal.<br><br><br></div><div>If the scipy doc I linked and the above make sense, I can draft something for the numpy docs for people to comment on. I don&#39;t have much time this week though, so I&#39;d be grateful if someone would help out with this.<br>
</div><div><br></div><div>Cheers,<br>Ralf<br><br></div></div></div></div>