SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

Destacado

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

Destacado (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 a 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 workshopSoftware 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 SoftwareSoftware Sustainability Institute
 
A Beginners Guide To Legacy Systems
A Beginners Guide To Legacy SystemsA Beginners Guide To Legacy Systems
A Beginners Guide To Legacy SystemsSyed Hassan Raza
 
Writting Better Software
Writting Better SoftwareWritting Better Software
Writting Better Softwaresvilen.ivanov
 
Information Systems Lifecycle
Information Systems LifecycleInformation Systems Lifecycle
Information Systems LifecycleMISY
 
Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8koolkampus
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototypingdrjms
 
Information systems lifecycle
Information systems lifecycleInformation systems lifecycle
Information systems lifecycleRizwan 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.pptxAnalistaSoporte
 
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
 
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
 
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 BookingJagannadham Thunuguntla
 

Similar a 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
 

Más de 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
 
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
 

Más 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
 

Último

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 educationjfdjdjcjdnsjd
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
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...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
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 TerraformAndrey Devyatkin
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 

Último (20)

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
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
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...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

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

Notas del editor

  1. Liberating data