Thanks to the systematic activities of libraries, museums and national archives, much of our digital heritage is well preserved. Many copies of legacy software, from early video games to high-end professional software suites, have been collected as artefacts of the digital age.
But storing a pile of floppy disks or games cartridges is one thing: having access to the software and being able to use it is quite another. If you happen to have an ancient Gameboy or old hardware with the correct operating system installed you may be able to run the software, but what happens when the old equipment breaks and cannot be repaired?
Fortunately, there is a much better way to access historical software: emulation. An emulator is a software application that runs on modern computers - or even over the web - to simulate the hardware and system components of outdated computers. An emulator is a virtual machine; a Commodore 64 emulator will let you run Commodore 64 games, a Gameboy emulator will bring Super Mario back to life.
The EU-funded 'Keeping emulation environments portable' ( KEEP) project, which ended in February 2012, has worked to make sure that emulation is given a big boost in Europe. Moreover, the project has made sure that emulation platforms do not go the same way as the software they are trying to keep alive.
An emulator, being software, could also become obsolete. So if you want to preserve all software forever, then you have to build your emulators to be 'future-proof' - they must be able to run on tomorrow's machines.
'The idea of KEEP was to give us all the tools we need so we are never locked out of old software,' explains Elisabeth Freyre of the National Library of France and coordinator of the project. 'We realised that you cannot rely on obsolete hardware to run the software - the hardware is a historical artefact itself. So we have to rely on emulators to render both static and dynamic digital objects of the past: text, sound, and image files, multimedia documents, websites, databases, videogames and so on.'
KEEP has developed a set of tools that will help archivists extract data from different types of 'carriers' (the way software is 'packaged') and converting the data into a useable, common coding format. This is an important step in 'extracting' the software from its physical storage device (e.g. floppy disk, games cartridge, etc.) and storing the binary content in a way that makes it 'platform-independent', i.e. able to be exploited on any computer running any operating system.
The KEEP Media Transfer Tool Framework (MTTF) offers a convenient way to create an 'image' of a software carrier and store it on current digital media so it can be used by emulation services.
The project has made sure that this framework also follows the guidelines of the Open Planets Foundation for interoperability in digital preservation. 'The development of this framework for archiving legacy digital materials marks a great step forward in the preservation of our digital culture,' Mrs Freyre remarks. 'We have made good technical progress, but we also understand the social context of what we are doing, so we have also produced a layman's guide to address the legal issues involved in copying and preserving software.'
A special component of the KEEP emulation framework is the 'Trustworthy online technical-environment metadata registry' (TOTEM). Technical-environment metadata describes details of the computer hardware, operating systems, plug-ins, software libraries etc. which a digital object requires for use - and hence which technical environment the emulator needs. The applications of TOTEM are many and far-reaching: memory institutions and commercial enterprises alike will be able to use this tool to look up a plethora of technical environments for all kinds of digital objects including digital art or 3D visualisations and simulations.
The KEEP project has compiled a database of most emulators currently available to researchers. So once you have converted a legacy software carrier into an image file (using the KEEP MTTF), the KEEP Emulation Framework can then analyse this file, identify the platform(s) on which it was meant to run and provide details about the emulators through which this digital object may be accessed today.
The agreement of a core Emulation Framework by the project has been one of its key successes. This framework is not an emulator itself, but a software tool that can identify the content of a file or carrier image and then launch the most appropriate existing emulator. As they designed this tool, the partners were also able to investigate wider legal issues and develop guidelines, recommendations and instructions on how emulators should be designed and developed to ensure that they, unlike most software, do not become obsolete.
'There is no point archiving everything, with an expectation that an emulator will be available to access the archived material, if the emulator also ages and becomes obsolete. We realised that emulators need to be designed in an abstract way so they are outside the realm of operating systems, software coding and hardware constraints that might make them unusable in the future. An emulator must be future-proof,' Mrs Freyre asserts. 'We must be certain that we will be able to use an emulator on a future computer that no-one has even thought to design yet.'
This 'future-proof' platform is the KEEP Virtual Machine, a solution that can run emulation software but also be adapted easily to future unknown computer architecture specifications.
By the end of the project, the partners demonstrated that they could recompile the source code of an existing Commodore 64 emulator and make it run natively within the KEEP Virtual Machine, proving the value and possibility of future-proofing the emulation approach.
This long-term perspective will ensure that our digital heritage is accessible for generations to come. 'There is no telling how important it is to preserve all our digital assets for posterity,' says Mrs Freyre. 'But without functional emulation in the future, the digital assets we save will be nothing more than the physical objects, the disks and tapes on which the software is stored. We have now provided future generations with a key for them to unlock the code and see what we see today - the pictures, games and applications that are so important to society today.'
The KEEP project received EUR 3.1 million (of total EUR 4.0 million project budget) in research funding under the EU's Seventh Framework Programme (FP7), 'Information and communication technologies' (ICT) theme.
Link to project on CORDIS:
- FP7 on CORDIS
- KEEP project factsheet on CORDIS
Link to project's website:
- The Open Planets Foundation
- 'Keeping emulation environments portable' project website
- European Commission's Digital Agenda website
Information Source: Elisabeth Freyre, BNF, Paris, France