But since the post is so short, here it is in it’s entirety:
"Every piece of software written for publication, which then can't be found after publication is grant funding thrown away. Every piece of software that only worked for the author during manuscript preparation is grant money thrown away. Every piece of software reinvented solely for the purpose of adding a new feature and publishing is grant money thrown away.
Grants are harder and harder to obtain, yet we fund the current attrition of moving bioinformatics software forward one reinvention at a time. Where else is it acceptable to reinvent a tool rather than try to improve upon an existing one? Count how many types of webservers are commonly used across the web, then count how many different genome assemblers have been published. If we were a company and we behaved this way, we would have gone out of business long ago. We have accepted a state whereby the short-term reward of publication trumps the longer-term goal of maintaining and improving existing open-source software. We now reap the rewards of this every time we can't find stable software to run our analyses."
I think anyone who’s tried to learn bioinformatics instinctively knows this is true. Instead of whining about just how true I’ve found it to be in the past year, I’ll offer two high-level solutions. By “high-level”, I realize I ignore all of the depressing, nitty-gritty details.
- Reproducing computational results must be encouraged and rewarded. Given the current research environment, the rate of independent software validation is unlikely to increase. We as a community must find methods to foster reproducibility; perhaps in ways as simple as offering “bounties” to teams or individuals who validate newly published software.
- Guidelines for software publication should become as strict manuscript guidelines. Here’s an outline of what’s needed to publish to Science:
Where’s the equivalent document for software? “Software” isn’t even mentioned at all in the guidelines.