<p>But this is exactly the problem--I also work at a large user facility and will play with his package--but scipy is one of the first places new users will turn to--and fitting a function with bounds is a very common task.</p>

<p>In this particular case, what are the exact steps needed to get it into scipy?  Can they charge be listed as tickets somewhere so that others of us can help?  Can we document the process to make it easier the next time?  I realize everyone is busy, but if the barrier to contribution is lowered it will make life better in the long run.</p>

<div class="gmail_quote">On Mar 9, 2012 11:40 AM,  &lt;<a href="mailto:josef.pktd@gmail.com">josef.pktd@gmail.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Thu, Mar 8, 2012 at 7:55 PM, Matthew Newville<br>
&lt;<a href="mailto:matt.newville@gmail.com">matt.newville@gmail.com</a>&gt; wrote:<br>
&gt; Gael,<br>
&gt;<br>
&gt;<br>
&gt; On Thursday, March 8, 2012 3:07:22 PM UTC-6, Gael Varoquaux wrote:<br>
&gt;&gt;<br>
&gt;&gt;   I am sorry I am going to react to the provocation.<br>
&gt;<br>
&gt; And I am sorry that I am going to react to your message.  I think your<br>
&gt; reaction is unfair.<br>
&gt;<br>
&gt;<br>
&gt;&gt;   As some one who spends a fair amount of time working on open source<br>
&gt;&gt;   software I hear such remarks quite often: &#39;why is feature foo not<br>
&gt;&gt;   implemented in package bar?. I am finding it harder and harder not to<br>
&gt;&gt;   react negatively to these emails. Now I cannot consider myself as a<br>
&gt;&gt;   contributor to scipy, and thus I can claim that I am not taking your<br>
&gt;&gt;   comment personally.<br>
&gt;<br>
&gt; Where I work (a large scientific user facility), there are lots of<br>
&gt; scientists in what I&#39;ll presume is Eric&#39;s position -- able and willing to<br>
&gt; work well with scientific programming tools, but unable to devote the extra<br>
&gt; time needed to develop core functionality or maintain much work outside of<br>
&gt; their own area of interest.  There are a great many scientists interested in<br>
&gt; learning and using python.  Several people there *are* writing scientific<br>
&gt; libraries with python.  Similarly in the fields I work in, python is widely<br>
&gt; accepted as an important ecosystem.<br>
&gt;<br>
&gt;<br>
&gt;&gt;   Why isn&#39;t scipy not up to the task? Will, the answer is quite simple:<br>
&gt;&gt;   because it&#39;s developed by volunteers that do it on their spare time,<br>
&gt;&gt; late<br>
&gt;&gt;   at night too often, or companies that put some of their benefits in open<br>
&gt;&gt;   source rather in locking down a market. 90% of the time the reason the<br>
&gt;&gt;   feature isn&#39;t as good as you would want it is because of lack of time.<br>
&gt;&gt;<br>
&gt;&gt;   I personally find that suggesting that somebody else should put more of<br>
&gt;&gt;   the time and money they are already giving away in improving a feature<br>
&gt;&gt;   that you need is almost insulting.<br>
&gt;<br>
&gt; Well, in some sense, Eric&#39;s message is an expression of interest.... Perhaps<br>
&gt; you would prefer that nobody outside the core group of developers or mailing<br>
&gt; list subscribers asked for any new features or clarification of existing<br>
&gt; features.<br>
&gt;<br>
&gt;<br>
&gt;&gt;   I am aware that people do not realize how small the group of people that<br>
&gt;&gt;   develop and maintain their toys is. Borrowing from Fernando Perez&#39;s talk<br>
&gt;&gt;   at Euroscipy (<a href="http://www.euroscipy.org/file/6459?vid=download" target="_blank">http://www.euroscipy.org/file/6459?vid=download</a> slide 80),<br>
&gt;&gt;   the number of people that do 90% of the grunt work to get the core<br>
&gt;&gt;   scientific Python ecosystem going is around two handfuls.<br>
&gt;<br>
&gt; Well, Fernando&#39;s slides indicate there is a small group that dominates<br>
&gt; commits to the projects, then explains, at least partially, why that it is.<br>
&gt; It is *NOT* because scientists expect this work to be done for them by<br>
&gt; volunteers who should just work harder.<br>
&gt;<br>
&gt; There are very good reasons for people to not be involved.  The work is<br>
&gt; rarely funded, is generally a distraction from funded work, and hardly ever<br>
&gt; &quot;counts&quot; as scientific work.  That&#39;s all on top of being a scientist, not a<br>
&gt; programmer.  Now, if you&#39;ll allow me, I myself am one of the &quot;lucky&quot;<br>
&gt; scientific software developers, well-recognized in my own small community<br>
&gt; for open source analysis software, and also in a scientific position and in<br>
&gt; a group where building tools for better data collection and analysis can<br>
&gt; easily be interpreted as part of the job.  In fact, I spend a very<br>
&gt; significant amount of my time writing open source software, and work nearly<br>
&gt; exclusively in python.<br>
&gt;<br>
&gt; So, just as as an example of what happens when someone might &quot;contribute&quot;,<br>
&gt; I wrote some code (lmfit-py) that could go into scipy and posted it to this<br>
&gt; list several months ago.  Many people have expressed interest in this<br>
&gt; module, and it has been discussed on this list a few times in the past few<br>
&gt; months.  Though lmfit-py is older than Fernando&#39;s slides (it was inspired<br>
&gt; after being asked several times &quot;Is there something like IDL&#39;s mpfit, only<br>
&gt; faster and in python?&quot;), it actually follows his directions of &quot;get<br>
&gt; involved&quot; quite closely: it is BSD, at github, with decent documentation,<br>
&gt; and does not depend on packages other than scipy and numpy.   Though it&#39;s<br>
&gt; been discussed on this list recently, two responses from frequent<br>
&gt; mailing-list responders (you, Paul V) was more along the lines of  &quot;yes,<br>
&gt; that could be done, in principle, if someone were up to doing the work&quot;<br>
&gt; instead of &quot;perhaps package xxx would work for you&quot;.<br>
&gt;<br>
&gt; At no point has anyone from the scipy team expressed an interest in putting<br>
&gt; this into scipy.  OK, perhaps lmfit-py is not high enough quality.  I can<br>
&gt; accept that.  My point is that there *is* a contribution but one that would<br>
&gt; not show up on Fernando&#39;s graph as a lengthening of &quot;the tail of<br>
&gt; contributors&quot;. There ARE a few developers out there who are interested in<br>
&gt; making contributions, and the scipy team is not doing everything it could be<br>
&gt; doing to either facilitate or even encourage such participation.  In fact,<br>
&gt; especially given your response, it would be possible to conclude that<br>
&gt; contributions are actually discouraged.  It&#39;s also possible to be more<br>
&gt; optimistic, and conclude that Fernando&#39;s statistics are accurate only for<br>
&gt; each project shown, but wildly underestimate the whole of the community.<br>
<br>
I think lmfit is a good project, it can be easy installed. You are<br>
able to maintain and develop it.<br>
So I don&#39;t think the need to have it in scipy is very urgent.<br>
<br>
On the other hand, for anyone not familiar with AST manipulation it<br>
feels to me like a possible maintenance nightmare.<br>
It doesn&#39;t mean it is, but as part of a community project it should be<br>
possible to maintain (or come with a maintainer).<br>
<br>
But maybe I have just seen to much stranded and broken code in scipy<br>
(that remained neglected for years).<br>
<br>
As an example for a contribution: fisher&#39;s exact test, a pretty<br>
important function, but didn&#39;t quite work for several cases. I spend<br>
several days trying to figure out how to fix it. I was not successfull<br>
since I was not familiar with the algorithm and the numerical problems<br>
it raised. A while later users or the original developer found ways to<br>
fix the corner cases. At that stage it was possible to include it in<br>
scipy. (There were a few additional edge cases afterwards, but that<br>
were minor fixes.)<br>
<br>
As a positive example, Denis Laxalde became very active and is<br>
revamping and improving large parts of the scipy.optimize code.<br>
<br>
Josef<br>
<br>
&gt;<br>
&gt;<br>
&gt;&gt;  I&#39;d like to think that it&#39;s a problem of skill set: users that have the<br>
&gt;&gt;  ability to contribute are just too rare. This is not entirely true, there<br>
&gt;&gt;  are scores of skilled people on the mailing lists. You yourself mention<br>
&gt;&gt;  that you are developing a package.<br>
&gt;<br>
&gt; There are many kinds of skills.  Sometimes, not insulting your customers,<br>
&gt; colleagues, and potential collaborators is the most important one.<br>
&gt;<br>
&gt;<br>
&gt;&gt;  Sorry for the rant, but if you want things to improve, you will have more<br>
&gt;&gt;  successes sending in pull request than messages on mailing list that<br>
&gt;&gt;  sound condescending to my ears.<br>
&gt;&gt;<br>
&gt;&gt;  I hope that I haven&#39;t overreacted too badly.<br>
&gt;<br>
&gt; Sorry, but I think you have.  I&#39;m impressed that Eric was appreciative -- I<br>
&gt; know many who would not be.<br>
&gt;<br>
&gt; For myself, I find it quite discouraging that the scipy team is so insular.<br>
&gt; Cheers,<br>
&gt;<br>
&gt; --Matt Newville<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; SciPy-User mailing list<br>
&gt; <a href="mailto:SciPy-User@scipy.org">SciPy-User@scipy.org</a><br>
&gt; <a href="http://mail.scipy.org/mailman/listinfo/scipy-user" target="_blank">http://mail.scipy.org/mailman/listinfo/scipy-user</a><br>
&gt;<br>
_______________________________________________<br>
SciPy-User mailing list<br>
<a href="mailto:SciPy-User@scipy.org">SciPy-User@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/scipy-user" target="_blank">http://mail.scipy.org/mailman/listinfo/scipy-user</a><br>
</blockquote></div>