Improving scientific software

For open-source software used heavily in the sciences, there is a problem with giving the proper incentives and recognition to developers. A recent article in SIAM News called Quo Vadis, Scientific Software correctly points out the main problem with current practice.

Current practice involves researchers who use scientific software reinventing the wheel very frequently. As the authors of the article point out, if you try to publish a paper in a journal of mathematics and claim some theorems in your paper, you will not be allowed to omit the proofs. Yet, we often see such things as a paper that uses some mathematical software but does not include the code written for the calculations included in the paper.

I have always insisted that the graduate students whom I advise include any simulation code they wrote and used in the appendix of their dissertations. More people need to do this.

From the problem of not sharing code readily in scientific work there also follows the problem of researchers reinventing the wheel. You may know of a paper that did a simulation you would like to do but don’t know the code for the simulation, so you have to write your own to do something very similar. The article points out some efforts to build open-source libraries of code already written by practicing scientists who use computation in their work but also mentions a related problem: there is no established system for contributors to such libraries to receive professional credit. This problem reduces the incentive for a young scholar to contribute good code to a library that could benefit the entire scientific community.

It seems to me there is a strong argument in favor of solving the credit-giving problem and stopping the current inefficient practice surrounding scientific software. The linked article concludes with some eminently sensible proposed solutions. I highly recommend it.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s