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 from the Society of Research Software Engineering 2018 conference, 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:

Characteristics of the software itself

  • Documented
  • Testable
  • Readable
  • Modular
  • Standardised
  • Useful
  • Scalable

Characteristics of the environment where software is developed and used

  • 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, and 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).

Repositories for software

Numerous repositories for software exist including widely used platforms such as GitHub, GitLab, and BitBucket. These can be used to expose software from  development to deployment and in some cases (e.g. GitHub-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).

Software papers and reproducible articles

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.

Considerations when publishing or reusing research software

A software licence protects both software creators and reusers. Due to the way copyright law works in most of the world, freely available software without an explicitly declared licence is copyright by the author, all rights reserved. This can hinder collaboration, further development and reuse of the software. A number of licence types exist for software, when choosing a license you need to be aware of their requirements and implications. To facilitate reuse and research reproducibility apply the least restrictive licence possible. More information on the ARDC Software Citation page.

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.

International initiatives

  • The FAIR For Research Software Working Group (FAIR4RS WG) jointly convened by the Research Data Alliance, FORCE11 and Research Software Alliance. FAIR4RS WG will enable coordination of a range of existing community-led discussions on how to define. and effectively apply FAIR principles to research software, to achieve adoption of these principles. The ARDC has members in the Working Group.
  • Working Towards Sustainable Software for Science: Practice and Experiences (WSSSPE) is “an international community-driven organisation that promotes sustainable research software by addressing challenges related to the full lifecycle of research software through shared learning and community action.” The ARDC contributes to WSSSPE workshops.
  • Software Preservation Network was established to advance software preservation through collective action. SPN connects and engages the diverse communities of information and communication technology, cultural heritage preservation, law, public policy, social science, natural science, arts, and humanities organizations that create, use and curate software.
  • The Carpentries is a community driven organisation that teaches foundational coding and data science skills to researchers worldwide. The ARDC contributes to lesson development and sits on Advisory Boards.

National initiatives

  • 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.
  • TechTalks are bi-monthly community gatherings to showcase and discuss the technical side of Australia's research infrastructure.

Related topics

Metadata

View Now
View Now

Software citation

View Now
View Now