Preserving Inria’s legacy software
In 2002, Grady Booch, renowned computer scientist and software engineer associated with IBM, circulated an email titled “Preserving classic software products” in which he called for identifying software that should be a priority for preservation efforts and locating the source code.
Following in these footsteps, Inria, Software Heritage, and the Inria Alumni Network joined forces to help identify the software heritage of Inria, the French National Institute for Research in Digital Science and Technology. A survey was sent to thousands of past and present Inria employees, inviting them to contribute to identifying Inria legacy software products and possible source code archives. (More from a 2023 blog post.)
The survey asked participants to identify “historical software pieces from Inria that would justify preservation efforts.” By software, we mean any computer code intended to be executed on a computer.
For each registered software we asked the respondents to identify its scientific or technological importance, as well as its historical significance. We also asked what archives were available, including source code archives.
Our survey received over a hundred entries. Unsurprisingly, the survey found that older software pieces are less likely to be identified, with only a small subset of early Inria software production reported in the survey. The availability of associated source code also varies, with older software being more likely to have partially or completely lost source code or to be stored on obsolescent media. Source code from recent software is more likely available on modern collaborative platforms like Github or Gitlab, ensuring safe archiving via the Software Heritage universal archive.
Gathering volunteers
The Inria Alumni survey helped identify a small group of volunteers willing to contribute to preserving Inria’s software heritage. The goal for Software Heritage was to test the scalability of the existing tools and processes designed to archive legacy code in the Software Heritage archive properly. These processes, outlined in the SWHAP guide published in 2019 by Software Heritage and the University of Pisa with the support of UNESCO, are quite technical and have, until now, only been implemented by members of the Software Heritage team or closely related.
A custom preservation process and guidance material were designed to engage Inria volunteers. A two-part video tutorial was created to provide step-by-step guidance on the technical aspects of the preservation process. This visual aid helps users understand and implement the process effectively.
SWHAP Workshop
As the culminating event of our Inria preservation campaign, we organized a hands-on workshop on October 16, bringing together volunteers for a day of collaboration, reflection, and celebration. A group of about 10 participants gathered, half of them former Inria researchers having contributed to legacy source code worth preserving, the other half being current Inria employees interested in helping the preservation effort – among which Inria médiathèque, Inria HAL, and Inria l’Expo.
The workshop was designed with three primary objectives in mind.
First, to serve as a platform to gather feedback from the volunteers regarding the tools, processes, and any challenges they may have encountered throughout their participation in the preservation initiative. This feedback will be instrumental in refining and improving our approach moving forward, ensuring that we continue to meet the needs and expectations of our volunteers.
Second, the workshop provided an opportunity to leverage the collected materials and stories gathered throughout the preservation process to create Software Stories.
Finally, the workshop helped foster community among the volunteers, acknowledging and expressing gratitude for their contributions to the preservation effort.
During the workshop, five different Inria software programs were specifically used as working materials:
- O2 System, an object-oriented database management system developed in the 1990s
- Jigsaw, a web server developed for the World Wide Web Consortium
- Chaînage de contour, a code for detecting the contour of an image, developed in the late 1980s
- Formel, a research team at Inria, was involved in the creation of several notable software projects, such as Coq and OCaml
- Scilab, a software for scientific calculation
Learnings and next steps
After gaining a better understanding of the strengths and limitations of our current processes and tools in terms of scalability, we aim to strengthen and expand our user community by better supporting them in completing the SWHAP and Software Stories processes.
In particular, we aim to define better the different use cases involving SWHAP and Software Stories and build clearly defined user journeys. For example, the way a history researcher interacts with these tools might differ from how the owner of a legacy source code or a museum archivist uses them. While the underlying tools might remain the same, the processes and interactions around them could vary. We aim to offer a clearly defined and tailored journey for each type of user and to give them easy entry points into our different services.