Talk inspired by Carole Goble's 7 Deadly Sins of Bioinformatics identifies the main issues with research software sustainability.
1 of 13
Downloaded 11 times
More Related Content
Seven Deadly Sins against Research Software Sustainability
1. New Zealand eScience
Infrastructure
Seven Deadly Sins against
Research Software Sustainability
Aleksandra Pawlik, NeSI
CRI Coding Conference, 2-3rd August 2016, Auckland
2. 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 Bioinformatics
http://www.slideshare.net/dullhunk/the-seven-deadly-sins-of-bioinformatics
The traditional sins (according to Wikipedia):
? Lust
? Gluttony
? Greed
? Sloth
? Wrath
? Envy
? Pride
3. 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
4. New Zealand eScience
Infrastructure
Credits
XSEDE - The Extreme Science and Engineering Discovery Environment Champions
Jeff Pummill
University of Arkansas
James 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
5. 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
6. 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
7. 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
8. 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
9. 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
10. 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
11. 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
12. New Zealand eScience
Infrastructure
? Transparency
? Openness
? Diversity
? Sharing is caring
? Recognition
? Acknowledgment and respect
? Collaboration
Salvation and remission?