Hacker News new | ask | show | jobs
by mattkrause 3279 days ago
I think you're missing the point.

The authors of NumPy (and other scientific software) have made it possible for many, many people to do better, faster research, and their career trajectory ought to reflect that contribution.

Right now, it does not.

The NSF will certainly give you money to develop asymptotically faster matrix multiplication algorithms. They are much less interested in funding efforts that save an equal amount of researcher time by writing clearer documentation. Tenure committees would rather see 10 papers or 100 citations than a thousand pull requests, even if the last has a much bigger impact on the state of the entire field. If the authors of NumPy were totally rational, they would have written just enough code and documentation to publish something like "NumPy: A Python library for linear algebra" in the Journal of Statistical Software (or something), then moved on to something else entirely. All the work beyond that (assuming it's not supporting a future paper) comes at the expense of their academic careers. People certainly do it anyway--sometimes out of pride, or a sense of helpfulness--but they're certainly not rewarded for it.

They could be though. Funding agencies could give grants for the on-going development and maintenance of software that helps their grantees. Universities could consider contributions to the broader community as part of their hiring and promotion process, and so on.

The odd part is that this would probably be more cost-effective too. Even a $10M/5 year grant is just a drop in the bucket compared to what all NIH/NSF/etc grantees pay for Matlab or Prism licenses.

1 comments

With all due respect, the career trajectory of Travis Oliphant (&co) has been nothing but spectacular! He's extremely accomplished, respected and (I hope) compensated.

You're kinda undermining your own point there :-)

In any case: "force other people to finance my hobbies" is not my favourite ideology. I find the idea of some "tenure committee" deciding what I should do with my money mildly disgusting.

You're very cavalier throwing millions around, but you do realize this is money other people had to earn and tax first, right? And that these people might have preferred to contribute and support a different cause instead, perhaps something closer to their own heart and interests?

Travis Elephant has done very well with Enthought and Continuum Analytics. Before that though, he was an assistant prof at BYU. He's written several times about how he essentially gave up his academic career to continue working on NumPy. For example, he alludes to it in this post he wrote http://technicaldiscovery.blogspot.ca/2012/01/transition-to-... that says "[my wife] watched me sacrifice my tenure-track position by writing NumPy instead of more papers."

You agree that NumPy has been a huge boon to the scientific community and that BME (his previous field) has reaped the benefits too, right? Let's say NumPy has made minor (~5%) contributions to, say, 500 papers; this is probably a huge underestimate. If he had instead published (say) 25 papers, he would have a thriving academic career and yet his actual impact on the world would be a lot lower. Academia is really bad at rewarding work that has a broad, diffuse impact. In a better world, administrators and funders would recognize that his work on NumPy was sufficiently valuable that he wouldn't have had to choose.

I'm not sure this is the right article to get into "research funding==financing hobbies" debate, but...given that some research is probably going to be funded anyway, wouldn't you rather it be done in an efficient way? Right now, most academic software is a bit of a waste: it's written so that the authors can write a paper about having written it. There's no incentive to produce code that others can use or reuse, no reason to maintain it or update it, and so on. Individual labs can usually figure this out, but that also costs time and money which is coming out of the same budget one way or another.

I like this format. Now that the post slid off the main page, it's more quiet here and we can discuss at leisure :-) Sustainability of open source is a topic close to my interests and line of business.

First, I'd question that a "sacrifice" that leads to such spectacular success is really a sacrifice. Perhaps "investment" is a better word?

I'll concede there are risks involved, outcome uncertain, stressful days... but that's in line with calling it an investment. These go hand in hand. You simply cannot create anything of value without a struggle, and to think otherwise is to ignore the human nature and the history of pioneering new grounds.

In any case, my original point above was that success cannot come without some sort of personal investment. I believe removing risk from potentially high-reward activities is an oxymoron, economic nonsense. Risk and reward are two sides of the same coin.

And if the activity is low-reward, it's just a hobby.

Masking this risk-reward connection by forcing other people to cover the risk side for you just creates perverse incentives and social aberrations. Think bank bailouts, for an extreme but inevitable example of where this line of reasoning leads to.

Or let me phrase this differently.

You seem to have this image of an honest academic, toiling away on OSS at nights, standing up to committees like Galileo, the proverbial Travis. You'd like to help him lessen his burden by a better redistribution scheme of grant money -- a commendable goal.

What I say is if the toil is worthwhile, Travis will be rewarded anyway.

In addition, there are throngs of less honest people you don't seem to consider. These people exist too and always jump out of the woodwork, given the right incentive of less-risk-more-reward. Simple economic arbitrage, a law of nature.

What I'm saying is, such system cannot work, no matter how lofty its ideals: it doesn't help the good, it promotes the bad and unscrupulous, and morally corrupts those on the fence.

Maybe not quite that extreme, but yes, I want academia to reward good software at least as well as it rewards mediocre papers.

NumPy is unusual because it's so broadly useful: physicists and neuroscientists can use it (like original authors), but so can quants and ad analytics folks and other people with serious budgets. Enthought and Continuum exist because they can tap into those markets, and, as a result, Travis (&ct) ended up doing very well--and justifiably so. However, most scientific software is more specialised or lacks this industrial backstop, and I don't see how they could follow a similar path. There's no serious industrial application for spike sorting, for example, but it's very important to neuroscience research.

I'm not sure I understand your concern about throngs of dishonest people, or least how it is any different from the status quo.

I am not imagining a system where money and jobs are just thrown around. Instead, I just want minor changes in hiring and funding. Academic promotion/hiring already weighs a bunch of factors: publication record, funding, peer evaluations, teaching, and various forms of service. I think writing and maintaining a widely used software package is currently under-valued there. Maintaining very popular packages might be treated as editing a journal, another form of academic service that does seem to count for something.

Similarly, it is (comparatively) easy to get money to develop new methods and write some code implementing them. There ought to be a complementary funding stream for maintaining successful packages once they are written. You could imagine a BAA-like process where applicants say, "My toolbox was downloaded 2,182 times and cited in 378 papers last year. However we've got a bunch of open issues including integration with X, Y, and Z, missing documentation for A, B, and C, and so. I want...20% salary support to work on this over the next year and $10,000 for a freelance technical writer." As with other grants, these would be evaluated (potential impact, proposer's track record, interactions with other funded programs, etc).

I realize there are alternatives. Stephen Wolfram essentially took Symbolic Manipulation Program "private" and funded Mathematica development by selling subscriptions. It worked for him, though I think that's asking people to assume a huge career risk or change that they might not want.

I wonder the SageMath guy ever considered something like the NIH's SBIR program (a scheme for setting up small businesses based on research).