56

Journals consider that is good practice to release script and codes to repeat the published results, and many of us I think agree with this practice. Code are typically deposited in software version control repositories (e.g., GitHub or BitBucket).

I wonder if updating the codes during reviewing process or after publications (which in my opinion is quite important, in general) remains a good practice. Maybe the obvious answer is yes, but for example it is certainly not good to modify the data deposited for a published article (or modify its pre-print in a pre-print server).

  • Actually preprints regularly get modified post-publication on arXiv. You can always access the (generally inferior) published version if you want to. Of course, it is important that the authors indicate what the modifications are. – Sylvain Ribault Feb 10 at 16:24
121

Absolutely yes! There is no reason to stop a project from evolving just because you've published about it.

What would be good to do, however, is to identify the version current at the time of publication with a release version or other similar sort of tag. You can point to the specific tag in the publication and also have the repository tag point to the publication through its associated comment text.

This will allow a reader to have the best of both worlds: access to both the most updated information and also to the precise version associated with the publication if they need it.

  • 23
    Git specifically has a feature for tagging specific commits: git-scm.com/book/en/v2/Git-Basics-Tagging – Kevin - Reinstate Monica Feb 8 at 22:42
  • 24
    Besides a tag or release version, it would be good to include the immutable hash of the last commit at the time of publication. That way, the reader of the publication can be certain of the corresponding code. Tags can be moved and versioned releases can be modified, but hashes cannot. They're cryptographically linked to the code. – JoL Feb 8 at 22:43
  • 9
    Zenodo allows to add different DOIs to different code versions, e.g. using GitHub. guides.github.com/activities/citable-code – FuzzyLeapfrog Feb 8 at 22:45
  • 2
    I'd suggest adding a hash, as version numbers can be quite unreliable for some open source projects... (They do tend to work for more professionally managed software though.) – DetlevCM Feb 9 at 5:40
  • 11
    @JoL: Unfortunately, Git hashes are not cryptographically secure. But the effort required to fake a Git repository is considerable, and you would have to do it before publishing the hash, so I wouldn't be too worried about it in practice. There are far easier methods of academic misconduct. – Kevin Feb 9 at 9:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.