URSSI Blog

Open Sourcing Your Software is Not a Sustainability Strategy – Until it Is!

David E. Bernholdt • October 2, 2019

When asked how they plan to sustain their software, many (naïve) software developers will say that they plan to make it open source. And that’s often their whole plan. There is an assumption that the mere act of exposing the software to the public will create a community who are able and willing to contribute to the support, maintenance, and perhaps the enhancement of the software product.

Those who have more experience observing how open source software works will realize that it is very rare for a project to reap significant benefits from the broader community. The first problem is the signal-to-noise ratio. There are a lot of open source codes out there; more every day. It is much rarer for codes to be retired, withdrawn, or for the maintainers to openly state that they should no longer be used. So how is an particular code to stand out, to be noticed, and attract contributors? Basically, it takes work. It is not sufficient for a piece of computational science and engineering (CSE) software to be used in high-quality papers by the developers - though that certainly helps gain recognition. The code needs to be of high enough quality, capability and generality to both have value to others, and be trustworthy. This is often work above and beyond what is needed by an individual developer or development team. Do the developers recognize this need? Do they do the extra work? Sometimes they do, but often they do not.

Research Software Science: A Scientific Approach to Understanding and Improving How We Develop and Use Software for Research

Michael A. Heroux • September 25, 2019

Development and use of software are fundamental to numerous areas of scientific research. Many scientists write, modify, and use software to gain insight and prove scientific results. At the same time, formal software engineering techniques and knowledge that are widely adopted in other software development domains are not as commonly used in research software projects. In my experience, research software development approaches are more informal, particularly in the upstream activities of requirements, analysis, and design.

Data-driven Software Sustainability

Daniel S. Katz • September 18, 2019

This blog post suggests an expression that can be used to loosely quantify software sustainability, and then proposes that projects that seek sustainability use this formula when making decisions.

It’s heavily based on a a white paper for the 2019 Collegeville Workshop on Sustainable Scientific Software (CW3S19), which in turn is based on a previous blog post, and it is crossposted on the BSSw and URSSI blogs, as well as my own blog.

Defining sustainability

While it’s difficult to define or measure software sustainability as a future property of software, we can define it in hindsight as “the software has continued to exist, been supported, and been used over some period of time.” When this is the case, we can say that sufficient work was done to make this happen, which we can simplistically view as:

Making Open Source Research Software Visible: A Path to Better Sustainability?

Neil Chue Hong • September 12, 2019

Why do open source research software projects appear to have a low rate of success? Is it because we lack appropriate models for sustaining research software development or is it because the community isn’t seeing the results?

In “traditional” open source software projects, development is often sustained by creating a community of contributors from different organisations that collectively provide effort towards the ongoing maintenance and feature development of the software. For open source research software, although there are examples of the same model being used, it appears to have a smaller chance of success. In this blog post, I’ll examine my hypothesis that this is due to the differing competing drivers for contributing to software, particularly in academic settings, and also suggest some models that might improve the contributions.

Get involved with URSSI

Check out our upcoming community calls, events, and updates.