SlideShare a Scribd company logo
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

More Related Content

Viewers also liked

Thorsten Piening - Regionales Online Marketing
Thorsten Piening - Regionales Online MarketingThorsten Piening - Regionales Online Marketing
Thorsten Piening - Regionales Online Marketing
Wir sind das Kapital
 
Social Technology For Business
Social Technology For BusinessSocial Technology For Business
Social Technology For Business
Digital Inbound
 
Social Networks for Business
Social Networks for BusinessSocial Networks for Business
Social Networks for Business
Aliza Sherman
 
Welcome to SoftSummit 2010
Welcome to SoftSummit 2010Welcome to SoftSummit 2010
Welcome to SoftSummit 2010
Flexera
 
ビジネスプロセスと製品のマッピングワークショップ
 ビジネスプロセスと製品のマッピングワークショップ ビジネスプロセスと製品のマッピングワークショップ
ビジネスプロセスと製品のマッピングワークショップ
Flexera
 
Social Media for small business
Social Media for small businessSocial Media for small business
Social Media for small business
aussiehome.com
 

Viewers also liked (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
 

Similar to Preserving software workshop - Sustainability approaches

Preserving software workshop - Community engagement workshop
Preserving software workshop - Community engagement workshopPreserving software workshop - Community engagement workshop
Preserving software workshop - Community engagement workshop
Software Sustainability Institute
 
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
Software Sustainability Institute
 
A Beginners Guide To Legacy Systems
A Beginners Guide To Legacy SystemsA Beginners Guide To Legacy Systems
A Beginners Guide To Legacy Systems
Syed Hassan Raza
 
Writting Better Software
Writting Better SoftwareWritting Better Software
Writting Better Softwaresvilen.ivanov
 
Dev ops
Dev opsDev ops
Information Systems Lifecycle
Information Systems LifecycleInformation Systems Lifecycle
Information Systems LifecycleMISY
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototypingdrjms
 
Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8koolkampus
 
Information systems lifecycle
Information systems lifecycleInformation systems lifecycle
Information systems lifecycle
Rizwan Kabir
 
Understanding operating systems 5th ed ch12
Understanding operating systems 5th ed ch12Understanding operating systems 5th ed ch12
Understanding operating systems 5th ed ch12BarrBoy
 
SISTEMAS OPERATIVOS.pptx
SISTEMAS OPERATIVOS.pptxSISTEMAS OPERATIVOS.pptx
SISTEMAS OPERATIVOS.pptx
AnalistaSoporte
 
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
Intellipaat
 
Chapter 10
Chapter 10Chapter 10
Chapter 10
Aminul Islam Imon
 
Information systems lifecycle
Information systems lifecycleInformation systems lifecycle
Information systems lifecyclefiona_rozario
 
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
HelpWithAssignment.com
 
Information Systems Life Cycle
Information Systems Life CycleInformation Systems Life Cycle
Information Systems Life Cycle4goggas
 
SA Chapter 13
SA Chapter 13SA Chapter 13
SA Chapter 13
Nuth Otanasap
 
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
Jagannadham Thunuguntla
 

Similar to 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
Software PrototypingSoftware Prototyping
Software Prototyping
 
Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8
 
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
 

More from Software Sustainability Institute

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
Software Sustainability Institute
 
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
Software Sustainability Institute
 
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...
Software Sustainability Institute
 
Engaging the software in research community
Engaging the software in research communityEngaging the software in research community
Engaging the software in research community
Software Sustainability Institute
 
SPOTonLondon Data
SPOTonLondon DataSPOTonLondon Data
Collaborations Workshop Lightning Talks
Collaborations Workshop Lightning TalksCollaborations Workshop Lightning Talks
Collaborations Workshop Lightning Talks
Software Sustainability Institute
 
How does the workshop work?
How does the workshop work?How does the workshop work?
How does the workshop work?
Software Sustainability Institute
 
How breakouts work
How breakouts workHow 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...
Software Sustainability Institute
 
Digital Social Research
Digital Social ResearchDigital Social Research
Digital Social Research
Software Sustainability Institute
 
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
Software Sustainability Institute
 
Digital Economies Southampton
Digital Economies SouthamptonDigital Economies Southampton
Digital Economies Southampton
Software Sustainability Institute
 
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
Software Sustainability Institute
 
Supporting Software
Supporting SoftwareSupporting Software
Managing Code in Repositories
Managing Code in RepositoriesManaging Code in Repositories
Managing Code in Repositories
Software Sustainability Institute
 
Planning your project
Planning your projectPlanning your project
Planning your project
Software Sustainability Institute
 
Introduction to the Software Sustainability Institute
Introduction to the Software Sustainability InstituteIntroduction to the Software Sustainability Institute
Introduction to the Software Sustainability Institute
Software Sustainability Institute
 
Governance for Software
Governance for SoftwareGovernance for Software
Governance for Software
Software Sustainability Institute
 

More from 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
 

Recently uploaded

The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 

Recently uploaded (20)

The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 

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

Editor's Notes

  1. Liberating data