Jun 13, 2013

Sustainable software

An interesting post from the LOC Digital Preservation blog about digitization of historical documents (Profiles in Science project) and choices that need to be made to make such a project working over time. Oddly enough, I used Profiles in Science quite a lot while working on my dissertation because I needed materials by and about Arthur Kornberg, a biochemist who was said to have created "life in a test tube."

To summarize, any system grows over time and some components get upgraded or replaced, while new ones are developed. As the technological landscape keeps changing, we want to keep up with it and make sure that digital collections are available and usable in ways that correspond to current views on access and use. In other words, you can't just "build it and leave it alone".

Forces that threaten stability and sustainability of software and data:

  • Software bugs
  • Loss of needed functions
  • Hardware or operating system incompatibility
  • New policy requirements
  • Security flaws
  • Product support / licencing cost
  • Loss of backward compatibility
  • Product abandonment

Factors that encourage sustainability of the system include:

  • ability to view and modify the code
  • wider use and testing
  • active development and support
  • standards awareness rather than focus on proprietary formats
  • non-restrictive licencing
  • ability to import and export data and code
  • compatibility with multiple platforms
  • backward compatibility
  • minimal customization

I'd probably add "community support for the project" to the list of factors that encourage sustainability. Once the funding and interest from initial researchers and developers are gone, the community of users can help maintain and upgrade the system. Product abandonment is a serious threat for many digital projects. Just yesterday I saw a site with good scholarly content that had a link to gopher resources...