It is the usual practice that researchers re-implement others' work for the purpose of comparison or result verification. If for instance researcher A re-implements researcher B's paper and improves it. Is it acceptable to make his re-implementation files of researcher B's paper available as a supplementary file with his published paper?
3 Answers
Science is all about reproducibility. You should reimplement others work and make it available to third parties, just like the original author made his work and results public so that others can learn from it. (They may not have made any software available, but they did describe what exactly they did, after all.)
-
4“They did describe exactly what they did” One can only hope, anyway. Not all papers are written to the same level of rigor, unfortunately. Oct 23, 2019 at 8:10
-
Overall, this is a net positive for the field: people are more likely to try a new method if good code is available. If someone publishes a paper about a method, they expect (and hope) that it will inspire the reader to use it.
Two caveats:
When you make your code available, include a README note stating that this is a clean re-implementation. (if your method makes slightly different choices, and gives different results, be clear that this is not the exact code used by the original authors)
In rare cases, the paper might contain large sections of source code, or refer to protected IP / datasets. In that case, be sure to make your code compatible with the required licensing terms.
Examples: if you copy-paste sample code that is GPL licensed, or if the package depends on sensitive patient data, these things could affect what or how you redistribute. For a pure method paper, this usually isn't a big problem.
As for how to make the code available- hopefully your journal makes it easy to share code! If your journal still thinks that supporting info means "ugly PDF", services like Zenodo allow you to publish github repositories (or other artifacts) as separate citable resources. See: https://guides.github.com/activities/citable-code/
This is very much acceptable nad I encourage doing so. If you have reproduced someone else's work, it is also very appropriate and helps document your effort and further validate the original author's work if you publish your implementation of it.
In fact, there is actually a scientific journal with the explicit purpose of publishing reproduced work like you describe. The journal is ReScience (and I should mention that I am also associate editor for signal processing there).