Workshop Roundup: Best Practice for Archiving Code
Missed the Code Archiving workshop at the Annual Meeting in Liverpool? Here is a summary including links to the exercises. You can comment on our draft code archiving guidelines too!
At the 2016 BES annual meeting in Liverpool the Methods in Ecology and Evolution team held a half-day workshop on ‘Best Practice for Archiving Code’.
The idea for the workshop came from a meeting several members of the journal editorial board held earlier in 2016 to discuss the complex issues around publishing code. MEE, like all the BES journals, supports the principles of open science and we want to make sure that code published in our journal is readily available to our readers and adheres to key principles of quality, usability, accessibility and functionality.
Coding is becoming a more and more important skill for ecologists to have, but often training is not readily available and ecologists tend to be self-taught. As a journal we want to introduce guidance for authors so that published code is as useful as possible to our readership. However, we certainly do not want potential authors to feel that they lack the coding prowess to adhere to our guidelines and so be put off from publishing with us. We therefore designed a workshop with two aims:
- To give attendees training in using code in their research and getting it ready to publish and
- To consult participants on the usefulness of our proposed code guidelines for authors.
The training section of the workshop took the form of three practicals led by experienced experts. On the day, the sessions were guided exercises but each has been designed as a self-learning module so if you were not there, but are interested in learning more, you can access all the practicals here.
Laura Graham, an ecologist with a background as a data analyst, taught delegates how to write reproducible code in R, giving them a reproducible workflow that can easily be revisited at a later date.
Tamora James, an ecologist with a programming background, led a session on version control using GitHub. Version control is the process of tracking changes to documents and code over time, giving delegates a flexible way to manage and share their code.
Finally, Mike Croucher, a software engineer with experience providing training to ecologists, led a session on code publication and citation. He introduced the group to the Software Citation Principles as developed by a Force 11 working group and to Zenodo, a service developed by CERN that allows publishing research objects such as scripts, data and software packages in a way that satisfies the software citation principles.
Again, you can go through each of the exercises yourself here.
The second section of the workshop was a consultation with delegates on MEE’s draft code guidelines. Led by MEE Executive Editor Rob Freckleton, this raised some interesting questions from the audience, including:
- How should we deal with new releases of software after publication of papers?
- To what extent should we expect reviewers to peer review code?
- Where should we draw the line between good practice, which is practical to adhere to for the community, and best practice – a gold standard which might be practically unattainable. See a recent paper on ArXiv from the founders of Software Carpentry on this subject.
Like this story?