preserving software workshop - community engagement workshop
DESCRIPTION
A presentation by Matt Shreeve from curtis+cartwright Consulting Ltd.. Presented at the Preserving Software workshop, Brettenham House, London, 7 July 2010TRANSCRIPT
www.curtiscartwright.co.uk
Software preservation
Matt Shreeve
7 July 2010
Developer community engagement workshop
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 2
Have you ever…
• Seen your development efforts gone to waste?
• Thought that the software’s life could be extended elsewhere?
• Needed to use or maintain legacy software?
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 3
Our project
• JISC-funded
• Awareness raising
• Clarify the purpose and benefits
• 5 month project that ends October 2010
• Produce guidance that focuses on action
• Targets software developers
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 4
Curtis+Cartwright Consulting
• Small technology consultancy
• Works on the interfaces of technology, organisations and users
• Primarily in higher education
• Partnered with the Software Sustainability Institute for this project
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 5www.software.ac.uk
SoftwareSustainabilityInstitute
What is the SSI?
• A national facility for researchsoftware users and developers(from PC to HPC) from all disciplines
• Ensuring researchers can continue to use their chosen software by providing:• Effort• Support• Guidance
• Providing specialist skills to drive the continued improvement and impact of research software
• Working with research groups within the UK to improve key research software and engage with the international community
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 6
Your contribution
• Is vital
• Groups
• Facilitated discussion
• Chatham House rules
Image courtesy of Gaetan Lee
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 7
‘Classic’ preservation
Image courtesy of RGB Kew – not for reuse
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 8
‘Active’ Preservation = Cultivation
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 9
Agenda
11:15am – Activity on software development for long-term use and reuse
11:45am – Activity on different approaches to software preservation
1:00pm – Lunch
1:45pm – Activity on arguing the case for software preservation
3:00pm – Activity on delivering software preservation
3:45pm – Final summary and thank you
4:00pm – End of workshop
www.curtiscartwright.co.uk
Software development for long-term use and reuse11:15 to 11:45am
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 11
The obvious answer is…
• Clear licensing
• Clear documentation
• Common language
• Modular design
• Clear revision management
• Open and common standards
• Clear separation between data and code
• Records of significant properties
• Technical and other dependencies
www.curtiscartwright.co.uk
Different approaches to software preservation11:45am to 1:00pm
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 13
Different approaches
• Technical preservation (techno-centric)
• Emulation (data-centric)
• Migration (functionality-centric)
• Transition (process-centric)
• Hibernation (knowledge-centric)
• Procrastination (do nothing)
www.curtiscartwright.co.uk
Arguing the case1:45 to 3:15pm
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 15
Five purposes of software preservation
• Achieve legal compliance
• Create heritage value
• Enable continued access to data
• Encourage software reuse
• Manage systems and services
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 16
Achieve legal compliance
• Example: pharmaceuticals research
• Drugs are subject to rigorous inspection by national regulatory bodies
• Regulatory inspection during the compound's lifetime
• Compound lifetime generally assumed to be 40 years or longer
• Built a Central Electronic Archive
• Plan to migrate source software versions
• Plan to purchase emulators
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 17
Achieve legal compliance
• Scenarios
• Maintaining records or audit trail
• Demonstrating integrity of data and systems
• Meeting specific contractual requirements
• Meeting specific regulatory requirements
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 18
Create heritage value
• Example: Salman Rushdie personal archive at Emory University
• Donated his old computers
• Obsolete word processor applications
• Open Source PowerMac Emulator called SheepShaver
Image courtesy of Ian Muttoo
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 19
Create heritage value
• Supporting museums and archives
• Preserving software of intrinsic value
• Ensuring a complete record of research outputs
Image courtesy of Ian Muttoo
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 20
Create heritage value
• When might this be the case (inspired by http://bit.ly/aO0FOX)
• Could reasonably be considered an important example of its type
• Introduced a new paradigm, product family or launched a new industry
• Developed using a new and significant software development
methodology
• Significant copies sold or large install base
• Serves to demonstrate a significant failure
• Underlying code has qualities of merit worth preserving
• Was utilised in something of historical importance
• Sufficiently antiquated
Image courtesy of Ian Muttoo
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 21
Enable continued access to data
• Example: CERN data from Large Electron Positron Collider
• Only 10 years ago
• PARSE.Insight
– “Each set of data is unique: once lost means lost forever”
– “The most important reasons for preservation are the ones we do not
see now”
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 22
Enable continued access to data
• Scenarios
• Reanalysing data in light of new theories
• Reproducing and verifying research results
• Reusing data in combination with future data
• Identifying new use cases from new questions
• ‘Squeezing’ additional value from data
• Verifying data integrity
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 23
Enable continued access to data
• Benefits
• New insight and knowledge
• Reduced research fraud
• Increased assurance in results
• Improved research outcomes
• Greater return on investment
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 24
Enable continued access to data
• When essential
• When data and software can’t be decoupled
• When there may be a future requirement to verify results
• When desirable
• When considerable investment has put into software
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 25
Encourage software reuse
• Example: OpenGL graphics library
• Computer Assisted Surgery project using augmented reality
• Straight out from university
• Prototype in two days!
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 26
Encourage software reuse
• Scenarios
• Continuing operational use in institution
• Increasing uptake elsewhere
• Promoting good software
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 27
Encourage software reuse
• Benefits
• Increased dependability
• Reduced development risk
• Focused use of specialists
• Standards compliance
• Accelerated development
• Reduced duplication
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 28
Manage systems and services
• Example: talks.cam at Cambridge
• Talks.cam allows anyone to share the details of a talk
• Started by academics
– Written in php
• JISC-funded project to ‘institutionalise’
– Increase robustness
– Integrate with other tools
– Ruby on Rails version upgrade
• Also reuse
– talks@bham, [email protected], etc
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 29
Manage systems and services
• Scenarios
• Maintaining legacy systems
• Ensuring business continuity
• Avoiding hardware and software obsolescence
• Supporting forensics analysis
• Benefits
• Maintains current operations
• Improved operations via corrective maintenance
• Improved disaster recovery response
• Increased organisational resilience
• Increased reliability
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 30
Personal benefits
• You can develop your skill at making longer-lived software
• Originators of software like to see, and get kudos from, continued use
• Your creativity and problem solving skills may get greater recognition
• The resulting software will be used more, relied on more and
recognised more
• Personal satisfaction from full lifecycle engineering
• Nostalgia value in revisiting old software
• Saves time and effort for more interesting problems
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 31
Five purposes of software preservation
• Achieve legal compliance
• E.g. pharmaceutical research
• Create heritage value
• E.g. Salman Rusdie personal archive
• Enable continued access to data
• E.g. CERN’s LEP data
• Encourage software reuse
• E.g. OpenGL
• Manage systems and services
• E.g. talks.cam
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 32
Group exercise
• Is the purpose clear?
• What other scenarios / use cases are there?
• What are the expected benefits
• For you?
• For your organisation?
• For society?
• How likely / tangible / valuable are these benefits?
• In your experience what problems might you be likely to encounter?
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 33
Arguments against
• Can’t afford keep working on it
• Documentation is never a priority… and is tedious anyway
• You won’t see the benefit
• Too difficult to build a developer and/or user community
• It’ll be alright for a few months, and then we’ll look at it again
• I don’t know how to get started
• Not invented here syndrome
www.curtiscartwright.co.uk
3:00 to 3:45pm
Delivering software preservation guidance
www.curtiscartwright.co.uk
Summing up3:45 to 4:00pm
www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 36
Closing words
• Summary of day
• Tracy
• Next steps for us
• How you could get involved
• Blog: <http://softwarepreservation.jiscinvolve.org>
• SSI mailing list: <http://www.software.ac.uk/Contact.html>
• Feedback forms
• Thank you!