Codes gone bad and how to save them

The ASCL has 779 codes in it now, some of which date back to the 1990s. With the speed at which both the web and code authors (often grad students or post docs) move, links to some code sites are bound to go bad over time. We use a checker regularly to test links to ensure we’re not pointing to dead links; when we do find a broken link (defined as one we haven’t been able to reach for at least 2 weeks), we look for a new one and, if that doesn’t work, email the code author(s) to ask where the code has moved.

We can’t always find a good link, and code authors sometimes don’t reply to our emails. Currently, eight codes — 1% of our entries — have bad links. Of these, for half of them we either cannot find the code author or the code author has not replied to numerous emails.

What else can we do?

I assume that some code authors forget their codes. Having moved on perhaps to another institution and other work, they do not have time nor incentive to create a new web home for a code they wrote some years ago. That’s understandable, but then the code, a unique solution to a problem, an artifact of astrophysics research, a method used in research, is lost.

We’d like to save the codes (Save the Codes! I may have to put that on glow-in-the-dark pencils); here are a few ideas for authors who no longer want to maintain a site for their codes:

  1. Send an archive file of the code to the ASCL. We can house it, as we do for CHIWEI.
  2. Post the code in an online repostitory such as GitHub, SourceForge, Code.Google, or Bitbucket if you would like the code to be open source and are open to others continuing its development, or on a site such as Figshare or Zenodo to simply make it available.
  3. Create a Research Compendium for your paper, data, and code on Research Compendia, or a companion website for your research on RunMyCode and load the code and data for your research there.
  4. Ask your institutional library to house it; many institutions have repositories for storing the digital artifacts of academia and research.

I don’t know about option 4, but options 1-3 should take 15 minutes or less. Surely a code is worth that little bit of extra time to make it available to others even if you don’t want to be bothered with it anymore.

Please save your code; don’t let it go bad!

4 thoughts on “Codes gone bad and how to save them

  1. Pingback: Closure of Google Code and impact on ASCL records – ASCL.net

  2. Richard Smith-Unna

    You ask ‘what else can we do?’.

    You outline some passive options – things you can ask authors to do. In addition to asking, you can go one step further and *require* them to archive their code (although perhaps you don’t feel you have the authority/leverage to make that demand).

    An alternative is to archive it yourselves. Create a Zenodo account for the organisation, and then create a new Zenodo record of the code for each submission. Then it doesn’t matter about the original site going down.

    Reply
    1. Alice Allen Post author

      I don’t have the authority to make that demand, and in fact, a code author may not be free to archive their code as they wish, as they may be subject to institutional requirements and rules.

      I would not archive it, either; it is not my intellectual property! As much as I would like to save the codes, I feel even more strongly that I do not have the right to determine where someone else’s intellectual/creative property should be. I can write about it and point to it, and even download it for examination as any researcher might, but archive it in a public archive to serve to the public without the code author’s permission? No. I am trying to encourage people to release their codes (most authors don’t), and my archiving other people’s codes would very likely further inhibit code release. The code’s author should be the one to determine where the code resides. Some authors have extensive websites that offer a lot of information about their codes that an archival site such as Zenodo cannot capture. I’d rather direct people to those rich resources. Other codes are in continual development.

      A journal may require that a version of a research code be archived, and that is a good way to support the research record for that particular research, but someone hoping to use the code for other research is unlikely to want what may be an out of date version and would prefer to go to the development or home site for the code instead.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *