Preserving software workshop - Community engagement workshop


Published on

A presentation by Matt Shreeve from curtis+cartwright Consulting Ltd..

Presented at the Preserving Software workshop, Brettenham House, London, 7 July 2010

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Classic preservation :  ‘putting in aspic’ where the software lies dormant once or more, and the benefit of preservation comes in the future
  • Living or active preservation : ‘cultivation’ where software continues to be developed, and the benefit of preservation comes mainly now
  • Liberating data
  • needs include long-term, secure, managed storage of identified, business-critical records new drug products may take 10 years or longer to develop Products are subject to rigorous inspection by national regulatory bodies – safety and effectiveness of drug Records and data that support a marketed drug's development must be available for regulatory inspection during the compound's lifetime, Compound lifetime generally assumed to be 40 years or longer long-term preservation plans include migration of source software versions, migrating records to appropriate data standards, and purchasing "virtual" computers to run obsolete software via emulation protocols.
  • Liberating data
  • Preserving software workshop - Community engagement workshop

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