A few ways to perpetuate reproducibility:
- As a stipulation to publication, publishers could require the software and data used for a research paper to be made publicly available so that others could reproduce the results.
- Academic institutions could provide repositories to allow its members to publish their code or data, to encourage making the code or data publicly available.
Difficulties regarding reproducibility requirements:
A major downside--perhaps a dealbreaker--is that there are significant issues with intellectual property. Large numerical models often take years to develop, benchmark and test, but once they are completed, they can often be used several times for several publications with minimal modification. Sharing the code they spent years developing in many cases would allow others to use the code to make discoveries before the original developers had a chance to do so. Allowing the original developers to protect their code gives them incentive to develop it.
Many data sets (especially in the social sciences) are protected/restricted because they contain classified, confidential, or personally-identifiable information. Moreover, many data sets that contain no personally identifiable information can actually be de-anonymized though careful computer analysis, so even protected data sets that have been "anonymized" are not necessarily safe to be released to the public.
Another difficulty is that some codes/scripts/routines may use commercial software (e.g. MATLAB, SPSS, etc.), so while the code themselves may be freely available, they might not necessarily be usable without paid software. This would exclude certain people from being able to reproduce results.
Some data sets are so large as to be an unreasonable burden on repositories. For example, I collaborated on a simulation that produced over 50 TB of data -- and there are other data sets that make 50 TB look tiny! It could cost a lot to maintain repositories on the order of hundreds of TB or several PB.
There are a few things that could be done to strongly encourage reproducibility, but they come at a cost. Releasing code, exact methodology, data sets, and other intellectual property would impact different fields in different ways and may not always be possible from a legal perspective. My guess is that data reproducibility will need to be treated on a field-by-field basis.