If it’s not reproducible, it’s not science.
I have become concerned that much of today’s science depends on computer programs that are not adequately described in the literature. That is, it is impossible to reproduce the results presented in scientific papers because they depend on codes that you cannot implement simply by following the description in a paper describing a scientific result.
Following the model of the GNU Project, I have produced a software license designed to ensure that the codes it applies to will, in fact, always produce reproducible results, because publishing results from those codes will require the publication of the code itself. The license includes an EXPLANATORY PREAMBLE.
To apply the license to your code, you may adopt similar language as that used by the GNU General Public License. For example, include the following text in a comment at the top of each program file:
<one line for the program’s name and a summary of its purpose>
Copyright (C) <year> <copyright holder’s name>
This program is reproducible-research software: you can
redistribute it and/or modify it under the terms of the
Reproducible Research Software License as published by
Prof. Joseph Harrington at the University of Central Florida,
either version 0.3 of the License, or (at your option) any later
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Reproducible Research Software License for more details.
You should have received a copy of the Reproducible Research
Software License along with this program. If not, see
<http://planets.ucf.edu/resources/reproducible-research/>. The license’s
preamble explains the situation, concepts, and reasons surrounding
reproducible research, and answers some common questions.