preserving software workshop - community engagement workshop

36
www.curtiscartwright.co.uk Software preservation Matt Shreeve 7 July 2010 Developer community engagement workshop

Upload: software-sustainability-institute

Post on 15-May-2015

552 views

Category:

Technology


1 download

DESCRIPTION

A presentation by Matt Shreeve from curtis+cartwright Consulting Ltd.. Presented at the Preserving Software workshop, Brettenham House, London, 7 July 2010

TRANSCRIPT

Page 1: Preserving software workshop - Community engagement workshop

www.curtiscartwright.co.uk

Software preservation

Matt Shreeve

7 July 2010

Developer community engagement workshop

Page 2: Preserving software workshop - 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?

Page 3: Preserving software workshop - Community engagement workshop

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

Page 4: Preserving software workshop - Community engagement workshop

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

Page 5: Preserving software workshop - Community engagement workshop

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

Page 6: Preserving software workshop - Community engagement workshop

www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 6

Your contribution

• Is vital

• Groups

• Facilitated discussion

• Chatham House rules

Image courtesy of Gaetan Lee

Page 7: Preserving software workshop - Community engagement workshop

www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 7

‘Classic’ preservation

Image courtesy of RGB Kew – not for reuse

Page 8: Preserving software workshop - Community engagement workshop

www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 8

‘Active’ Preservation = Cultivation

Page 9: Preserving software workshop - Community engagement workshop

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

Page 10: Preserving software workshop - Community engagement workshop

www.curtiscartwright.co.uk

Software development for long-term use and reuse11:15 to 11:45am

Page 11: Preserving software workshop - Community engagement workshop

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

Page 12: Preserving software workshop - Community engagement workshop

www.curtiscartwright.co.uk

Different approaches to software preservation11:45am to 1:00pm

Page 13: Preserving software workshop - Community engagement workshop

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)

Page 14: Preserving software workshop - Community engagement workshop

www.curtiscartwright.co.uk

Arguing the case1:45 to 3:15pm

Page 15: Preserving software workshop - Community engagement workshop

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

Page 16: Preserving software workshop - Community engagement workshop

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

Page 17: Preserving software workshop - Community engagement workshop

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

Page 18: Preserving software workshop - Community engagement workshop

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

Page 19: Preserving software workshop - Community engagement workshop

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

Page 20: Preserving software workshop - Community engagement workshop

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

Page 21: Preserving software workshop - Community engagement workshop

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”

Page 22: Preserving software workshop - Community engagement workshop

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

Page 23: Preserving software workshop - Community engagement workshop

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

Page 24: Preserving software workshop - Community engagement workshop

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

Page 25: Preserving software workshop - Community engagement workshop

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!

Page 26: Preserving software workshop - Community engagement workshop

www.curtiscartwright.co.uk CC443P001 – 1.1 / Slide 26

Encourage software reuse

• Scenarios

• Continuing operational use in institution

• Increasing uptake elsewhere

• Promoting good software

Page 27: Preserving software workshop - Community engagement workshop

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

Page 28: Preserving software workshop - Community engagement workshop

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

Page 29: Preserving software workshop - Community engagement workshop

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

Page 30: Preserving software workshop - Community engagement workshop

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

Page 31: Preserving software workshop - Community engagement workshop

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

Page 32: Preserving software workshop - Community engagement workshop

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?

Page 33: Preserving software workshop - Community engagement workshop

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

Page 34: Preserving software workshop - Community engagement workshop

www.curtiscartwright.co.uk

3:00 to 3:45pm

Delivering software preservation guidance

Page 35: Preserving software workshop - Community engagement workshop

www.curtiscartwright.co.uk

Summing up3:45 to 4:00pm

Page 36: Preserving software workshop - Community engagement workshop

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!