SlideShare a Scribd company logo
1 of 39
Sustainability in
Scientific Software:
Ecosystem context
and science policy
James Howison
School of Information
University of Texas at Austin
(based on joint work with Jim Herbsleb at Carnegie Mellon)
This material is based upon work supported by the US National Science Foundation under
Grant Nos. SMA- 1064209 (SciSIP) and OCI-0943168 (VOSS).
http://www.flickr.com/photos/demandaj/
How does working on things made out
of digital information change the way
we collectively work?
@jameshowison
Affordance 1: Reuse
• Digital information can be copied
– High design costs
– Ultra-low instantiation costs
– Cheap network distribution
• Implications:
– “Write once, run anywhere”
– Think of software as an artifact
– Everyone gets a car!
@jameshowison
Affordance 2: Recombination
• Digital information is very flexible
– Patched
– Wrapped
– Extended
– Recombined
• Re-combinability is great for innovation
– Lots of new ways to do things
– But a sting in the tail?
Schumpeter, Ethiraj and Levinthal, Baldwin and Clarke
@jameshowison
Today’s questions
1. How does the recombination affordance
threaten sustainability?
2. What can be done about this?
@jameshowison
Sustainability: the condition that
results when the work needed to
keep software scientifically useful
is undertaken
@jameshowison
https://www.flickr.com/photos/kitch/5179039214
So what work needs to be done?
Develop Maintain
?@jameshowison
What drives the need for work?
1. Difficulty of production
2. Difficulty of use
3. Changing scientific frontier
4. Changing technological capabilities
5. Ecosystem complexity
@jameshowison
How do scientists use software?
v 2.0.1
v 2.0.1
v 2.2.8
Workflow
Software assemblage
Dependecies
Edwards, Batcheller, Deelman, Bietz and Lee,
Segal, De Roure and Gobels, Ribes and Finholt,
Howison and Herbsleb
@jameshowison
Re-animating assemblages
• Scientists pull an assemblage together, “get
the plots” and often then leave it, often for
months or years.
• When they return they return to extend; to
use the software assemblage for new
purposes, for new science, not simply to
replicate.
@jameshowison
But the world changes …
• Reanimation encounters change in the
software ecosystem
– Updated packages, New packages, New interfaces
• And not just in the immediate components of
a workflow, but in the dependencies.
• This work is echoed at component producers,
since components are themselves
assemblages.
@jameshowison
@jameshowison
https://www.flickr.com/photos/mrhayata/6933963596
What holds a complex software
ecosystem together (if anything)?
• Sensing work
– knowing how things “out there” are changing
• Adjustment
– making appropriate changes to account for
changing surroundings
• Synchronization
– ensuring that changes in multiple components
make sense together, avoiding cascades.
@jameshowison
Number of users (reuse)
v 2.0.1
v 2.0.1
v 2.2.8
Workflow
Software assemblage
Dependecies
v 2.0.1
v 2.0.1
v 2.2.8
Workflow
Software assemblage
Dependecies
v 2.0.1
v 2.0.1
v 2.2.8
Workflow
Software assemblage
Dependecies
v 2.0.1
v 2.0.1
v 2.2.8
Workflow
Software assemblage
Dependecies
v 2.0.1
v 2.0.1
v 2.2.8
Workflow
Software assemblage
Dependecies
v 2.0.1
v 2.0.1
v 2.2.8
Workflow
Software assemblage
Dependecies
@jameshowison
Diversity of use (recombination)
v 2.0.1
v 2.0.1
v 2.2.8
Workflow
Software assemblage
Dependecies
@jameshowison
Ecosystem Position
Diversity of use
NumberofUsers
Generally unreachable area
Unlikely region
low high
Few
Many
@jameshowison
How do different kinds of needed work
scale with ecosystem position?
• New feature development/Technology adaptation
– At most linearly across both dimensions
• User support
– Linearly, perhaps even reducing at high numbers as users
support each other
• Sensing work
– Linearly with diversity of use
• Adjustment and synchronization
– Exponentially with diversity of use (recombination)
– Even assuming a constant rate of change of complements
@jameshowison
Holding things together is hard work
But you can’t unlock the potential of cyberinfrastructure without it
@jameshowison
Strategies for reducing needed work
1. Suppress the drivers
2. Increase the efficiency of work
… but, ultimately, work is always needed …
1. Attract resources willing and able to do the
work
@jameshowison
Resource attraction
@jameshowison
@jameshowison
@jameshowison
@jameshowison
@jameshowison
Questions of sustainability
• How, and to what extent, does a project
attract new resources?
– Turn use and impact into more resources?
• How does a resource attraction system handle
sensing, adjustment, and synchronization
work?
@jameshowison
A commercial project
Value-producing
activity
Software Use
ImpactResources $$$
@jameshowison
Open Source Peer Production
Howison and Crowston (2014) Collaboration through Open Superposition. MIS Quarterly
Value-producing
activity
Software Use
ImpactResources
Devs
Time
@jameshowison
Grant-making
Software Use
ImpactResources
Grant
Peer
Review Ribes and Finholt 2007;
Howison and Herbsleb 2011
@jameshowison
How do resource attraction systems
cope with challenges of ecosystem
complexity?
@jameshowison
Markets and ecosystem complexity
• Sales provide insight (sensing) at the same
time as they generate resources
• Emergence of Platform strategy:
– Suppress complexity by disallowing recombination
between customer apps.
– Sensing undertaken by code review (via app store
submission)
– Adjustment and synchronization through new
releases of the API
@jameshowison
Photo credit: http://www.flickr.com/photos/smemon/5324223435
The platform strategy
requires power and a
willingness to use it to
reduce recombination
@jameshowison
Open source peer production
• Sensing:
– Contributions from the edge, driven by use value,
provide direct insight into usage.
• Adjustment:
– Pushing upstream uses the cheap copies affordance
of software to scale adjustment.
• Synchronization:
– Emergence of distributions which collate the
adjustments and attempt synchronization.
• Debian, Red Hat, Eclipse
Grant funding
• Service center argument places burden on core
team
• Little visibility into use context of software
– Developers are not front-line scientists
– No scalable way to see what is happening in use
contexts
• Success via focusing on low diversity of use/high
user numbers
– Works in specific locations (e.g., BLAST)
– Often impossible, so focus on “power users”
(Batcheller and Edwards; Bietz and Lee)
@jameshowison
Attempting command and control
• Scientific software developers sometimes
appeal for hierarchical control
– “The funder should just make it mandatory”
– “We should meet and plan a roadmap”
– All focused on suppressing complexity
• But digital flexibility inhibits this
– Scientists are going to tinker, new technologies are
going to suggest new technologies
@jameshowison
What is to be done?
@jameshowison
Improving Synchronization
• Fund software distribution work and innovation in
distribution
– Distributions can manage cascades
• Opportunities for research including simulating
ecosystem impact of changes
– If we knew how tools, data and questions were linked we
could test possible changes.
@jameshowison
Improving Adjustment
• Accept that adjustment happens best at the
edge.
• Incentivize projects to be open to gathering
and rationalize outside adjustments.
• Overcome the “service center” framing
• Inculcate stewardship orientation within
grant funded projects.
@jameshowison
Improving Sensing
Fund, but more importantly develop reputational rewards to, innovation in
sensing the scientific software ecosystem:
• Measure diversity of use contexts, understand how users
recombine
– Go beyond single tool user-studies.
• Increase visibility of software in publications
– See Citation session this afternoon.
• Software that reports its own use?
– See “Software Metrics” session this afternoon.
• Overcome concerns about visibility and scientific
competition
– Yes, privacy matters, but users have responsibilities as well.
@jameshowison
Takeaways
• Recombination is a key affordance of software, but leads to
diverse use contexts
• The work needed to maintain usefulness in a complex
ecosystem grows exponentially with use context diversity.
• Two real options:
– Suppress recombination
– Gain visibility into recombination
• Grant-making seems weaker than markets or open source
at supporting visibility
• Thus incentivizing visibility is key to a sustainable scientific
software ecosystem.
Paper at
http://james.howison.name/publications.html#cyberinfrastructure
@jameshowison

More Related Content

Viewers also liked

SciSoftDays Talk - Howison: Spreading the work in software ecosystems
SciSoftDays Talk - Howison: Spreading the work in software ecosystemsSciSoftDays Talk - Howison: Spreading the work in software ecosystems
SciSoftDays Talk - Howison: Spreading the work in software ecosystemsJames Howison
 
Howison rutgers-open superposition
Howison rutgers-open superpositionHowison rutgers-open superposition
Howison rutgers-open superpositionJames Howison
 
Survival of the Quickest
Survival of the QuickestSurvival of the Quickest
Survival of the QuickestChristina_W
 
Open Superposition and lessons for scientific software development
Open Superposition and lessons for scientific software developmentOpen Superposition and lessons for scientific software development
Open Superposition and lessons for scientific software developmentJames Howison
 
Studying archives of online behavior
Studying archives of online behaviorStudying archives of online behavior
Studying archives of online behaviorJames Howison
 
Alone Together: Patterns of collaboration in free and open source software de...
Alone Together: Patterns of collaboration in free and open source software de...Alone Together: Patterns of collaboration in free and open source software de...
Alone Together: Patterns of collaboration in free and open source software de...James Howison
 
Sharing the spoils: the trouble with reputation as a motivation and reward fo...
Sharing the spoils: the trouble with reputation as a motivation and reward fo...Sharing the spoils: the trouble with reputation as a motivation and reward fo...
Sharing the spoils: the trouble with reputation as a motivation and reward fo...James Howison
 
Howison i conf-transition
Howison i conf-transitionHowison i conf-transition
Howison i conf-transitionJames Howison
 
How to Ask questions people want to answer
How to Ask questions people want to answerHow to Ask questions people want to answer
How to Ask questions people want to answerJames Howison
 
Howison CAREER journey - NSF CISE CAREER Workshop 2016
Howison CAREER journey - NSF CISE CAREER Workshop 2016Howison CAREER journey - NSF CISE CAREER Workshop 2016
Howison CAREER journey - NSF CISE CAREER Workshop 2016James Howison
 
Five Models for Interaction Between Science Enterprises and Organization Scie...
Five Models for Interaction Between Science Enterprises and Organization Scie...Five Models for Interaction Between Science Enterprises and Organization Scie...
Five Models for Interaction Between Science Enterprises and Organization Scie...James Howison
 
Heartbeat: measuring installed base by analyzing downloads and Scientific S...
Heartbeat: measuring installed base by analyzing downloads and Scientific S...Heartbeat: measuring installed base by analyzing downloads and Scientific S...
Heartbeat: measuring installed base by analyzing downloads and Scientific S...James Howison
 
Software in the scientific literature: Problems with seeing, finding, and usi...
Software in the scientific literature: Problems with seeing, finding, and usi...Software in the scientific literature: Problems with seeing, finding, and usi...
Software in the scientific literature: Problems with seeing, finding, and usi...James Howison
 
Software Citation and a Proposal (NSF workshop at Havard Medical School)
Software Citation and a Proposal (NSF workshop at Havard Medical School)Software Citation and a Proposal (NSF workshop at Havard Medical School)
Software Citation and a Proposal (NSF workshop at Havard Medical School)James Howison
 

Viewers also liked (16)

SciSoftDays Talk - Howison: Spreading the work in software ecosystems
SciSoftDays Talk - Howison: Spreading the work in software ecosystemsSciSoftDays Talk - Howison: Spreading the work in software ecosystems
SciSoftDays Talk - Howison: Spreading the work in software ecosystems
 
Howison rutgers-open superposition
Howison rutgers-open superpositionHowison rutgers-open superposition
Howison rutgers-open superposition
 
Survival of the Quickest
Survival of the QuickestSurvival of the Quickest
Survival of the Quickest
 
Open Superposition and lessons for scientific software development
Open Superposition and lessons for scientific software developmentOpen Superposition and lessons for scientific software development
Open Superposition and lessons for scientific software development
 
Studying archives of online behavior
Studying archives of online behaviorStudying archives of online behavior
Studying archives of online behavior
 
When to say no 100302
When to say no 100302When to say no 100302
When to say no 100302
 
Alone Together: Patterns of collaboration in free and open source software de...
Alone Together: Patterns of collaboration in free and open source software de...Alone Together: Patterns of collaboration in free and open source software de...
Alone Together: Patterns of collaboration in free and open source software de...
 
The Lost Art of Mentoring
The Lost Art of MentoringThe Lost Art of Mentoring
The Lost Art of Mentoring
 
Sharing the spoils: the trouble with reputation as a motivation and reward fo...
Sharing the spoils: the trouble with reputation as a motivation and reward fo...Sharing the spoils: the trouble with reputation as a motivation and reward fo...
Sharing the spoils: the trouble with reputation as a motivation and reward fo...
 
Howison i conf-transition
Howison i conf-transitionHowison i conf-transition
Howison i conf-transition
 
How to Ask questions people want to answer
How to Ask questions people want to answerHow to Ask questions people want to answer
How to Ask questions people want to answer
 
Howison CAREER journey - NSF CISE CAREER Workshop 2016
Howison CAREER journey - NSF CISE CAREER Workshop 2016Howison CAREER journey - NSF CISE CAREER Workshop 2016
Howison CAREER journey - NSF CISE CAREER Workshop 2016
 
Five Models for Interaction Between Science Enterprises and Organization Scie...
Five Models for Interaction Between Science Enterprises and Organization Scie...Five Models for Interaction Between Science Enterprises and Organization Scie...
Five Models for Interaction Between Science Enterprises and Organization Scie...
 
Heartbeat: measuring installed base by analyzing downloads and Scientific S...
Heartbeat: measuring installed base by analyzing downloads and Scientific S...Heartbeat: measuring installed base by analyzing downloads and Scientific S...
Heartbeat: measuring installed base by analyzing downloads and Scientific S...
 
Software in the scientific literature: Problems with seeing, finding, and usi...
Software in the scientific literature: Problems with seeing, finding, and usi...Software in the scientific literature: Problems with seeing, finding, and usi...
Software in the scientific literature: Problems with seeing, finding, and usi...
 
Software Citation and a Proposal (NSF workshop at Havard Medical School)
Software Citation and a Proposal (NSF workshop at Havard Medical School)Software Citation and a Proposal (NSF workshop at Havard Medical School)
Software Citation and a Proposal (NSF workshop at Havard Medical School)
 

Similar to Scientific software sustainability and ecosystem complexity

DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...Daniel Bryant
 
Software Ecosystems = Big Data
Software Ecosystems = Big DataSoftware Ecosystems = Big Data
Software Ecosystems = Big DataTom Mens
 
Software Ecosystem Evolution. It's complex!
Software Ecosystem Evolution. It's complex!Software Ecosystem Evolution. It's complex!
Software Ecosystem Evolution. It's complex!Tom Mens
 
Open Source and Science at the National Science Foundation (NSF)
Open Source and Science at the National Science Foundation (NSF)Open Source and Science at the National Science Foundation (NSF)
Open Source and Science at the National Science Foundation (NSF)Daniel S. Katz
 
Round Table Introduction: From an institution-developed package to a sustaina...
Round Table Introduction: From an institution-developed package to a sustaina...Round Table Introduction: From an institution-developed package to a sustaina...
Round Table Introduction: From an institution-developed package to a sustaina...Mario Juric
 
EPA 2013 Air Sensors Meeting Big Data Talk
EPA 2013 Air Sensors Meeting Big Data TalkEPA 2013 Air Sensors Meeting Big Data Talk
EPA 2013 Air Sensors Meeting Big Data TalkAdina Chuang Howe
 
DevOps Beyond the Buzzwords: Culture, Tools, & Straight Talk
DevOps Beyond the Buzzwords: Culture, Tools, & Straight TalkDevOps Beyond the Buzzwords: Culture, Tools, & Straight Talk
DevOps Beyond the Buzzwords: Culture, Tools, & Straight TalkMark Heckler
 
Scientific Software Challenges and Community Responses
Scientific Software Challenges and Community ResponsesScientific Software Challenges and Community Responses
Scientific Software Challenges and Community ResponsesDaniel S. Katz
 
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...Tom Mens
 
Fundamentals of software sustainability
Fundamentals of software sustainabilityFundamentals of software sustainability
Fundamentals of software sustainabilityDaniel S. Katz
 
Exploiting semantics-in-collaborative-software-development-tasks
Exploiting semantics-in-collaborative-software-development-tasksExploiting semantics-in-collaborative-software-development-tasks
Exploiting semantics-in-collaborative-software-development-tasksDimitris Panagiotou
 
A Space X Industry Day Briefing 7 Jul08 Jgm R4
A Space X Industry Day Briefing 7 Jul08 Jgm R4A Space X Industry Day Briefing 7 Jul08 Jgm R4
A Space X Industry Day Briefing 7 Jul08 Jgm R4jmorriso
 
Six Principles of Software Design to Empower Scientists
Six Principles of Software Design to Empower ScientistsSix Principles of Software Design to Empower Scientists
Six Principles of Software Design to Empower ScientistsDavid De Roure
 
ORION Workshop: XSEDE and Building a National/International Cyberinfrastructure
ORION Workshop: XSEDE and Building a National/International CyberinfrastructureORION Workshop: XSEDE and Building a National/International Cyberinfrastructure
ORION Workshop: XSEDE and Building a National/International CyberinfrastructureJohn Towns
 
Scientific Software - what happens after the grant?
Scientific Software - what happens after the grant?Scientific Software - what happens after the grant?
Scientific Software - what happens after the grant?James Howison
 
IoT to Cloud the DevOps Way
IoT to Cloud the DevOps WayIoT to Cloud the DevOps Way
IoT to Cloud the DevOps WayMark Heckler
 
Adoption of Cloud Computing in Scientific Research
Adoption of Cloud Computing in Scientific ResearchAdoption of Cloud Computing in Scientific Research
Adoption of Cloud Computing in Scientific ResearchYehia El-khatib
 
The macro of microservices
The macro of microservicesThe macro of microservices
The macro of microservicesSoftware Guru
 
From Obvious to Ingenius: Incrementally Scaling Web Apps on PostgreSQL
From Obvious to Ingenius: Incrementally Scaling Web Apps on PostgreSQLFrom Obvious to Ingenius: Incrementally Scaling Web Apps on PostgreSQL
From Obvious to Ingenius: Incrementally Scaling Web Apps on PostgreSQLKonstantin Gredeskoul
 

Similar to Scientific software sustainability and ecosystem complexity (20)

Howison si2 keynote
Howison si2 keynoteHowison si2 keynote
Howison si2 keynote
 
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
 
Software Ecosystems = Big Data
Software Ecosystems = Big DataSoftware Ecosystems = Big Data
Software Ecosystems = Big Data
 
Software Ecosystem Evolution. It's complex!
Software Ecosystem Evolution. It's complex!Software Ecosystem Evolution. It's complex!
Software Ecosystem Evolution. It's complex!
 
Open Source and Science at the National Science Foundation (NSF)
Open Source and Science at the National Science Foundation (NSF)Open Source and Science at the National Science Foundation (NSF)
Open Source and Science at the National Science Foundation (NSF)
 
Round Table Introduction: From an institution-developed package to a sustaina...
Round Table Introduction: From an institution-developed package to a sustaina...Round Table Introduction: From an institution-developed package to a sustaina...
Round Table Introduction: From an institution-developed package to a sustaina...
 
EPA 2013 Air Sensors Meeting Big Data Talk
EPA 2013 Air Sensors Meeting Big Data TalkEPA 2013 Air Sensors Meeting Big Data Talk
EPA 2013 Air Sensors Meeting Big Data Talk
 
DevOps Beyond the Buzzwords: Culture, Tools, & Straight Talk
DevOps Beyond the Buzzwords: Culture, Tools, & Straight TalkDevOps Beyond the Buzzwords: Culture, Tools, & Straight Talk
DevOps Beyond the Buzzwords: Culture, Tools, & Straight Talk
 
Scientific Software Challenges and Community Responses
Scientific Software Challenges and Community ResponsesScientific Software Challenges and Community Responses
Scientific Software Challenges and Community Responses
 
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
 
Fundamentals of software sustainability
Fundamentals of software sustainabilityFundamentals of software sustainability
Fundamentals of software sustainability
 
Exploiting semantics-in-collaborative-software-development-tasks
Exploiting semantics-in-collaborative-software-development-tasksExploiting semantics-in-collaborative-software-development-tasks
Exploiting semantics-in-collaborative-software-development-tasks
 
A Space X Industry Day Briefing 7 Jul08 Jgm R4
A Space X Industry Day Briefing 7 Jul08 Jgm R4A Space X Industry Day Briefing 7 Jul08 Jgm R4
A Space X Industry Day Briefing 7 Jul08 Jgm R4
 
Six Principles of Software Design to Empower Scientists
Six Principles of Software Design to Empower ScientistsSix Principles of Software Design to Empower Scientists
Six Principles of Software Design to Empower Scientists
 
ORION Workshop: XSEDE and Building a National/International Cyberinfrastructure
ORION Workshop: XSEDE and Building a National/International CyberinfrastructureORION Workshop: XSEDE and Building a National/International Cyberinfrastructure
ORION Workshop: XSEDE and Building a National/International Cyberinfrastructure
 
Scientific Software - what happens after the grant?
Scientific Software - what happens after the grant?Scientific Software - what happens after the grant?
Scientific Software - what happens after the grant?
 
IoT to Cloud the DevOps Way
IoT to Cloud the DevOps WayIoT to Cloud the DevOps Way
IoT to Cloud the DevOps Way
 
Adoption of Cloud Computing in Scientific Research
Adoption of Cloud Computing in Scientific ResearchAdoption of Cloud Computing in Scientific Research
Adoption of Cloud Computing in Scientific Research
 
The macro of microservices
The macro of microservicesThe macro of microservices
The macro of microservices
 
From Obvious to Ingenius: Incrementally Scaling Web Apps on PostgreSQL
From Obvious to Ingenius: Incrementally Scaling Web Apps on PostgreSQLFrom Obvious to Ingenius: Incrementally Scaling Web Apps on PostgreSQL
From Obvious to Ingenius: Incrementally Scaling Web Apps on PostgreSQL
 

Recently uploaded

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 

Recently uploaded (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 

Scientific software sustainability and ecosystem complexity

  • 1. Sustainability in Scientific Software: Ecosystem context and science policy James Howison School of Information University of Texas at Austin (based on joint work with Jim Herbsleb at Carnegie Mellon) This material is based upon work supported by the US National Science Foundation under Grant Nos. SMA- 1064209 (SciSIP) and OCI-0943168 (VOSS). http://www.flickr.com/photos/demandaj/
  • 2. How does working on things made out of digital information change the way we collectively work? @jameshowison
  • 3. Affordance 1: Reuse • Digital information can be copied – High design costs – Ultra-low instantiation costs – Cheap network distribution • Implications: – “Write once, run anywhere” – Think of software as an artifact – Everyone gets a car! @jameshowison
  • 4. Affordance 2: Recombination • Digital information is very flexible – Patched – Wrapped – Extended – Recombined • Re-combinability is great for innovation – Lots of new ways to do things – But a sting in the tail? Schumpeter, Ethiraj and Levinthal, Baldwin and Clarke @jameshowison
  • 5. Today’s questions 1. How does the recombination affordance threaten sustainability? 2. What can be done about this? @jameshowison
  • 6. Sustainability: the condition that results when the work needed to keep software scientifically useful is undertaken @jameshowison https://www.flickr.com/photos/kitch/5179039214
  • 7. So what work needs to be done? Develop Maintain ?@jameshowison
  • 8. What drives the need for work? 1. Difficulty of production 2. Difficulty of use 3. Changing scientific frontier 4. Changing technological capabilities 5. Ecosystem complexity @jameshowison
  • 9. How do scientists use software? v 2.0.1 v 2.0.1 v 2.2.8 Workflow Software assemblage Dependecies Edwards, Batcheller, Deelman, Bietz and Lee, Segal, De Roure and Gobels, Ribes and Finholt, Howison and Herbsleb @jameshowison
  • 10. Re-animating assemblages • Scientists pull an assemblage together, “get the plots” and often then leave it, often for months or years. • When they return they return to extend; to use the software assemblage for new purposes, for new science, not simply to replicate. @jameshowison
  • 11. But the world changes … • Reanimation encounters change in the software ecosystem – Updated packages, New packages, New interfaces • And not just in the immediate components of a workflow, but in the dependencies. • This work is echoed at component producers, since components are themselves assemblages. @jameshowison
  • 13. What holds a complex software ecosystem together (if anything)? • Sensing work – knowing how things “out there” are changing • Adjustment – making appropriate changes to account for changing surroundings • Synchronization – ensuring that changes in multiple components make sense together, avoiding cascades. @jameshowison
  • 14. Number of users (reuse) v 2.0.1 v 2.0.1 v 2.2.8 Workflow Software assemblage Dependecies v 2.0.1 v 2.0.1 v 2.2.8 Workflow Software assemblage Dependecies v 2.0.1 v 2.0.1 v 2.2.8 Workflow Software assemblage Dependecies v 2.0.1 v 2.0.1 v 2.2.8 Workflow Software assemblage Dependecies v 2.0.1 v 2.0.1 v 2.2.8 Workflow Software assemblage Dependecies v 2.0.1 v 2.0.1 v 2.2.8 Workflow Software assemblage Dependecies @jameshowison
  • 15. Diversity of use (recombination) v 2.0.1 v 2.0.1 v 2.2.8 Workflow Software assemblage Dependecies @jameshowison
  • 16. Ecosystem Position Diversity of use NumberofUsers Generally unreachable area Unlikely region low high Few Many @jameshowison
  • 17. How do different kinds of needed work scale with ecosystem position? • New feature development/Technology adaptation – At most linearly across both dimensions • User support – Linearly, perhaps even reducing at high numbers as users support each other • Sensing work – Linearly with diversity of use • Adjustment and synchronization – Exponentially with diversity of use (recombination) – Even assuming a constant rate of change of complements @jameshowison
  • 18. Holding things together is hard work But you can’t unlock the potential of cyberinfrastructure without it @jameshowison
  • 19. Strategies for reducing needed work 1. Suppress the drivers 2. Increase the efficiency of work … but, ultimately, work is always needed … 1. Attract resources willing and able to do the work @jameshowison
  • 25. Questions of sustainability • How, and to what extent, does a project attract new resources? – Turn use and impact into more resources? • How does a resource attraction system handle sensing, adjustment, and synchronization work? @jameshowison
  • 26. A commercial project Value-producing activity Software Use ImpactResources $$$ @jameshowison
  • 27. Open Source Peer Production Howison and Crowston (2014) Collaboration through Open Superposition. MIS Quarterly Value-producing activity Software Use ImpactResources Devs Time @jameshowison
  • 28. Grant-making Software Use ImpactResources Grant Peer Review Ribes and Finholt 2007; Howison and Herbsleb 2011 @jameshowison
  • 29. How do resource attraction systems cope with challenges of ecosystem complexity? @jameshowison
  • 30. Markets and ecosystem complexity • Sales provide insight (sensing) at the same time as they generate resources • Emergence of Platform strategy: – Suppress complexity by disallowing recombination between customer apps. – Sensing undertaken by code review (via app store submission) – Adjustment and synchronization through new releases of the API @jameshowison
  • 31. Photo credit: http://www.flickr.com/photos/smemon/5324223435 The platform strategy requires power and a willingness to use it to reduce recombination @jameshowison
  • 32. Open source peer production • Sensing: – Contributions from the edge, driven by use value, provide direct insight into usage. • Adjustment: – Pushing upstream uses the cheap copies affordance of software to scale adjustment. • Synchronization: – Emergence of distributions which collate the adjustments and attempt synchronization. • Debian, Red Hat, Eclipse
  • 33. Grant funding • Service center argument places burden on core team • Little visibility into use context of software – Developers are not front-line scientists – No scalable way to see what is happening in use contexts • Success via focusing on low diversity of use/high user numbers – Works in specific locations (e.g., BLAST) – Often impossible, so focus on “power users” (Batcheller and Edwards; Bietz and Lee) @jameshowison
  • 34. Attempting command and control • Scientific software developers sometimes appeal for hierarchical control – “The funder should just make it mandatory” – “We should meet and plan a roadmap” – All focused on suppressing complexity • But digital flexibility inhibits this – Scientists are going to tinker, new technologies are going to suggest new technologies @jameshowison
  • 35. What is to be done? @jameshowison
  • 36. Improving Synchronization • Fund software distribution work and innovation in distribution – Distributions can manage cascades • Opportunities for research including simulating ecosystem impact of changes – If we knew how tools, data and questions were linked we could test possible changes. @jameshowison
  • 37. Improving Adjustment • Accept that adjustment happens best at the edge. • Incentivize projects to be open to gathering and rationalize outside adjustments. • Overcome the “service center” framing • Inculcate stewardship orientation within grant funded projects. @jameshowison
  • 38. Improving Sensing Fund, but more importantly develop reputational rewards to, innovation in sensing the scientific software ecosystem: • Measure diversity of use contexts, understand how users recombine – Go beyond single tool user-studies. • Increase visibility of software in publications – See Citation session this afternoon. • Software that reports its own use? – See “Software Metrics” session this afternoon. • Overcome concerns about visibility and scientific competition – Yes, privacy matters, but users have responsibilities as well. @jameshowison
  • 39. Takeaways • Recombination is a key affordance of software, but leads to diverse use contexts • The work needed to maintain usefulness in a complex ecosystem grows exponentially with use context diversity. • Two real options: – Suppress recombination – Gain visibility into recombination • Grant-making seems weaker than markets or open source at supporting visibility • Thus incentivizing visibility is key to a sustainable scientific software ecosystem. Paper at http://james.howison.name/publications.html#cyberinfrastructure @jameshowison

Editor's Notes

  1. Going to explore two different affordances of software that are related to its nature as being made of information:
  2. “Everyone gets a car!”
  3. Archer points this out in his Chpt 5 – the progress of science is an exogenous (or structurationally linked) cause of change or pertubation in the system. He draws on Hughes “reverse salients”, points that hold back the progress of the system as a whole. The workflow idea is well understood in studies of science software (e.g., Dennis and Loft).
  4. Show that the develop and maintain model relies only on the reuse affordance. Let’s look closer at Maintenance (Bietz and Lee).
  5. Picture of assemblages. They pick up the software and adapt and improve it later.
  6. It is far from uncommon to discover what appear to be cyclic dependencies, to require missing historical versions, or to require multiple, incompatible versions, requiring some level of jerry-rigging at points in the stack. This experience is common to those working with software, even outside science, and is described as a descent into "dependency hell." http://en.wikipedia.org/wiki/Dependency_hell
  7. In aggregate, if we pull the camera back, we can envision the world of software workflows as a pond. Changes (from many different sources) spread out through their users and demand many small changes, each of which spreads on out further. Once the ripples start to overlap, or catch up with each other, true chaos emerges.
  8. Exploding the category of maintenance work, from the perspective of a component producer.
  9. A single component flows out to many places. Initially similar, but changing over time.
  10. The component gets combined with a differing set of components.
  11. You can place software along these dimensions. It’s hard to get to the top left, since as you get more users they will tend to combine your software in more ways. The bottom right is also pretty unlikely (thankfully) as useful recombinations tend to be useful to many people. Yet in some cases, especially in science, you could end up out there.
  12. The more diverse the recombinations that your users are employing, the more points of origin for change, the more potential for cascading changes that undermine
  13. How does the way we attract resources relate to the needed work (and, in particular, to the challenges of ecosystem complexity?)
  14. Probably this splits into 2 slides
  15. Probably also splits into two slides. Note that distributions handle synchronization, but only at the level of dependencies, not complements.
  16. Echo Ribes and Finholt about the teams that prioritize research first, then software dev then maintenance. But maintenance is crucial.
  17. Take these in reverse order, leaving the most actionable for last.