Many science advances have been possible thanks to use of software. This software, also known as “research software”, has become essential to progress in science and engineering. The scientists who develop the software are experts in their discipline, but do not have sufficient understanding of the practices that make software development easier, and the software more robust, reliable, maintainable and sustainable. This project will work with these scientists to understand how the research community can best work together to design and maintain better software with lower effort, so that they and others can continue to use it over long periods of time. This project will conduct several workshops and a survey in order to gather and understand the community’s needs and the software expertise of its members. These needs will be widely disseminated via newsletters and via a website. The primary deliverable of this project will be a design and strategic plan for a US Research Software Sustainability Institute (URSSI) which will serve as a community hub and provide services to scientists that will help them create improved, more sustainable software. This software in turn will accelerate the progress of science, thus serving NSF’s mission.

Modern research is inescapably digital, with data and publications most often created, analyzed, and stored electronically, using tools and methods expressed in software. This “research software” is essential to progress in science, engineering, and all other fields, but it is not developed in an efficient or sustainable way. The researchers who develop this software, while well-versed in their discipline, generally do not have sufficient training and understanding of best practices that ease development and maintainability and that encourage sustainability and reproducibility. In response, this project is conceptualizing a US Research Software Sustainability Institute that will validate and address at least three classes of concerns (functioning of the individual and team, the research software, and the research field itself), impacting all software development and maintenance projects across all of NSF. URSSI conceptualization includes workshops and a widely-distributed survey that engages important stakeholder communities to learn about the software they produce and use, and the ways they contemplate sustaining it, following the paths blazed by other successful software institutes. Communication is a key component of this project, with newsletters, a web site, survey outputs, and social media used to provide broad dissemination and engagement. The workshops, survey, and community management approach allow the conceptualization project to iteratively build on existing, extensive understanding of the challenges for sustainable software and its developers. The project also addresses how URSSI could formalize, diversify, and improve the pipeline under which students enter universities, learn about and contribute to software, then graduate to full-time positions where they make use of their software skills, to increase the diversity of those entering research software development and to retain diversity over their university careers. The conceptualization team has accumulated hundreds of person-years of combined experience by thinking, researching, and living scientific software; this will be combined with feedback from the broader community. It leverages existing collaborations to expand both the community and the project’s knowledge of its needs, to plan the best possible URSSI. The results will create an eager supportive community, a concrete institute plan configured to offer valued services, and a published survey and data that demonstrates community needs.


  • Karthik Ram, URSSI Lead
  • Kyle Niemeyer, Research Software School Lead
  • Nicolas Weber, EAGER PI
  • Daniel S. Katz, Policy Lead
  • Caroline Jay, Steering commmittee member

For more on the previously funded NSF project, please visit the Si2 conceptualization about page