How to foster sustainable software for science
Exploring sustainable software for science
The first workshop on "Sustainable Software for Science: Practice and Experience," was held at the Supercomputing Conference in Denver, CO on November 17, 2013. This meeting was organized by the Software Sustainability Institute at the University of Edinburgh and the National Science Foundation to examine how we can create sustainable software platforms that can best serve the needs of scientific research.
Prior to the workshop those who planned to attend were asked to contribute articles, distributed under an open license, to be submitted to a service that issues a digital object identifier (DOI), such as arXiv or Figshare. We were given a strict limit of four pages and a deadline for submissions. At Kitware we put together an article on "Sustainable Software Ecosystems for Open Science." In it, we (briefly) outlined fifteen years of practice and experience at Kitware in developing open source software for science. The final and complete list of accepted submissions is available here. Each article was reviewed after publication, but before the workshop, and categorized according to the proposed panels at the workshop.
Meeting notes were taken as a collaborative effort throughout the workshop including links to the two keynotes. Philip E. Bourne talked about "A Recipe for Sustainable Software", and Arfon Smith, recently recruited by GitHub, spoke about "Scientific Software and the Open Collaborative Web." Both of the keynotes recognized the importance of software for science and the lack of recognition in the current academic climate. Once these keynotes concluded, the panel discussions began, with the contributed papers assigned to each beforehand.
It was great to see such a broad variety paper topics. I think that scientific research has come to increasingly rely on software in the last few decades with little to no recognition for the development of software tools. As noted by the keynotes, this needs to change, and funding has to be earmarked to develop important tools. The best way to foster reuse and extension is through the use of permissive open source licenses where shared software platforms can be developed collaboratively across organizational barriers. A paper was published summarizing all accepted submissions and more complete papers will hopefully be authored going forward.
Ideally, sustainable positions within academia need to be established, along with viable business models for software companies innovating in areas such as open source software services for scientific software.
It was especially appropriate to see this first meeting hosted by the Supercomputing Conference, where open source has played such a critical role, in large part due to licensing issues on supercomputers where per-core fees are charged, and availability of source code enabling researchers to rapidly adapt software for deployment on exoctic architectures. I look forward to further exploring how we can foster sustainable software for science, and adapt reward and funding mechanisms to encourage desirable outcomes. I think greater recognition of open source from both funding agencies and universities is critical here.