SlideShare une entreprise Scribd logo
1  sur  15
Different Approaches to Software Preservation Neil Chue Hong Software Preservation Study Workshop
Decisions, decisions There are several approaches we have identified that could be classed as software preservation The choice depends on a number of factors, which change through time
Five purposes of software preservation Achieve legal compliance Create heritage value Enable continued access to data Encourage software reuse Manage systems and services
Approaches Preservation (techno-centric) Emulation (data-centric) Migration (functionality-centric) Transition (process-centric) Hibernation (knowledge-centric) Procrastination (i'll-get-round to it eventually-centric)
Preservation Aim to preserve original hardware and software in same state Purpose: Achieve legal compliance Create heritage value Enable continued access to data Advantages: Clearly defined Can often change to Hardware Emulation at later date Disadvantages: Costly, especially when hardware fails Does not guarantee future access if dependent on other hardware/software (e.g. networking) Can be vulnerable to malicious attack
Emulation Emulate original hardware / operating environment, keeping software in same state Purpose: Achieve legal compliance Create heritage value Enable continued access to data Manage systems and services Advantages: Easier to manage virtualised hardware If emulation layer continues to be developed, software can continue to be run indefinitely Disadvantages: Need all aspects of hardware to be emulated correctly, including flaws If emulation layer ceases to be developed, back to technical preservaton
Migration Aim to update software as required to maintain same functionality, porting/transferring before platform obsolescence  Purpose: Achieve legal compliance Enable continued access to data Encourage software reuse Manage systems and services Advantages: Allows further development of software Enables access on other platforms Disadvantages: Requires continued effort for development
Transition Aim to keep software “alive” by moving to more open development model bringing on board additional contributors and spreading knowledge of process Purpose: Enable continued access to data Encourage software reuse Manage systems and services Advantages: Increases chances of further development of software Potential for better migration to other platforms Disadvantages: Requires more coordination Possibility for loss of control of direction
Hibernation Aim to preserve the knowledge of how to resuscitate/recreate the exact functionality of the software at a later date Purpose: Enable continued access to data Encourage software reuse Advantages: Useful when you have a known break in effort Disadvantages: Can be difficult to check if hibernation processes are rigorous until after it is too late
Procrastination Aim to do nothing Purpose: What purpose? Advantages: Comes naturally Very cheap Disadvantages: Not a valid preservation technique! May require software archaeology skills in the future A valid approach if software has been superceded
How much effort? What is your likely effort profile? Something now, nothing in future Something now, something in future Nothing now, something in future Nothing now, nothing in future A difficult question to answer
How much access? Are you the owner of the code? Are you the developer of the code? Do you have access to the source code? Do you have access to the hardware the software is running on?
How exact do you need it? What are you needing to preserve? A few major pieces of functionality Most of the functionality, but tolerant of minor deviations All functionality, but fixing errors when found Must perform exactly as original Is integrity important? What are you preserving and why? Software, functionality, data, knowledge,…
Example: DMAREL Software no longer being developed or maintained but still has users Code not open source but source available under license Will be superseded but still need to reproduce results until all useful results sets are recreated using new software Approach: Technical preservation Move to emulation if continued use higher than expected hardware becomes unmaintainable Should the cost of moving to emulation be done at the start or down the line Maintaining hardware versus taking hit of virtualisation and maintaining virtual machines If not superseded, could consider migration if effort can be found
Exercise Consider a piece of software you are familiar with What approach would you take if: The effort to maintain it is coming to an end You have been told it is important to allow the integrity of data to be checked at a later date Someone else will take over development of the software but you will continue to use it The operating system you have developed it on is being end of lifed

Contenu connexe

En vedette (7)

Thorsten Piening - Regionales Online Marketing
Thorsten Piening - Regionales Online MarketingThorsten Piening - Regionales Online Marketing
Thorsten Piening - Regionales Online Marketing
 
Social Technology For Business
Social Technology For BusinessSocial Technology For Business
Social Technology For Business
 
Social Networks for Business
Social Networks for BusinessSocial Networks for Business
Social Networks for Business
 
Welcome to SoftSummit 2010
Welcome to SoftSummit 2010Welcome to SoftSummit 2010
Welcome to SoftSummit 2010
 
ビジネスプロセスと製品のマッピングワークショップ
 ビジネスプロセスと製品のマッピングワークショップ ビジネスプロセスと製品のマッピングワークショップ
ビジネスプロセスと製品のマッピングワークショップ
 
Knowledge for Success Online Marketing Summit
Knowledge for Success Online Marketing SummitKnowledge for Success Online Marketing Summit
Knowledge for Success Online Marketing Summit
 
Social Media for small business
Social Media for small businessSocial Media for small business
Social Media for small business
 

Similaire à Preserving software workshop - Sustainability approaches

Writting Better Software
Writting Better SoftwareWritting Better Software
Writting Better Software
svilen.ivanov
 
Information Systems Lifecycle
Information Systems LifecycleInformation Systems Lifecycle
Information Systems Lifecycle
MISY
 
Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8
koolkampus
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototyping
drjms
 
Understanding operating systems 5th ed ch12
Understanding operating systems 5th ed ch12Understanding operating systems 5th ed ch12
Understanding operating systems 5th ed ch12
BarrBoy
 
Information systems lifecycle
Information systems lifecycleInformation systems lifecycle
Information systems lifecycle
fiona_rozario
 
Information Systems Life Cycle
Information Systems Life CycleInformation Systems Life Cycle
Information Systems Life Cycle
4goggas
 

Similaire à Preserving software workshop - Sustainability approaches (20)

Allison Stanfield
Allison StanfieldAllison Stanfield
Allison Stanfield
 
Preserving software workshop - Community engagement workshop
Preserving software workshop - Community engagement workshopPreserving software workshop - Community engagement workshop
Preserving software workshop - Community engagement workshop
 
Sustainability Training Workshop - Managing Sustainability into Software
Sustainability Training Workshop - Managing Sustainability into SoftwareSustainability Training Workshop - Managing Sustainability into Software
Sustainability Training Workshop - Managing Sustainability into Software
 
A Beginners Guide To Legacy Systems
A Beginners Guide To Legacy SystemsA Beginners Guide To Legacy Systems
A Beginners Guide To Legacy Systems
 
Writting Better Software
Writting Better SoftwareWritting Better Software
Writting Better Software
 
Dev ops
Dev opsDev ops
Dev ops
 
Information Systems Lifecycle
Information Systems LifecycleInformation Systems Lifecycle
Information Systems Lifecycle
 
Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototyping
 
Information systems lifecycle
Information systems lifecycleInformation systems lifecycle
Information systems lifecycle
 
Understanding operating systems 5th ed ch12
Understanding operating systems 5th ed ch12Understanding operating systems 5th ed ch12
Understanding operating systems 5th ed ch12
 
SISTEMAS OPERATIVOS.pptx
SISTEMAS OPERATIVOS.pptxSISTEMAS OPERATIVOS.pptx
SISTEMAS OPERATIVOS.pptx
 
DevOps Tools Training | DevOps Tools | What is GIT | What is Jenkins
DevOps Tools Training | DevOps Tools | What is GIT | What is Jenkins DevOps Tools Training | DevOps Tools | What is GIT | What is Jenkins
DevOps Tools Training | DevOps Tools | What is GIT | What is Jenkins
 
Chapter 10
Chapter 10Chapter 10
Chapter 10
 
Information systems lifecycle
Information systems lifecycleInformation systems lifecycle
Information systems lifecycle
 
Accounting System Design and Development - System Planning and Development
Accounting System Design and Development - System Planning and Development Accounting System Design and Development - System Planning and Development
Accounting System Design and Development - System Planning and Development
 
Information Systems Life Cycle
Information Systems Life CycleInformation Systems Life Cycle
Information Systems Life Cycle
 
software lecture
software lecturesoftware lecture
software lecture
 
SA Chapter 13
SA Chapter 13SA Chapter 13
SA Chapter 13
 
Smas Hits May 11, 2009 Sensex Down 193 Points On Profit Booking
Smas Hits May 11, 2009 Sensex Down 193 Points On Profit BookingSmas Hits May 11, 2009 Sensex Down 193 Points On Profit Booking
Smas Hits May 11, 2009 Sensex Down 193 Points On Profit Booking
 

Plus de Software Sustainability Institute

Plus de Software Sustainability Institute (20)

Lightning talks - Workshop for e-Infrastructure trainers
Lightning talks - Workshop for e-Infrastructure trainers Lightning talks - Workshop for e-Infrastructure trainers
Lightning talks - Workshop for e-Infrastructure trainers
 
Introductory Talk - Workshop for e-Infrastructure trainers
Introductory Talk - Workshop for e-Infrastructure trainersIntroductory Talk - Workshop for e-Infrastructure trainers
Introductory Talk - Workshop for e-Infrastructure trainers
 
The provision of support and training for e-Infrastructure users and potentia...
The provision of support and training for e-Infrastructure users and potentia...The provision of support and training for e-Infrastructure users and potentia...
The provision of support and training for e-Infrastructure users and potentia...
 
Engaging the software in research community
Engaging the software in research communityEngaging the software in research community
Engaging the software in research community
 
SPOTonLondon Data
SPOTonLondon DataSPOTonLondon Data
SPOTonLondon Data
 
Collaborations Workshop Lightning Talks
Collaborations Workshop Lightning TalksCollaborations Workshop Lightning Talks
Collaborations Workshop Lightning Talks
 
How does the workshop work?
How does the workshop work?How does the workshop work?
How does the workshop work?
 
How breakouts work
How breakouts workHow breakouts work
How breakouts work
 
Collaborations Workshop 2012 Introduction to the Software Sustainability Inst...
Collaborations Workshop 2012 Introduction to the Software Sustainability Inst...Collaborations Workshop 2012 Introduction to the Software Sustainability Inst...
Collaborations Workshop 2012 Introduction to the Software Sustainability Inst...
 
Digital Social Research
Digital Social ResearchDigital Social Research
Digital Social Research
 
Adopting Open Source Software for Longer-term Reuse
Adopting Open Source Software for Longer-term ReuseAdopting Open Source Software for Longer-term Reuse
Adopting Open Source Software for Longer-term Reuse
 
Digital Economies Southampton
Digital Economies SouthamptonDigital Economies Southampton
Digital Economies Southampton
 
Sustainability Training Workshop - Intro to the SSI
Sustainability Training Workshop - Intro to the SSISustainability Training Workshop - Intro to the SSI
Sustainability Training Workshop - Intro to the SSI
 
Issue Tracking
Issue TrackingIssue Tracking
Issue Tracking
 
Supporting Software
Supporting SoftwareSupporting Software
Supporting Software
 
Managing Code in Repositories
Managing Code in RepositoriesManaging Code in Repositories
Managing Code in Repositories
 
Planning your project
Planning your projectPlanning your project
Planning your project
 
Ssi maintainers
Ssi maintainersSsi maintainers
Ssi maintainers
 
Introduction to the Software Sustainability Institute
Introduction to the Software Sustainability InstituteIntroduction to the Software Sustainability Institute
Introduction to the Software Sustainability Institute
 
Governance for Software
Governance for SoftwareGovernance for Software
Governance for Software
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Preserving software workshop - Sustainability approaches

  • 1. Different Approaches to Software Preservation Neil Chue Hong Software Preservation Study Workshop
  • 2. Decisions, decisions There are several approaches we have identified that could be classed as software preservation The choice depends on a number of factors, which change through time
  • 3. Five purposes of software preservation Achieve legal compliance Create heritage value Enable continued access to data Encourage software reuse Manage systems and services
  • 4. Approaches Preservation (techno-centric) Emulation (data-centric) Migration (functionality-centric) Transition (process-centric) Hibernation (knowledge-centric) Procrastination (i'll-get-round to it eventually-centric)
  • 5. Preservation Aim to preserve original hardware and software in same state Purpose: Achieve legal compliance Create heritage value Enable continued access to data Advantages: Clearly defined Can often change to Hardware Emulation at later date Disadvantages: Costly, especially when hardware fails Does not guarantee future access if dependent on other hardware/software (e.g. networking) Can be vulnerable to malicious attack
  • 6. Emulation Emulate original hardware / operating environment, keeping software in same state Purpose: Achieve legal compliance Create heritage value Enable continued access to data Manage systems and services Advantages: Easier to manage virtualised hardware If emulation layer continues to be developed, software can continue to be run indefinitely Disadvantages: Need all aspects of hardware to be emulated correctly, including flaws If emulation layer ceases to be developed, back to technical preservaton
  • 7. Migration Aim to update software as required to maintain same functionality, porting/transferring before platform obsolescence Purpose: Achieve legal compliance Enable continued access to data Encourage software reuse Manage systems and services Advantages: Allows further development of software Enables access on other platforms Disadvantages: Requires continued effort for development
  • 8. Transition Aim to keep software “alive” by moving to more open development model bringing on board additional contributors and spreading knowledge of process Purpose: Enable continued access to data Encourage software reuse Manage systems and services Advantages: Increases chances of further development of software Potential for better migration to other platforms Disadvantages: Requires more coordination Possibility for loss of control of direction
  • 9. Hibernation Aim to preserve the knowledge of how to resuscitate/recreate the exact functionality of the software at a later date Purpose: Enable continued access to data Encourage software reuse Advantages: Useful when you have a known break in effort Disadvantages: Can be difficult to check if hibernation processes are rigorous until after it is too late
  • 10. Procrastination Aim to do nothing Purpose: What purpose? Advantages: Comes naturally Very cheap Disadvantages: Not a valid preservation technique! May require software archaeology skills in the future A valid approach if software has been superceded
  • 11. How much effort? What is your likely effort profile? Something now, nothing in future Something now, something in future Nothing now, something in future Nothing now, nothing in future A difficult question to answer
  • 12. How much access? Are you the owner of the code? Are you the developer of the code? Do you have access to the source code? Do you have access to the hardware the software is running on?
  • 13. How exact do you need it? What are you needing to preserve? A few major pieces of functionality Most of the functionality, but tolerant of minor deviations All functionality, but fixing errors when found Must perform exactly as original Is integrity important? What are you preserving and why? Software, functionality, data, knowledge,…
  • 14. Example: DMAREL Software no longer being developed or maintained but still has users Code not open source but source available under license Will be superseded but still need to reproduce results until all useful results sets are recreated using new software Approach: Technical preservation Move to emulation if continued use higher than expected hardware becomes unmaintainable Should the cost of moving to emulation be done at the start or down the line Maintaining hardware versus taking hit of virtualisation and maintaining virtual machines If not superseded, could consider migration if effort can be found
  • 15. Exercise Consider a piece of software you are familiar with What approach would you take if: The effort to maintain it is coming to an end You have been told it is important to allow the integrity of data to be checked at a later date Someone else will take over development of the software but you will continue to use it The operating system you have developed it on is being end of lifed

Notes de l'éditeur

  1. Liberating data