Skip to main content

Improving Research Through Software Sustainability

A close-up photo of Daniel Katz.

The National Institutes of Health (NIH) recently reached out to Daniel S. Katz, NCSA chief scientist, to talk about software sustainability and researcher engagement. Katz has a long history advocating for both, working to incorporate that focus into the Center’s guiding principles.

In their paper, Research Software Sustainability: Lessons Learned at NCSA, published in the Proceedings of the 54th Hawaii International Conference on System Sciences, Katz and NCSA software directorate leads Kenton McHenry and Jong Lee defined software sustainability as “the process of developing and maintaining software that continues to meet its purpose over time, which includes that the software adds new capabilities as needed by its users, responds to bugs and other problems that are discovered, and is ported to work with new versions of the underlying layers, including software as well as new hardware,” synthesizing several other community definitions.

In essence, the idea is to design software that can continue to be used for years to come, rather than becoming obsolete and unsupported, and then do that work of maintaining it. A great deal of human effort and computational tools and resources are needed to design software. As time goes by, new features are often added to the software, making it more complex. Sometimes new programmers come in, needing to learn how the old code was written to work on new aspects of the software. Software sustainability makes these investments last longer and become more valuable over time. But software sustainability doesn’t just affect the longevity of the application created. Keeping software relevant and useful also enables more and better research.

Good research software can make the difference between valid, sustainable, reproducible research outputs and short-lived, potentially unreliable or erroneous outputs.

Research Software Sustainability: Lessons Learned at NCSA, Katz et al.

Familiarity with the tools used to perform research makes research more accessible to scientists. If the fundamental ways a researcher interacts with a piece of software remain the same, you cut down on the amount of time learning how to use these tools, thus increasing the time spent doing the research and analyzing the data. Software sustainability isn’t simply an efficient way to program; it actively encourages research by making the research process smoother and cost-effective.

In the interview with NIH, Katz spoke about several organizations that have helped achieve better research engagement through software sustainability. ReSA, which Katz co-founded, is one such organization. Their mission is “to bring research software communities together to collaborate on the advancement of the research software ecosystem.” Katz mentions one of the ways organizations like ReSA can help with research engagement and software sustainability is to encourage better recognition of the software developers who are doing the hard work of creating and updating these tools for researchers through software citation. Many of these developers are Research Software Engineers (RSEs), a relatively new career path for professional staff, including over 70 at NCSA, perhaps the largest number at any U.S. university.

The results of better software citation work in two critical ways. Giving the developers this recognition, through meaningful software citations in publications that utilized their work, for example, motivates developers to continue to support their software. The more sustainable the software, the longer it’s used. The longer it’s used, the more it’s cited, incentivizing developers and making the software valuable enough to continue innovating and supporting it. But just like articles on essential breakthroughs in science and technology, the more a piece of software is cited, the more likely it is to be discovered by others doing similar work. This spreads the word about a helpful piece of software, creating even more value in keeping it sustainable, making software citation an elegant solution to creating better software sustainability and more research engagement.

Staff at NCSA have been evaluated in part based on their software for all of our 35 years, and software citation is a means to measure the impact of this work, at NCSA and elsewhere. We’ve also been increasing research software’s recognition through peer-reviewing and publishing it in journals like the Journal of Open Source Software over the last 7 years, and are now working to expand this recognition to peer-review and publish computational notebooks, starting with the 2021 EarthCube annual meeting.

Daniel S. Katz, NCSA chief scientist

ReSa works with other organizations, such as the U.S. Research Software Sustainability Institute (URSSI) and the U.S. Research Software Engineer Association (US-RSE) in the U.S., to encourage research engagement through the sustainable development of software. NCSA and other institutions work with these organizations to collaboratively find ways to encourage software sustainability with the idea that sustainability organically leads both to better software and more research engagement.

You can read NIH’s full interview with Katz here.

Back to top