PLoS: 10 Rules for Scientific Open Source Software

This weeks's PLoS Computational Biology includes a nice article outlining best practices for openness in scientific code. In short, the article argues that open sourcing research code increases impact and is needed for reproducibility, and that simply releasing source code is insufficient: failure to maintain the project rapidly leads to obsolescence. Building a community can preserve usability with low costs. Ten best practices for open source scientific code are presented:

  1. Don't Reinvent the Wheel
  2. Code Well
  3. Be Your Own User
  4. Be Transparent
  5. Be Simple
  6. Don't Be a Perfectionist
  7. Nurture and Grow Your Community
  8. Promote Your Project
  9. Find Sponsors
  10. Science First: yield control to the community to keep room for research

I've noticed a two additional factors that discourage open sourcing of research code. Research code is often low quality 'Spaghetti code', and researchers do not physically have time to bring the source code up to standards for public release. Additionally, ( and this may be paranoid speculation ) some researchers would rather keep private fast implementations of novel methods to maintain a competitive advantage, leaving other scientists to rebuild the algorithms from scratch.

The article is almost as short as this summary, so head over and check it out.

No comments:

Post a Comment