In addition to the common excuses that Nick Barnes mentions in his article in Nature, one reason why scientists did not freely provide their code was the fear of potential misuse of their software (since erratic publications using their software could harm their reputation). The common solution to this problem was to impose a barrier to entry by charging a fee. Many of the early examples of complicated scientific software used this policy:
Those packages are rather different from a given scientist's code for a given paper. These are big, mature projects, probably multi-lab or department-wide, long-term efforts, to develop a shared foundation for work in a given field.
The code actually corresponding to a given paper is likely to be a small amount that builds on packages such as those above, or products like Matlab, whatever. There could be code to implement an experiment, and Matlab code to analyze the data.
Agreed. Sharing these big, mature, foundation frameworks is essential for the reproducibility of published research. The additional convenience scripts that accompany a paper are often described or provided in the methods and supplement. As a reviewer, I block papers that lack unambiguous information allowing their reproduction, but I don't penalize the lack of explicit convenience scripts, since these can be reproduced or provided from the authors upon request.
Thank you for the inspiring article and for your comment.
I agree that nowadays the fear of harming one's reputation through abuse of their code sounds unreasonable. Leaders of major scientific codes told me, however, that this was their overwriting concern in the 80s and 90s. As an alternative to imposing barriers to entry through fees, some groups demanded collaboration on the first project that used their code (a method that doesn't scale well, but doesn't require writing of thorough documentation, another thing that many scientists dislike). Hopefully, the times they are a-changing.
http://yuri.harvard.edu/
http://ambermd.org/#obtain
http://cms.mpi.univie.ac.at/vasp/vasp/How_obtain_VASP_packag...
Due to advances in computer literacy and the creation of competing projects, the landscape has been changing in recent years:
http://en.wikipedia.org/wiki/List_of_software_for_molecular_...
http://en.wikipedia.org/wiki/Quantum_chemistry_computer_prog...