SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Software
Ecosystems:
Spreading the
work around
James Howison
School of Information
University of Texas at Austin
(based in part 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), OCI-0943168 (VOSS) and ACI-145348 (CAREER).
https://www.flickr.com/photos/mrhayata/6933963596
Reuse
• Digital information can be copied
– High design costs
– Ultra-low instantiation costs
– Cheap network distribution
• Implications:
– “Write once, run anywhere”
– Everyone gets a car!
@jameshowison
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?
@jameshowison
https://www.flickr.com/phot
os/44551921@N04/
Today’s questions
1. How does recombination make
software work harder?
2. What sort of work needs to be done
to cope?
3. How do different ways of working
spread that work around?
@jameshowison
How do scientists use software?
v 2.0.1
v 2.0.1
v 2.2.8
Workflow
Software assemblage
Dependecies
Edwards and Batcheller, Deelman, Bietz and Lee,
Segal, Olson and Olson, 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 and
complements.
• This work is echoed at component producers,
since components are themselves assemblages.
@jameshowison
@jameshowison
https://www.flickr.com/photos/mrhayata/6933963596
What work holds a software
ecosystem together (if anything)?
• Sensing work
– knowing how workflows/software “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
Holding things together is hard work
But you can’t unlock the potential of cyberinfrastructure without it
@jameshowison
How is this work spread around?
• If your software neighborhood works at all
then this work is being done, by someone. In
some fashion, not necessarily efficiently.
• How does this work happen:
– What do we do within our project?
– What work do we send to our users?
– What work do we send to neighboring projects?
@jameshowison
What work happens within our project?
Challenges
• Knowing what each other
intended or intends
• Choosing dependencies with care
and monitoring those projects
• Synchronizing our work internally
• Knowing who is doing the
adjustment work to bring things
into alignment
Techniques
• “Atomic commits”
– Small, frequent contributions
easier to follow than large
“code bombs”
• Test suites communicate
intentions
– A failed integration test is a
misunderstanding
• Continuous integration can
help monitor dependencies
– Pull new versions of
dependencies and
complements
@jameshowison
What work do we send to our users?
Challenges
• How do we know:
– What users do with our code?
– What tools they combine it
with?
– How and how often they adjust
our code (inc. wrappers, pre-
processing)?
– Where they go for help?
– Do we talk to both users and
their sys admins?
• How do we shape our users
use?
– Can’t control them, but we can
guide them.
Techniques
• Registration of users
• Build use reporting into our
software (e.g., Thain, 2006)
including reporting
complements.
• Know “lead-users” but know
longer tail as well.
• Concentrate, monitor, and
curate help discussions.
• Documentation can nudge
user behavior.
@jameshowison
What work do we send
to neighboring projects?
Challenges
• Know who we depend on (our
upstream)
• Know who depends on us (our
downstream)
• How do they adjust to our
changes? Can we synchronize
releases?
• Is our use of other
components visible?
• Can we pass our adjustments
upstream (saving others
time)?
Techniques
• Be part of upstream and
downstream projects (Read
lists, attend events, work
with their code). Include
others in your events.
• Can your adjustment work
be passed upstream?
• Are we the bug reporters
that we’d like to have?
@jameshowison
Different “organizational forms”
spread the work out differently
1. The grant startup
2. The “service center”
3. The “merely open” project
4. The ecosystem player
@jameshowison
The grant startup
• A new grant to a lab
• An internal team, low external transparency (like a
“stealth mode” VC-funded startup)
• Experimenting, not wanting to bother others until “it
works”
• From an ecosystem perspective, this can be very much
like one big code dump, pushing sensing, adjustment,
and synchronization onto end users and other projects.
• Two key actions:
– Identify potential users and know what else they use
– Exchange people with dependencies and complements
@jameshowison
The “service center”
• “We’re funded to do the work for our users”
• Characteristics:
– One way code membrane (we release, but don’t take
contributions)
– A Helpdesk (individual tickets solved in private)
• But: the team doesn’t scale to all the sensing,
adjustment and synchronization needed
• Key actions:
– Enroll our users, accept and learn from patches
– Take support out into public, leveraging “active users”
@jameshowison
The “passively open” project
• Projects have all the trappings of open source
– Open source license
– Hosted on github, maybe even Jenkins
– Core team might even work in public
• Outside contributions are possible, but don’t often
occur
• Openness at least means you can be “sensed” by
others, but that puts the work on others.
• Key actions:
– Go from passive to actively open, encouraging
contributions
– Sense how the code is used and what it is combined with
@jameshowison
The ecosystem player
• Funded to build community and to cultivate the work
of others
• Knows their “ecosystem” neighbors
• Actively senses how users use their code (e.g., actively
curating help discussions where ever they occur)
• Has dense project co-memberships (upstream and
downstream)
• Works to synchronize releases with neighbors.
• Key actions:
– Document what you do so that others can learn
– Document the value of what you do!
@jameshowison
Takeaways
• Recombination is a key affordance of software, and it
means that projects exist in a “neighborhood” of
direct and indirect dependencies
• Over time dependencies lead to new kinds of work
– Sensing: knowing what is nearby and how it is changing
– Adjusting: changing to account for nearby changes
– Synchronizing: gathering adjustments in time to avoid
cascades
• If your neighborhood works, someone is doing that
work.
• The way your project organizes its work spreads this
work around your neighborhood.
@jameshowison
Suggested sessions
• Who in this room is in your neighborhood? Grab them and
talk about who does sensing, adjustment and
synchronization?
• Is there scope for a software distribution in our
neighborhood?
• Tell someone a story of epic adjustment work that you did.
– Could it have been avoided? Could it have been shared
with others to avoid them doing it? Did you publicize it?
• Map your neighborhood; especially complementary packages.
• Brainstorm how to sense users better
– Do we concentrate and curate our users’ help discussions?
Do they stackexchange? Can we be more active there?
• How could a funded Software Institute help?
@jameshowison
References
Batcheller, A. L. (2011). Requirements Engineering in Building Climate Science Software. (Ph.D. Dissertation). University of Michigan. Retrieved
from http://deepblue.lib.umich.edu/handle/2027.42/86438
Bietz, M. J., Baumer, E. P., & Lee, C. P. (2010). Synergizing in Cyberinfrastructure Development. Computer Supported Cooperative Work, 19(3-
4), 245–281. http://doi.org/10.1007/s10606-010-9114-y
Borgman, C. L., Wallis, J. C., & Mayernik, M. S. (2012). Who’s Got the Data? Interdependencies in Science and Technology Collaborations.
Computer Supported Cooperative Work (CSCW), 21(6), 485–523. http://doi.org/10.1007/s10606-012-9169-z
Brown, D. A., Brady, P. R., Dietz, A., Cao, J., Johnson, B., & McNabb, J. (2007). A Case Study on the Use of Workflow Technologies for Scientific
Analysis: Gravitational Wave Data Analysis. In I. J. Taylor, E. Deelman, D. B. Gannon, & M. Shields (Eds.), Workflows for e-Science (pp. 39–59).
London: Springer. Retrieved from http://link.springer.com/chapter/10.1007/978-1-84628-757-2_4
Edwards, P. N. (2010). A vast machine computer models, climate data, and the politics of global warming. Cambridge, Mass.: MIT Press.
Retrieved from http://site.ebrary.com/id/10424687
Edwards, P. N., Mayernik, M. S., Batcheller, A. L., Bowker, G. C., & Borgman, C. L. (2011). Science friction: Data, metadata, and collaboration.
Social Studies of Science, 41(5), 667–690. http://doi.org/10.1177/0306312711413314
Goble, C., De Roure, D., & Bechhofer, S. (2013). Accelerating Scientists’ Knowledge Turns. In A. Fred, J. L. G. Dietz, K. Liu, & J. Filipe (Eds.),
Knowledge Discovery, Knowledge Engineering and Knowledge Management (pp. 3–25). Springer Berlin Heidelberg.
Howison, J., Deelman, E., McLennan, M. J., Silva, R. F. da, & Herbsleb, J. D. (2015). Understanding the scientific software ecosystem and its
impact: Current and future measures. Research Evaluation, rvv014(First published online: July 27, 2015), 17 Pages.
http://doi.org/10.1093/reseval/rvv014
Howison, J., & Herbsleb, J. D. (2011). Scientific software production: incentives and collaboration. In Proceedings of the ACM Conference on
Computer Supported Cooperative Work (pp. 513–522). Hangzhou, China. http://doi.org/10.1145/1958824.1958904
Howison, J., & Herbsleb, J. D. (2013). Incentives and Integration in Scientific Software Production. In Proceedings of the 2013 Conference on
Computer Supported Cooperative Work (pp. 459–470). New York, NY, USA: ACM. http://doi.org/10.1145/2441776.2441828
Howison, J., & Herbsleb, J. D. (2014). The sustainability of scientific software production. Working Paper, University of Texas at Austin.
Lee, C. P., Bietz, M. J., Derthick, K., & Paine, D. (2012). A Sociotechnical Exploration of Infrastructural Middleware Development. Presented at
the CSCW.
Segal, J. (2009). Software Development Cultures and Cooperation Problems: A Field Study of the Early Stages of Development of Software for
a Scientific Community. Computer Supported Cooperative Work (CSCW), 18(5), -606. http://doi.org/10.1007/s10606-009-9096-9
Segal, J., & Morris, C. (2008). Developing Scientific Software. IEEE Software, 25(4), 20.
@jameshowison

Weitere ähnliche Inhalte

Was ist angesagt?

Network analysis methods for assessment & measurement
Network analysis methods for assessment & measurementNetwork analysis methods for assessment & measurement
Network analysis methods for assessment & measurementPatti Anklam
 
Semantically-Interlinked Online Communities
Semantically-Interlinked Online CommunitiesSemantically-Interlinked Online Communities
Semantically-Interlinked Online CommunitiesJohn Breslin
 
Social Networks and Computer Science
Social Networks and Computer ScienceSocial Networks and Computer Science
Social Networks and Computer Sciencedragonmeteor
 
CHI2015 - Citizen Science || Zooniverse
CHI2015 - Citizen Science || ZooniverseCHI2015 - Citizen Science || Zooniverse
CHI2015 - Citizen Science || ZooniverseRamine Tinati
 
Blogs and Podcasting
Blogs and PodcastingBlogs and Podcasting
Blogs and PodcastingJohn Breslin
 
Social Semantic (Sensor) Web
Social Semantic (Sensor) WebSocial Semantic (Sensor) Web
Social Semantic (Sensor) WebDavid Crowley
 
Online Communities in Citizen Science & BirdCams
Online Communities in Citizen Science & BirdCamsOnline Communities in Citizen Science & BirdCams
Online Communities in Citizen Science & BirdCamsAndrea Wiggins
 
Open Source, Open Science, & Citizen Science
Open Source, Open Science, & Citizen ScienceOpen Source, Open Science, & Citizen Science
Open Source, Open Science, & Citizen ScienceAndrea Wiggins
 
Crowdsourcing for research libraries
Crowdsourcing for research librariesCrowdsourcing for research libraries
Crowdsourcing for research librariesElena Simperl
 
Challenges in Software Ecosystem Research
Challenges in Software Ecosystem ResearchChallenges in Software Ecosystem Research
Challenges in Software Ecosystem ResearchTom Mens
 
Ona For Community Roundtable
Ona For Community RoundtableOna For Community Roundtable
Ona For Community RoundtablePatti Anklam
 
The “use” of an electronic resource from a social network analysis perspective
The “use” of an electronic resource from a social network analysis perspectiveThe “use” of an electronic resource from a social network analysis perspective
The “use” of an electronic resource from a social network analysis perspectiveMarie Kennedy
 
Online Communities in Citizen Science
Online Communities in Citizen ScienceOnline Communities in Citizen Science
Online Communities in Citizen ScienceAndrea Wiggins
 
Lindner Microcontent Standards 2008
Lindner Microcontent Standards 2008Lindner Microcontent Standards 2008
Lindner Microcontent Standards 2008Lindner Martin
 
Learning in the Microcosmos
Learning in the MicrocosmosLearning in the Microcosmos
Learning in the Microcosmosopenforum
 
IEEE Oxford Presentatie Alfalab 2008
IEEE Oxford Presentatie Alfalab 2008IEEE Oxford Presentatie Alfalab 2008
IEEE Oxford Presentatie Alfalab 2008douwez
 
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
 

Was ist angesagt? (20)

Network analysis methods for assessment & measurement
Network analysis methods for assessment & measurementNetwork analysis methods for assessment & measurement
Network analysis methods for assessment & measurement
 
Semantically-Interlinked Online Communities
Semantically-Interlinked Online CommunitiesSemantically-Interlinked Online Communities
Semantically-Interlinked Online Communities
 
Social Networks and Computer Science
Social Networks and Computer ScienceSocial Networks and Computer Science
Social Networks and Computer Science
 
CHI2015 - Citizen Science || Zooniverse
CHI2015 - Citizen Science || ZooniverseCHI2015 - Citizen Science || Zooniverse
CHI2015 - Citizen Science || Zooniverse
 
Blogs and Podcasting
Blogs and PodcastingBlogs and Podcasting
Blogs and Podcasting
 
Social Semantic (Sensor) Web
Social Semantic (Sensor) WebSocial Semantic (Sensor) Web
Social Semantic (Sensor) Web
 
ISA11 - Mike Kruzeniski - Mobile Now
 ISA11 - Mike Kruzeniski - Mobile Now ISA11 - Mike Kruzeniski - Mobile Now
ISA11 - Mike Kruzeniski - Mobile Now
 
Online Communities in Citizen Science & BirdCams
Online Communities in Citizen Science & BirdCamsOnline Communities in Citizen Science & BirdCams
Online Communities in Citizen Science & BirdCams
 
Open Source, Open Science, & Citizen Science
Open Source, Open Science, & Citizen ScienceOpen Source, Open Science, & Citizen Science
Open Source, Open Science, & Citizen Science
 
Crowdsourcing for research libraries
Crowdsourcing for research librariesCrowdsourcing for research libraries
Crowdsourcing for research libraries
 
Challenges in Software Ecosystem Research
Challenges in Software Ecosystem ResearchChallenges in Software Ecosystem Research
Challenges in Software Ecosystem Research
 
Ona For Community Roundtable
Ona For Community RoundtableOna For Community Roundtable
Ona For Community Roundtable
 
The “use” of an electronic resource from a social network analysis perspective
The “use” of an electronic resource from a social network analysis perspectiveThe “use” of an electronic resource from a social network analysis perspective
The “use” of an electronic resource from a social network analysis perspective
 
Online Communities in Citizen Science
Online Communities in Citizen ScienceOnline Communities in Citizen Science
Online Communities in Citizen Science
 
computer
computercomputer
computer
 
Lindner Microcontent Standards 2008
Lindner Microcontent Standards 2008Lindner Microcontent Standards 2008
Lindner Microcontent Standards 2008
 
Learning in the Microcosmos
Learning in the MicrocosmosLearning in the Microcosmos
Learning in the Microcosmos
 
Network theory
Network theoryNetwork theory
Network theory
 
IEEE Oxford Presentatie Alfalab 2008
IEEE Oxford Presentatie Alfalab 2008IEEE Oxford Presentatie Alfalab 2008
IEEE Oxford Presentatie Alfalab 2008
 
Software Ecosystem Evolution. It's complex!
Software Ecosystem Evolution. It's complex!Software Ecosystem Evolution. It's complex!
Software Ecosystem Evolution. It's complex!
 

Ähnlich wie Howison si2 keynote

Sustainability in Scientific Software: Ecosystem complexity and Software Vis...
Sustainability in Scientific Software:Ecosystem complexityandSoftware Vis...Sustainability in Scientific Software:Ecosystem complexityandSoftware Vis...
Sustainability in Scientific Software: Ecosystem complexity and Software Vis...James Howison
 
Scientific software sustainability and ecosystem complexity
Scientific software sustainability and ecosystem complexityScientific software sustainability and ecosystem complexity
Scientific software sustainability and ecosystem complexityJames Howison
 
POWRR Tools: Lessons learned from an IMLS National Leadership Grant
POWRR Tools: Lessons learned from an IMLS National Leadership GrantPOWRR Tools: Lessons learned from an IMLS National Leadership Grant
POWRR Tools: Lessons learned from an IMLS National Leadership GrantLynne Thomas
 
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
 
Multilevel Collaboration between Software Developers and the Impact of Proxim...
Multilevel Collaboration between Software Developers and the Impact of Proxim...Multilevel Collaboration between Software Developers and the Impact of Proxim...
Multilevel Collaboration between Software Developers and the Impact of Proxim...Dawn Foster
 
National Cheng Kung University
National Cheng Kung University National Cheng Kung University
National Cheng Kung University spikol
 
2016 05 sanger
2016 05 sanger2016 05 sanger
2016 05 sangerChris Dwan
 
IoT and xAPI - ADL Design Cohort xAPIGnome
IoT and xAPI - ADL Design Cohort xAPIGnomeIoT and xAPI - ADL Design Cohort xAPIGnome
IoT and xAPI - ADL Design Cohort xAPIGnomeTorranceLearning
 
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
 
Why Bad Data May Be Your Best Opportunity
Why Bad Data May Be Your Best OpportunityWhy Bad Data May Be Your Best Opportunity
Why Bad Data May Be Your Best OpportunityZach Gardner
 
Tutorial: Social Semantic Web and Crowdsourcing - E. Simperl - ESWC SS 2014
Tutorial: Social Semantic Web and Crowdsourcing - E. Simperl - ESWC SS 2014 Tutorial: Social Semantic Web and Crowdsourcing - E. Simperl - ESWC SS 2014
Tutorial: Social Semantic Web and Crowdsourcing - E. Simperl - ESWC SS 2014 eswcsummerschool
 
Pervasive computing
Pervasive computingPervasive computing
Pervasive computingKelly Zhang
 
What is eScience, and where does it go from here?
What is eScience, and where does it go from here?What is eScience, and where does it go from here?
What is eScience, and where does it go from here?Daniel S. Katz
 
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
 
Shifting Scientific Practice - ORCID 2015
Shifting Scientific Practice - ORCID 2015Shifting Scientific Practice - ORCID 2015
Shifting Scientific Practice - ORCID 2015Kaitlin Thaney
 
Shifting Scientific Practice (K. Thaney)
Shifting Scientific Practice (K. Thaney)Shifting Scientific Practice (K. Thaney)
Shifting Scientific Practice (K. Thaney)ORCID, Inc
 
SRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
SRE Topics with Charity Majors and Liz Fong-Jones of HoneycombSRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
SRE Topics with Charity Majors and Liz Fong-Jones of HoneycombDaniel Zivkovic
 
online news portal system
online news portal systemonline news portal system
online news portal systemArman Ahmed
 
A Typical Understanding Of Distributed Computing
A Typical Understanding Of Distributed ComputingA Typical Understanding Of Distributed Computing
A Typical Understanding Of Distributed ComputingLisa Olive
 
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
 

Ähnlich wie Howison si2 keynote (20)

Sustainability in Scientific Software: Ecosystem complexity and Software Vis...
Sustainability in Scientific Software:Ecosystem complexityandSoftware Vis...Sustainability in Scientific Software:Ecosystem complexityandSoftware Vis...
Sustainability in Scientific Software: Ecosystem complexity and Software Vis...
 
Scientific software sustainability and ecosystem complexity
Scientific software sustainability and ecosystem complexityScientific software sustainability and ecosystem complexity
Scientific software sustainability and ecosystem complexity
 
POWRR Tools: Lessons learned from an IMLS National Leadership Grant
POWRR Tools: Lessons learned from an IMLS National Leadership GrantPOWRR Tools: Lessons learned from an IMLS National Leadership Grant
POWRR Tools: Lessons learned from an IMLS National Leadership Grant
 
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?
 
Multilevel Collaboration between Software Developers and the Impact of Proxim...
Multilevel Collaboration between Software Developers and the Impact of Proxim...Multilevel Collaboration between Software Developers and the Impact of Proxim...
Multilevel Collaboration between Software Developers and the Impact of Proxim...
 
National Cheng Kung University
National Cheng Kung University National Cheng Kung University
National Cheng Kung University
 
2016 05 sanger
2016 05 sanger2016 05 sanger
2016 05 sanger
 
IoT and xAPI - ADL Design Cohort xAPIGnome
IoT and xAPI - ADL Design Cohort xAPIGnomeIoT and xAPI - ADL Design Cohort xAPIGnome
IoT and xAPI - ADL Design Cohort xAPIGnome
 
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...
 
Why Bad Data May Be Your Best Opportunity
Why Bad Data May Be Your Best OpportunityWhy Bad Data May Be Your Best Opportunity
Why Bad Data May Be Your Best Opportunity
 
Tutorial: Social Semantic Web and Crowdsourcing - E. Simperl - ESWC SS 2014
Tutorial: Social Semantic Web and Crowdsourcing - E. Simperl - ESWC SS 2014 Tutorial: Social Semantic Web and Crowdsourcing - E. Simperl - ESWC SS 2014
Tutorial: Social Semantic Web and Crowdsourcing - E. Simperl - ESWC SS 2014
 
Pervasive computing
Pervasive computingPervasive computing
Pervasive computing
 
What is eScience, and where does it go from here?
What is eScience, and where does it go from here?What is eScience, and where does it go from here?
What is eScience, and where does it go from here?
 
Scientific Software Challenges and Community Responses
Scientific Software Challenges and Community ResponsesScientific Software Challenges and Community Responses
Scientific Software Challenges and Community Responses
 
Shifting Scientific Practice - ORCID 2015
Shifting Scientific Practice - ORCID 2015Shifting Scientific Practice - ORCID 2015
Shifting Scientific Practice - ORCID 2015
 
Shifting Scientific Practice (K. Thaney)
Shifting Scientific Practice (K. Thaney)Shifting Scientific Practice (K. Thaney)
Shifting Scientific Practice (K. Thaney)
 
SRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
SRE Topics with Charity Majors and Liz Fong-Jones of HoneycombSRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
SRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
 
online news portal system
online news portal systemonline news portal system
online news portal system
 
A Typical Understanding Of Distributed Computing
A Typical Understanding Of Distributed ComputingA Typical Understanding Of Distributed Computing
A Typical Understanding Of Distributed Computing
 
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...
 

Mehr von James 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
 
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
 
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
 
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
 
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
 
Studying archives of online behavior
Studying archives of online behaviorStudying archives of online behavior
Studying archives of online behaviorJames Howison
 
Howison rutgers-open superposition
Howison rutgers-open superpositionHowison rutgers-open superposition
Howison rutgers-open superpositionJames Howison
 
Howison i conf-transition
Howison i conf-transitionHowison i conf-transition
Howison i conf-transitionJames 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
 
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
 
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
 
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
 

Mehr von James Howison (13)

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
 
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)
 
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...
 
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
 
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
 
Studying archives of online behavior
Studying archives of online behaviorStudying archives of online behavior
Studying archives of online behavior
 
Howison rutgers-open superposition
Howison rutgers-open superpositionHowison rutgers-open superposition
Howison rutgers-open superposition
 
Howison i conf-transition
Howison i conf-transitionHowison i conf-transition
Howison i conf-transition
 
Howison traces
Howison tracesHowison traces
Howison traces
 
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...
 
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...
 
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...
 
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...
 

Kürzlich hochgeladen

eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionsNirav Modi
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageDista
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native BuildpacksVish Abrams
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIIvo Andreev
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Jaydeep Chhasatia
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfBrain Inventory
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdfMeon Technology
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeNeo4j
 
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptWebinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptkinjal48
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxJoão Esperancinha
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampVICTOR MAESTRE RAMIREZ
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntelliSource Technologies
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesShyamsundar Das
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadIvo Andreev
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...OnePlan Solutions
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?AmeliaSmith90
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsJaydeep Chhasatia
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmonyelliciumsolutionspun
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyRaymond Okyere-Forson
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilVICTOR MAESTRE RAMIREZ
 

Kürzlich hochgeladen (20)

eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native Buildpacks
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AI
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdf
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdf
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
 
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptWebinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.ppt
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptx
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptx
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security Challenges
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human Beauty
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
 

Howison si2 keynote

  • 1. Software Ecosystems: Spreading the work around James Howison School of Information University of Texas at Austin (based in part 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), OCI-0943168 (VOSS) and ACI-145348 (CAREER). https://www.flickr.com/photos/mrhayata/6933963596
  • 2. Reuse • Digital information can be copied – High design costs – Ultra-low instantiation costs – Cheap network distribution • Implications: – “Write once, run anywhere” – Everyone gets a car! @jameshowison
  • 3. 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? @jameshowison https://www.flickr.com/phot os/44551921@N04/
  • 4. Today’s questions 1. How does recombination make software work harder? 2. What sort of work needs to be done to cope? 3. How do different ways of working spread that work around? @jameshowison
  • 5. How do scientists use software? v 2.0.1 v 2.0.1 v 2.2.8 Workflow Software assemblage Dependecies Edwards and Batcheller, Deelman, Bietz and Lee, Segal, Olson and Olson, De Roure and Gobels, Ribes and Finholt, Howison and Herbsleb @jameshowison
  • 6. 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
  • 7. 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 and complements. • This work is echoed at component producers, since components are themselves assemblages. @jameshowison
  • 9. What work holds a software ecosystem together (if anything)? • Sensing work – knowing how workflows/software “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
  • 10. Holding things together is hard work But you can’t unlock the potential of cyberinfrastructure without it @jameshowison
  • 11. How is this work spread around? • If your software neighborhood works at all then this work is being done, by someone. In some fashion, not necessarily efficiently. • How does this work happen: – What do we do within our project? – What work do we send to our users? – What work do we send to neighboring projects? @jameshowison
  • 12. What work happens within our project? Challenges • Knowing what each other intended or intends • Choosing dependencies with care and monitoring those projects • Synchronizing our work internally • Knowing who is doing the adjustment work to bring things into alignment Techniques • “Atomic commits” – Small, frequent contributions easier to follow than large “code bombs” • Test suites communicate intentions – A failed integration test is a misunderstanding • Continuous integration can help monitor dependencies – Pull new versions of dependencies and complements @jameshowison
  • 13. What work do we send to our users? Challenges • How do we know: – What users do with our code? – What tools they combine it with? – How and how often they adjust our code (inc. wrappers, pre- processing)? – Where they go for help? – Do we talk to both users and their sys admins? • How do we shape our users use? – Can’t control them, but we can guide them. Techniques • Registration of users • Build use reporting into our software (e.g., Thain, 2006) including reporting complements. • Know “lead-users” but know longer tail as well. • Concentrate, monitor, and curate help discussions. • Documentation can nudge user behavior. @jameshowison
  • 14. What work do we send to neighboring projects? Challenges • Know who we depend on (our upstream) • Know who depends on us (our downstream) • How do they adjust to our changes? Can we synchronize releases? • Is our use of other components visible? • Can we pass our adjustments upstream (saving others time)? Techniques • Be part of upstream and downstream projects (Read lists, attend events, work with their code). Include others in your events. • Can your adjustment work be passed upstream? • Are we the bug reporters that we’d like to have? @jameshowison
  • 15. Different “organizational forms” spread the work out differently 1. The grant startup 2. The “service center” 3. The “merely open” project 4. The ecosystem player @jameshowison
  • 16. The grant startup • A new grant to a lab • An internal team, low external transparency (like a “stealth mode” VC-funded startup) • Experimenting, not wanting to bother others until “it works” • From an ecosystem perspective, this can be very much like one big code dump, pushing sensing, adjustment, and synchronization onto end users and other projects. • Two key actions: – Identify potential users and know what else they use – Exchange people with dependencies and complements @jameshowison
  • 17. The “service center” • “We’re funded to do the work for our users” • Characteristics: – One way code membrane (we release, but don’t take contributions) – A Helpdesk (individual tickets solved in private) • But: the team doesn’t scale to all the sensing, adjustment and synchronization needed • Key actions: – Enroll our users, accept and learn from patches – Take support out into public, leveraging “active users” @jameshowison
  • 18. The “passively open” project • Projects have all the trappings of open source – Open source license – Hosted on github, maybe even Jenkins – Core team might even work in public • Outside contributions are possible, but don’t often occur • Openness at least means you can be “sensed” by others, but that puts the work on others. • Key actions: – Go from passive to actively open, encouraging contributions – Sense how the code is used and what it is combined with @jameshowison
  • 19. The ecosystem player • Funded to build community and to cultivate the work of others • Knows their “ecosystem” neighbors • Actively senses how users use their code (e.g., actively curating help discussions where ever they occur) • Has dense project co-memberships (upstream and downstream) • Works to synchronize releases with neighbors. • Key actions: – Document what you do so that others can learn – Document the value of what you do! @jameshowison
  • 20. Takeaways • Recombination is a key affordance of software, and it means that projects exist in a “neighborhood” of direct and indirect dependencies • Over time dependencies lead to new kinds of work – Sensing: knowing what is nearby and how it is changing – Adjusting: changing to account for nearby changes – Synchronizing: gathering adjustments in time to avoid cascades • If your neighborhood works, someone is doing that work. • The way your project organizes its work spreads this work around your neighborhood. @jameshowison
  • 21. Suggested sessions • Who in this room is in your neighborhood? Grab them and talk about who does sensing, adjustment and synchronization? • Is there scope for a software distribution in our neighborhood? • Tell someone a story of epic adjustment work that you did. – Could it have been avoided? Could it have been shared with others to avoid them doing it? Did you publicize it? • Map your neighborhood; especially complementary packages. • Brainstorm how to sense users better – Do we concentrate and curate our users’ help discussions? Do they stackexchange? Can we be more active there? • How could a funded Software Institute help? @jameshowison
  • 22. References Batcheller, A. L. (2011). Requirements Engineering in Building Climate Science Software. (Ph.D. Dissertation). University of Michigan. Retrieved from http://deepblue.lib.umich.edu/handle/2027.42/86438 Bietz, M. J., Baumer, E. P., & Lee, C. P. (2010). Synergizing in Cyberinfrastructure Development. Computer Supported Cooperative Work, 19(3- 4), 245–281. http://doi.org/10.1007/s10606-010-9114-y Borgman, C. L., Wallis, J. C., & Mayernik, M. S. (2012). Who’s Got the Data? Interdependencies in Science and Technology Collaborations. Computer Supported Cooperative Work (CSCW), 21(6), 485–523. http://doi.org/10.1007/s10606-012-9169-z Brown, D. A., Brady, P. R., Dietz, A., Cao, J., Johnson, B., & McNabb, J. (2007). A Case Study on the Use of Workflow Technologies for Scientific Analysis: Gravitational Wave Data Analysis. In I. J. Taylor, E. Deelman, D. B. Gannon, & M. Shields (Eds.), Workflows for e-Science (pp. 39–59). London: Springer. Retrieved from http://link.springer.com/chapter/10.1007/978-1-84628-757-2_4 Edwards, P. N. (2010). A vast machine computer models, climate data, and the politics of global warming. Cambridge, Mass.: MIT Press. Retrieved from http://site.ebrary.com/id/10424687 Edwards, P. N., Mayernik, M. S., Batcheller, A. L., Bowker, G. C., & Borgman, C. L. (2011). Science friction: Data, metadata, and collaboration. Social Studies of Science, 41(5), 667–690. http://doi.org/10.1177/0306312711413314 Goble, C., De Roure, D., & Bechhofer, S. (2013). Accelerating Scientists’ Knowledge Turns. In A. Fred, J. L. G. Dietz, K. Liu, & J. Filipe (Eds.), Knowledge Discovery, Knowledge Engineering and Knowledge Management (pp. 3–25). Springer Berlin Heidelberg. Howison, J., Deelman, E., McLennan, M. J., Silva, R. F. da, & Herbsleb, J. D. (2015). Understanding the scientific software ecosystem and its impact: Current and future measures. Research Evaluation, rvv014(First published online: July 27, 2015), 17 Pages. http://doi.org/10.1093/reseval/rvv014 Howison, J., & Herbsleb, J. D. (2011). Scientific software production: incentives and collaboration. In Proceedings of the ACM Conference on Computer Supported Cooperative Work (pp. 513–522). Hangzhou, China. http://doi.org/10.1145/1958824.1958904 Howison, J., & Herbsleb, J. D. (2013). Incentives and Integration in Scientific Software Production. In Proceedings of the 2013 Conference on Computer Supported Cooperative Work (pp. 459–470). New York, NY, USA: ACM. http://doi.org/10.1145/2441776.2441828 Howison, J., & Herbsleb, J. D. (2014). The sustainability of scientific software production. Working Paper, University of Texas at Austin. Lee, C. P., Bietz, M. J., Derthick, K., & Paine, D. (2012). A Sociotechnical Exploration of Infrastructural Middleware Development. Presented at the CSCW. Segal, J. (2009). Software Development Cultures and Cooperation Problems: A Field Study of the Early Stages of Development of Software for a Scientific Community. Computer Supported Cooperative Work (CSCW), 18(5), -606. http://doi.org/10.1007/s10606-009-9096-9 Segal, J., & Morris, C. (2008). Developing Scientific Software. IEEE Software, 25(4), 20. @jameshowison

Hinweis der Redaktion

  1. “Everyone gets a car!”
  2. 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).
  3. Picture of assemblages. They pick up the software and adapt and improve it later.
  4. 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
  5. 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.
  6. Exploding the category of maintenance work, from the perspective of a component producer.
  7. End-users: Adjustment and synchronization often pushed to the edges, to end-users doing tiresome, invisible ‘hacking’ to keep themselves working System administrators: Sysadmins play huge, often underappreciated and unnoticed roles.