where indicated slides licensed under
DESCRIPTION
Putting the user back into software sustainability 16 December 2013, Scientific Software Days, Austin Neil Chue Hong (@ npch ), Software Sustainability Institute ORCID: 0000-0002-8876-7606 | [email protected]. Slides: http ://dx.doi.org/10.6084/m9.figshare. 878120. - PowerPoint PPT PresentationTRANSCRIPT
Software Sustainability Institute
www.software.ac.uk
Putting the user back into software sustainability16 December 2013, Scientific Software Days, AustinNeil Chue Hong (@npch), Software Sustainability InstituteORCID: 0000-0002-8876-7606 | [email protected]
Where indicatedslides licensed under
Supported by Project funding from
Slides: http://dx.doi.org/10.6084/m9.figshare.878120
Software Sustainability Institute
www.software.ac.uk
Putting the user back into software sustainability
If I was a crossword compiler…
But I’m not, so this talk is going to draw on my experiences with scientific software
Software Sustainability Institute
www.software.ac.uk
OMII: Sowing the first seeds
11 initial projects funded by Managed Programme
Many projects flourished
But some wilted and decayed
Software Sustainability Institute
www.software.ac.uk
OMII-UK: Cultivating and Nurturing
• Emphasis on helping existing software grow Extra gardeners brought in
(Edinburgh and Manchester) with their own plant stock
Making the garden public through initiatives like Google Summer of Code and ENGAGE
Inviting specialists through the PALs scheme
Cultivate and sustain community software important to research
Software Sustainability Institute
www.software.ac.uk
The Software Sustainability Institute
A national facility for cultivating world-class research through software• Better software enables better research• Software reaches boundaries in its
development cycle that prevent improvement, growth and adoption
• Providing the expertise and services needed to negotiate to the next stage
• Developing the policy and tools tosupport the community developing andusing research software Supported by EPSRC
Grant EP/H043160/1
Better software
Better research
Software Sustainability Institute
www.software.ac.uk
Can we learn?
Picture by Heisenberg Media Picture by PNNLPicture by nengard
Software Sustainability Institute
www.software.ac.ukStartup
companies are all about reaching sustainability
Software Sustainability Institute
www.software.ac.uk
Four stages of startups
Are you solving a problem that others are interested in?
Have you implemented core features that users want?
Can you support new users by refining your processes?
Ready to drive growth.Back-end scalability refactoring
http://blog.startupcompass.co/pages/marmer-stages
Software Sustainability Institute
www.software.ac.uk
Stage 1: Discovery
• Are you solving a problem that others are interested in? Many pieces of software created by researchers
have small user bases – this is particularly true of scripts
Not a problem if you are writing the software for yourself only – but it affects how large the project to support the software can be
Software Sustainability Institute
www.software.ac.uk
Case Study: Ligand Binding
• Centre for Computational Chemistry, Bristol New methods for rapid MC sampling of biomolecular
systems modelled using QM/MM Developed two codes ProtoMS (F77) + Sire (C++) Water-Swap Reaction Coordinate method to calculate
absolute protein-ligand binding free energies• SSI’s work helped assess users + scale devs
Ran user observations with 4 different users ASPIRE/ACQUIRE framework has multiple devs
• Split architecture between ASPIRE (adaptive multiresolution hybrid MD simulation) and ACQUIRE (WorkPacket scheduling system with optimisation for time to result vs “green-ness”
• http://www.software.ac.uk/resources/case-studies/getting-grips-molecules• http://www.siremol.org/adaptive_dynamics
Software Sustainability Institute
www.software.ac.uk
Stage 2: Validation
• Have you implemented core features that users want? Do you know who’s using your software? Why are
they using it? If you asked them “how would you feel if you can
no longer use this software”, how many would be disappointed?
These are your core users: what do they want and how can you give it to them?
Software Sustainability Institute
www.software.ac.uk
Case Study: Climate Policy Modelling
• CIAS team at Tyndall Centre for Climate Change Research, University of East Anglia Develop linked climate and economic models for detailed
analysis Their software was not ready to be used by other groups
• One researcher/developer at UEA, several users
• SSI’s work means the software is robust enough that it can be installed and used by others Enabled use of the software by the WWFN’s Climascope
project and James Cook University• Documented software to allow extensions by contributors• Made it easier to maintain and backup• Added job scheduling to improve modeling throughput• New modelling framework enables new models i.e. new science
• http://www.tyndall.ac.uk/research/cias
Software Sustainability Institute
www.software.ac.uk
Stage 3: Efficiency
• Can you support new users by refining your processes? If you had conflicting requirements from users,
how would you deal with them? What infrastructure changes do you need to make
to support new/additional users? At this point, scientific software projects often start
designating specific community/product managers, user support staff
Software Sustainability Institute
www.software.ac.uk
Case Study: ICAT
• Science and Technology Facilities Council Metadata catalogue, used by RAL UK (ISIS,
DIAMOND, CLF), SNS US, ELLETRA Italy ICAT operationally critical at sites Huge projects looking to use ICAT
(PaNdataODI, EuDAT) Scalability issues and lack of proper processes
• SSI’s work provided 33 recommendations 15 interviews with different stakeholders 92 observations set out in report “…we must focus on doing the right things, and
this report will help us”• Alistair Mills, STFC
Governance and outreach changes to support additional users
• http://www.software.ac.uk/preparing-icat-thousands-new-users• http://www.icatproject.org/
Software Sustainability Institute
www.software.ac.uk
Stage 4: Scale
• Are you ready to drive growth of users, to reengineer and refactor on an ongoing basis? This is when software quality considerations
become very important, as you have increased reputational risk
This is also the point where traditionally a PI would step aside to become Chief Technology Officer / Chief Scientist and enlist new management
• After this, the next stage is sustain Though this might be at a small scale if appropriate
Software Sustainability Institute
www.software.ac.ukOpen source
software projects are all about reaching sustainability
Software Sustainability Institute
www.software.ac.uk
Open Source Software Projects
• “Every good work of software starts by scratching a developer's personal itch.” Eric Raymond, The Cathedral and the Bazaar
• Producers start by having a direct interest in the success of the software Just like in science
• OSS projects need to satisfy two aims: Acquire users (a.k.a. researchers) Acquire contributors (a.k.a. collaborating researchers)
• Producing Open Source Software: How to Run a Successful Free Software Project by Karl Fogel
Software Sustainability Institute
www.software.ac.uk
Using infrastructure to become user aware
Promotion: - websiteCommunication: - mailing list, wikiCollaboration: - code repositoryManagement: - issue tracker
Software Sustainability Institute
www.software.ac.ukScientific
research is all about reaching other researchers
Software Sustainability Institute
www.software.ac.uk
No common baseline
Bhargen Basepair
Bioinformatics RANovice coding in Javaand Perl to test groupspattern algorithms
Helen Helmet
Mech Eng internExploratory codingbased on tinkeringwith legacy code
Fan Fullerene
Chemistry PhDRunning analyseson behalf of hissupervisor
Mehrdad Mapping
Forestry studentField data collectioncurrently correlatingusing Matlab
Slide courtesy of Greg Wilson
Software Sustainability Institute
www.software.ac.uk
The modern researcher…
• … worries about: Data management
and analysis Reproducible
research Scalable simulations Integration of
models and workflows
CollaborationPicture of Otto Stern courtesy of Emilio Segre Visual Archives
Where do they learn how to do this?
Software Sustainability Institute
www.software.ac.uk
Why do you need users?
• Funding Direct: fees, subscriptions, … Indirect funding: letters of support,
citations, collaborations Advertising: recommendations and
referrals• Direction (indirection?)
Requirements, bug reports, change requests
• Community Users supporting other users Users becoming contributors Sustainability and success
Software Sustainability Institute
www.software.ac.uk
4 Golden Rules
- Act Amiably- Breakdown Barriers- Cultivate Contributors- Diaspora + Dispersion
Software Sustainability Institute
www.software.ac.uk
A: Act Amiably
• Bugzilla project did analysis of theircurrent and previous contributors Once someone started contributing, what
kept them around?• Don’t freeze the trunk for long periods• Turnover is inevitable• Respond to contributions immediately• Be extremely kind and visibly appreciative• Encourage a total absence of negativity
Software sustainability relies on many people working happily together!
http://www.codesimplicity.com/post/open-source-community-simplified/
Software Sustainability Institute
www.software.ac.uk
34
B: Breakdown Barriers
• Basics: Website, mailing list, code repository, issue resolution• Remove barriers to participation, increase efficiency
• 1993: First public release; 2 devs• 1995: Code open sourced; 3 devs• 1996: r-testers list set up• 1997: lists split: r-announce, r-help,
r-devel; public CVS; 11 devs• 2000: CRAN split and mirror• 2001: BioConductor• 2003: Namespaces• 2005: I8n, L8n• 2007: R-Forge• Today: BioConductor (33 core devs),
R-Forge (532 projects, 1562 devs), CRAN (1400+ packages)
http://cran.r-project.org/doc/html/interface98-paper/paper_2.html
Software Sustainability Institute
www.software.ac.uk
35
C: Cultivate Contributors
Building intellectual access ramps to support incremental engagement – building capacity and capability
• Individual• Group• Consortium• W/ industry• Community• Active
Teams change as project matures
http://www.castep.org/
Software Sustainability Institute
www.software.ac.uk
D: Diaspora + Dispersion
• Sometimes, serendipity plays a part• E.g. GEOS-CHEM• Users spread across
world means theyhave to scale
• But they also havegreat support andcontributor mechanisms
http://acmg.seas.harvard.edu/geos/
Software Sustainability Institute
www.software.ac.uk
Sustainability is also about choosing not to continue
Softw
are
prol
ifera
tion
Time
CustomisationInnovation Consolidation
Not all software should make it to the next stageConsolidation is as importantas innovation in achievingsustainable scientific software
Software Sustainability Institute
www.software.ac.uk
Take home messageUnderstand and embrace your users and contributors if you want your scientific software to be sustainable and successful
Slides: http://dx.doi.org/10.6084/m9.figshare.878120
Software Sustainability Institute
www.software.ac.uk
Find out more about the SSI
• Community Engagement (Lead: Shoaib Sufi) Fellowship Programme Events and Workshops
• Consultancy (Lead: Steve Crouch) Open Call for Projects / Collaborations Software Evaluation
• Policy and Publicity (Lead: Simon Hettrick) Case Studies / Policy Campaigns Software and Research Blog
• Training (Lead: Aleksandra Pawlik) Software Carpentry (300+ students/year) Guides and Top Tips
• Journal of Open Research Software (Editor: Neil Chue Hong)
• Collaboration between universities of Edinburgh, Manchester, Oxford and SouthamptonSlides: http://dx.doi.org/10.6084/m9.figshare.878120
Software Sustainability Institute
www.software.ac.uk
A national facility for cultivating world-class research through software
Become our next collaborators!Website: www.software.ac.ukEmail: [email protected]: twitter.com/SoftwareSaved
Some of our collaborations