13
Seven Deadly Sins against Research Software Sustainability Aleksandra Pawlik, NeSI CRI Coding Conference, 2-3rd August 2016, Auckland

Seven Deadly Sins against Research Software Sustainability

Embed Size (px)

Citation preview

Page 1: Seven Deadly Sins against Research Software Sustainability

New Zealand eScience

Infrastructure

Seven Deadly Sins against

Research Software SustainabilityAleksandra Pawlik, NeSI

CRI Coding Conference, 2-3rd August 2016, Auckland

Page 2: Seven Deadly Sins against Research Software Sustainability

New Zealand eScience

Infrastructure

Inspiration

Carole Goble, Professor of Computer Science at the Manchester University, UK

and her keynote talk at Bioinformatics Open Source Conference (BOSC) in Vienna, July 2007

Seven Deadly Sins of Bioinformaticshttp://www.slideshare.net/dullhunk/the-seven-deadly-sins-of-bioinformatics

The traditional sins (according to Wikipedia):

• Lust

• Gluttony

• Greed

• Sloth

• Wrath

• Envy

• Pride

Page 3: Seven Deadly Sins against Research Software Sustainability

New Zealand eScience

Infrastructure

Methodology

1. Email research software project leaders, champions, PIs, and research software engineers

2. Stand well back

3. Collect

4. Merge

5. Examine your

conscience

6. Pledge

Source https://www.linkedin.com/pulse/git-merge-resolving-git-merge-conflict-code-

branches-gaurav-aggarwal

Page 4: Seven Deadly Sins against Research Software Sustainability

New Zealand eScience

Infrastructure

Credits

XSEDE - The Extreme Science and Engineering Discovery Environment Champions

Jeff Pummill

University of ArkansasJames McClure

Virginia Tech

Ketan Maheshwari

University of Pittsburgh

Tim Middelkoop

University of Missouri

Shantenu Jha

Rutgers University

Carole Goble

Professor of Computer Science

CBE FREng FBCS, CITP

University of Manchester

PI on many research software projects

Dana Brunson

Assistant Vice President for Research

Cyberinfrastructure;

Director, High Performance Computing

Center,

Oklahoma State University

Katy Huff

Assistant Professor in the Department of Nuclear, Plasma, and

Radiological Engineering

University of Illinois at Urbana-Champaign

Neil Chue Hong

Director of the Software

Sustainability Institute

University of Edinburgh

Jason Williams

Assistant Director, External

Collaborations

Cold Spring Harbor

Laboratory, DNALC

Page 5: Seven Deadly Sins against Research Software Sustainability

New Zealand eScience

Infrastructure

• “Code which has paths hard coded, or installation “scripts” that depend on very specific systems”

• “Excess number of difficult to manage dependencies”

• “Bundling dependencies, creating an environment full of land mines as applications pick up the wrong version”

• “Thinking 'no one will ever use this' (only to discover that suddenly everyone is)”

Sin #1 Non-portability

Page 6: Seven Deadly Sins against Research Software Sustainability

New Zealand eScience

Infrastructure

• “The only copy of the source in the world is on a 6 year old laptop running Windows XP in safe mode.”

• “Code is in 27 different locations none of which is the same and all have been "modified" in the last month.”

• “Camera shy: code is rarely made available to others to review and run, development is done in secret, versions only made public when "ready"

“Just stick it on GitHub and it will be sustained.”

Sin #2 Inaccessibility

Page 7: Seven Deadly Sins against Research Software Sustainability

New Zealand eScience

Infrastructure

• “Not paying for sustainability or software”

• “There are no free kittens”

• “Failure to give recognition to developers and engineers”

Sin #3 Greed

Page 8: Seven Deadly Sins against Research Software Sustainability

New Zealand eScience

Infrastructure

• “Moving away from simplicity / attempting to solve too many problems.”

• “Thinking that every algorithm/function needs to be fully generalized (forgetting that common simple things should remain simple).”

• “Insisting a 7.25% speedup on a code that runs 0.25 seconds matters”

Sin #4 Gluttony

Page 9: Seven Deadly Sins against Research Software Sustainability

New Zealand eScience

Infrastructure

• “Geek code: the software has been written so that even a researcher who has a good knowledge of programming is unable to understand what's going on”

• “Incompatible: the software is not easy to integrate into existing workflows, or use with common data formats, standards and APIs”

• “Lack of grand vision / big picture / lack of knowledge of the place of software in research”

Sin #5 Obscurity

Page 10: Seven Deadly Sins against Research Software Sustainability

New Zealand eScience

Infrastructure

• “Low test coverage”

• “Poor documentation. Writing good documentation is hard, and nobody seems to do it perfectly”

• “Relying solely on auto-generated documentation”

• “Lack of training for development community. People with no formal training in computing generally are not capable of writing good code. ”

• “Unlicensed: the software has not made clear how and who can use it”

Sin #6 Laziness

Page 11: Seven Deadly Sins against Research Software Sustainability

New Zealand eScience

Infrastructure

• “New users and developers are treated with smug know-it-all responses”

• “Disengaged: the software has made no attempt to grow an active community, or gain champions”

Sustainability needs community uptake

Sin #7 Exclusivity and wrath

Page 12: Seven Deadly Sins against Research Software Sustainability

New Zealand eScience

Infrastructure

• Transparency

• Openness

• Diversity

• Sharing is caring

• Recognition

• Acknowledgment and respect

• Collaboration

Salvation and remission?

Page 13: Seven Deadly Sins against Research Software Sustainability

New Zealand eScience

Infrastructure

Questions?

Thank you!