Utilising complex data assets with the right software

The effective use of continuously growing and increasing complex data assets brings an associated need for reliable and trustworthy software to deal with the volume and complexity. Data assets need robustness, reliability, and accessibility. Similarly, software and process assets need provenance, reliability, support, accessibility and transparency. Also, software needs to be recognised as a first class research output in the same way that data is now.

Read more about open, citable and sustainable software below, as well as:

  • access best practice guides and learning materials
  • find out how to ensure your research software is citable and reusable
  • learn about international initiatives aiming to raise the profile of software as a first class research output.

What is sustainable research software?

According to Working Towards Sustainable Software For Science Practice and Experiences,sustainable software has the capacity to endure such that it will continue to be available in the future, on new platforms, meeting new needs”. Another definition suggests that “sustainability [is] the condition that results when the work needed to keep software scientifically useful is undertaken”. But what does that mean in practice? A recent interview study with RSEs suggests that sustainable research software should have the following characteristics:

  • Documented
  • Testable
  • Readable
  • Modular
  • Standardised
  • Useful
  • Scalable
  • Openly available
  • Shared/co-owned
  • Resourced
  • Actively maintained
  • Independent of infrastructure
  • Supported
  • Version-controlled

This framework is high level, with a number of decisions, activities, processes and actions underpinning each characteristic: When to open up the software? Which licence to apply? Who will maintain documentation? How to manage versioning? Who’s paying?

Best practice for developing sustainable software

Broadly, the research software lifecycle includes acquiring and assembling resources (including funding and people) into teams and communities, using, developing and maintaining software. It also recognises contributions to and of software.

There are a number of best practice guides available that provide advice for working through all stages of this lifecycle such as:

  • The Netherlands eScience Center's comprehensive Software Development Guide which includes a useful checklist for each stage of development.
  • Common Lab Research Infrastructure for the Arts and Humanities (CLARIAH)'s Software Quality Guide that can be used by both software developers and software adopters to assess the quality and sustainability of software.
  • The German Aerospace Centre's Software Engineering Guidelines to support sustainable software engineering in research.

These guides all have a Creative Commons licence applied so they can be adapted to suit different organisations and projects.

Publishing and reusing research software

Publishing research software makes it:

  • citable and accessible which in turn supports scientific reproducibility and transparency
  • helps software developers gain appropriate credit for their work
  • helps the community by enabling reuse of code and methods.

Importantly, it is increasingly required by funders, who want researchers to make their data and workflows open and by publishers who aim to improve replicability. See for an example, the PLOS materials and software sharing policy.  In addition, The Australian Code for Responsible Conduct of Research and the associated soon-to-be published Guide to Data Management are explicitly inclusive of research software as an output of research that should be made publicly available for reuse. Compliance with the Code is a requirement for the receipt of funding by National Health and Medical Research Council (NHMRC) and Australian Research Council (ARC).

Numerous repositories for software exist including widely used platforms such as Git, and BitBucket. These can be used to expose software under development and in some cases (e.g. Git-Zenodo) offer a workflow to formally publish software with a DOI to enable citation.  Research software published through institutional repositories can also be made discoverable through Research Data Australia with descriptive metadata syndicated to google and other search services to facilitate discovery and reuse.

Read the Software deposit guidance for researchers developed by the Software Sustainability Institute (SSI).

A number of peer-reviewed journals accept submissions that are primarily about the software and not necessarily about new algorithms or new science. The Software Sustainability Institute maintains a list of titles from across numerous domains including Life Sciences, Humanities and Social Sciences, Engineering and Informatics as well as more general titles. Publishing a software paper in a peer-reviewed journal offers the same benefits as any other journal article - enabling recognition and credit for research outputs, opportunities for collaboration and reuse and the tracking of citation metrics.  

A recent development is the ability to publish computationally reproducible articles in online journals. These enrich the traditional narrative of a research article with code, data and interactive figures that can be executed in the browser, downloaded and explored, giving readers a direct insight into the methods, algorithms and key data behind the published research.

A software licence protects both software creators and reusers.  If no licence is applied to software it is unclear if, and how, software may be reused by others. This can hinder collaboration, further development and reuse of the software. A number of licence types exist for software but be aware not all may be applicable in Australia. To facilitate reuse and research reproducibility apply the least restrictive licence possible.  

 

How the ARDC supports research software

The ARDC contributes to a number of community driven initiatives including national interest groups, meet-ups and communities of practice around research software. We also support a variety of international initiatives aimed at raising the profile of research software while promoting best practices for developing, publishing and curating research software.

  • RSE Community of Practice AU-NZ which aims to raise awareness of the role of research software engineers in the research process and build a community of practice.
  • Research Software Interest Group that brings together people working with research software that share an interest in software curation and citation.
  • TechTalks are monthly community gatherings to showcase and discuss the technical side of Australia's research infrastructure.