This workshop was part of the U.K. e-Science All Hands Meeting in Cardiff, Wales, held from 13-16 September 2010. It was sponsored by the U.K. Software Sustainability Institute, and gathered together experts and interested parties to discuss strategies and best practices in this important and emerging area. I have made two posts on this topic on this blog: A Case Study in Software Modernization and One Model for Software Sustainability.
Matt Shreve (who spoke without slides – I was impressed!) reminded us of the importance of understanding why we should preserve software. He cited an instance of aircraft design software that, in the event of an accident, could be brought forward as evidence in court. He pointed out that if we don’t keep software modern, then there is a need to preserve the platforms on which they run, or at least platform emulators (which are software of course and themselves may need to be sustained).
Jens Jensen described the particular particular problems that happen with software that only a couple of people understand. He discussed the options available when you are faced with this dilemma. The paths taken have as much to do with resources and funding as with technical needs:
- Upgrade only certain components
- Replace the unmaintainable parts
- Refactor the code
- Redesign and rewrite the code
There were some interesting talks on sustaining software on cloud computing platforms. John Brooke explained the importance of making sure that middleware called by applications is stable and mature: users will lose interest very quickly. Mark Plumbley gave a fascinating talk on the importance of sustainability in audio and music research. Methods of processing musical signals have become so complex that sharing software is essential for efficient research. Mark leads a project aimed at making this software sustainable, based at the Centre for Digital Music (C4DM) at Queen Mary University of London. Visit the project’s web page at http://www.soundsoftware.ac.uk
Finally, I gave a presentation on Ten Years of Software Sustainability at IPAC. I emphasized the need to design software for sustainability, and the need to build up a user community through engagement. This is a difficult job as much of it is outside the developers control.
Altogether, this was a fascinating and successful workshop. I learned much about the problem of sustainability in other fields, and what practitioners were trying to do about it. I hope that as a community (and I mean the worldwide community) build on the issues and practices brought to light in the workshop and develop and implement models for building sustainable software.