What do you mean by software sustainability? What kinds of things would COLABS support?
The working definition we’ve been given by DOE/ASCR is that software sustainability focuses on user-facing aspects of a software package, as opposed to “research-facing” aspects. So activities that improve the package for users would be considered sustainability-related. Some examples might include:
- Implementing automatic testing and/or improving test suites
- Establishing an issue-tracking system
- Triaging and perhaps fixing user-reported issues
- Refactoring to improve implementation quality, reliability, etc.
- Performance tuning
- Supporting new hardware platforms
This sounds a bit like a user facility
Yes, in our development of the ideas, we’ve sometimes described it as a user facility for which the users are scientific software projects
How would COLABS relate to the SciDAC Institutes
There are both similarities and differences. The SciDAC institutes provide technology transfer and research support services in computer science, applied math, data science, ML/AI, etc.. COLABS could similarly provide technology transfer and support services for software development and stewardship. The financial model, however, is somewhat different. SciDAC Institutes receive a base level of funding from ASCR, but the actual interactions with the application partnerships are primarily supported by those partnership projects putting Institute members on their proposals to carry out specific R&D tasks. This is also probably how most application partnerships would engage with institutional RSE groups (i.e., paying for RSE services). This model certainly could also work for an SSO like COLABS, but it is not quite what we currently envision, based on discussions with DOE so far. We expect that sponsors (e.g., the DOE offices that support the SciDAC program) would provide funding to COLABS to provide software stewardship services to the constituency (e.g., SciDAC application partnerships) instead of the projects paying for it out of their funds.
I’m an RSE and COLABS sounds interesting. But how would that work for me?
If your RSE organization charges projects for your services, then COLABS would probably be just another project that you could work on. Though in this case, more of a meta-project because being a member of COLABS would give you access to many projects, as well as training, education, research, and other opportunities.
I do a lot on my projects for software sustainability and stewardship. But I’m not an RSE and I don’t want to change my job title
That’s fine. We use the term RSE for the same reasons it was coined in the first place – to give a common name to a role that people with many different job titles participate in, to varying degrees, in their work with scientific software. We do intend to advocate for people in RSE roles, to help ensure that they receive appropriate recognition for their software-focused contributions as part of elevating scientific software and the people who produce and sustain it. But we’re not going to force anyone to change their job title or join an RSE group if they don’t want to.
As a project leader, I already have people doing the kinds of sustainability work that you talk about (i.e., serving in the RSE role). I want to keep working with them.
No problem. We expect to be able to “adopt” members of your team so that the funding for the appropriate portion of their effort would come from COLABS rather than your project. But we also believe that engaging with COLABS will provide wider opportunities for both your project and for the people serving in the RSE role. As a project leader, you may find that some of the support you need can be provided at a lower cost by other COLABS staff. And you’ll have access to a pool of subject matter experts who can help with specialized matters – the kind of expertise you might otherwise forego because it is too hard to access cost-effectively. And your RSEs who engage with COLABS will have access to professional development opportunities that will make them more valuable to your project too.
How will people doing RSE work be distributed among the labs?
We envision COLABS as a distributed entity with a presence in all participating labs. Personnel will be assigned to projects based on several considerations such as project needs, history of association with specific projects, directions from the funders, and finally, geographical co-location.