Abstract
This chapter discusses the nature of software maintenance in light of software’s ontological status. A realist view of software need not commit us to the otiose position that software maintenance is impossible. Many philosophers and computer scientists have been concerned with drawing attention to software’s dual nature, its being both symbolic and physical, abstract and concrete. There are strong connections to be found between this topic and recent investigations in the philosophy of linguistics, particularly the metaphysics of words. It is shown, contra Irmak, that software can be best understood through a realist type-token distinction employing an ontology of composite objects that was put forward by Katz. This approach employs both non-spatiotemporal abstract types and tokens of those types. Further developing Katz’s realist approach can help to make better sense of the dual nature of computational artefacts and their maintenance than the alternatives outlined. Young claims that a prevalent imbalanced view of maintenance as solely conservative is due to a misunderstanding of the nature of artefacts as being realisations of their producers’ intentions. This is a problem for theories of artefacts that employ intentions, such as the one involved with the realist view of software and software maintenance. Software maintenance on this view is not solely conservative but also adaptive and enhancive, constituting a source of counterexamples to Young’s claim. An alternative explanation of the imbalanced view is provided, based on observations by software engineers, especially Sommerville.