3. Software Sustainability Institute
www.software.ac.uk
UK e-Science Programme:
Preparing the Ground
• “e-Science is about global
collaboration in key areas
of science, and the next
generation of
infrastructure that will
enable it”
John Taylor, D-G RCUK
• e-Science Centres
• e-Science Pilot Projects
4. 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
OMII setup to harvest and maintain software
output of UK e-Science Core Programme
5. 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
6. Software Sustainability Institute
www.software.ac.uk
Software Sustainability
Institute: pruning, staking,
grafting
• Working with research software
users and developers
Helping review and refactor
Providing support and skills
Identifying areas of convergence
• Producing strong, capable
software able to live long
and be successfully built on
9. Software Sustainability Institute
www.software.ac.uk
… and yet …
• “Sustainability is not an issue for researchers,
we want others to take the software over
subject to IP issues”
• “Sustainability is a big issue, we are producing
complex tools we want to continue to use but
it’s not clear how they’ll be sustained”
Quotes taken from ENGAGE interviews
10. Software Sustainability Institute
www.software.ac.uk
Just the Nature of the problem?
Maintenance is not fun
Hacking is fun
Statistics courtesy of Greg Wilson, Software Carpentry, from Nature article
Published online 13 October 2010 | Nature 467, 775-777 (2010)
doi:10.1038/467775a
11. Software Sustainability Institute
www.software.ac.uk
A quick comparison
• Basic training for
kitchen chef: 3-4 years
• Head chef: 10 years
• Basic training for s/w
engineer: 3-4 years
• Architect: 10 years
PhotobyZagatBuzz
• Training in S/W Dev in UG Physics: 140 hours
• Training in S/W Dev in UG Geography: 0 hours
12. Software Sustainability Institute
www.software.ac.uk
Software development
comes in stages
• Bridging criteria: strength of team; strength of
market; proximity of software to market
Idea Prototype Research
Idea Prototype
Idea
Idea Prototype Research Supported Product
Idea Prototype Research Supported
An idea to solve a problem
Scaling to work for others
Understand the functionality
Allow others
to participate
13. Software Sustainability Institute
www.software.ac.uk
e-Research is multidisciplinary,
timescales don’t synchronise
14
Gap in Interest?
Cutting Edge Research
Applied Research
Timescales vary:
-ARIES (1989 – 1994)
-Giant Magnetoresistance (1988 – 1999)
-Frequency Hopping (1903/1942 – 1976)
-Bayesian statistics (1763 – 1996)
22. Software Sustainability Institute
www.software.ac.uk
The Zombie Effect
• Software not always fully alive
when you reanimate it!
• Complex set of dependencies
Significant Properties of Software
Purposes and benefits of
software preservation
http://www.jisc.ac.uk/media/documents/
programmes/preservation/significantpro
pertiesofsoftware-final.doc
http://softwarepreservation.jiscinvolve.org/wp/
25. Software Sustainability Institute
www.software.ac.uk
Free as in Puppy...
• Long term costs
• Needs love and
attention
• May lose charm
after growing up
• Occasional clean-
ups required
• Many left
abandoned by their
owners
Inspired by Scott McNealy
Photos of Great Pyrenees from Jen Schopf
27. Software Sustainability Institute
www.software.ac.uk
Exploiting software for
sustainability
Models
• Grant Mosaic
• Institutional support
• Fully Costed Service
• External Enterprise /
Consultancy
• Royalties and Fees
• Donations
• Advertising
• T-shirt (spinoff
merchandising)
Vehicles
University based
Spin out company
Consultancy and
Customisation
Industrial knowledge transfer
Contracts
Licensing
Certification
Support services / training
Software as a Service
Software Foundation
28. Software Sustainability Institute
www.software.ac.uk
Software sustainability
is part of the process
• Comparable to risk management
No one right “solution” but many examples of best
practice and process
• Plan from before the start if possible
But must be reviewed regularly
• No longer considering timescales bounded by a
project, but considering the product
31. Software Sustainability Institute
www.software.ac.uk
Sustainable Communities
• Cohesion and Identity: Creating
a community
• Tolerance and Diversity: Smart
growth through collaboration
• Efficient use of resources:
Leveraging infrastructure
• Adaptability to change:
Governing sustainably
33. Software Sustainability Institute
www.software.ac.uk
B: Build Community
Building intellectual access ramps to support incremental
engagement – building capacity and capability
•Individual
•Group
•Consortium
•W/ industry
•Community
•Active
Teams change as
project matures
35http://www.castep.org/
34. Software Sustainability Institute
www.software.ac.uk
C: Cultivate Contributors
• 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)
36
http://cran.r-project.org/doc/html/interface98-paper/paper_2.html
36. Software Sustainability Institute
www.software.ac.uk
The Software Maturity Curve
Softwareproliferation
Time
CustomisationInnovation Consolidation
Portals
Quantum
chemistry
Cloud
Computing
RDBMS
Social
Simulation
Workflows
Spatio-
Temporal
viz
Molecular
Dynamics
Geospatial
viz
Digitised
Doc Analysis
Digital
repositories
37. Software Sustainability Institute
www.software.ac.uk
Enabling Innovation
• Supporting emergent disciplines
Needs recognition of innovative software development
as part of funding
• Breaking down barriers
We cannot assume that the way people interact with
resources will conform to expectations
e.g. researchers will use/store files outside of universities
Researchers will do whatever they can to get an edge –
they will not always conform
We need to understand the relationship between e-
Research and e-learning frameworks (VREs/VLEs?)
38. Software Sustainability Institute
www.software.ac.uk
Supporting Consolidation
• “e-Science is an organic, emergent process requiring ongoing, coordinated
investment from multiple funders and coordinated action by multiple
research and infrastructure communities. It is both an enabler of research
and an object of research” – RCUK Review of e-Science
• Bridging the expectation gaps between participants
Maintenance vs. research
Different timescales for “exciting” work
• Well supported open platforms are the key in the age of
the research mashup
Platforms to enable bottom-up innovation
Platforms to enable citizen participation
Competition/innovation built on top c.f. industry
39. Software Sustainability Institute
www.software.ac.uk
Sustaining Customisation
• “The time constants for real transformative impact and
significant competitive advantage is decades” – RCUK
Review of e-Science
• Sustain software infrastructure in the long term
Differing models: through centres; within institutions;
distributed
• Need to change perceptions so that software is seen as
valuable! (and not just invaluable)
• Lower barriers to community growth and participation
• Increase value of providing services
• Virtually merge + map small amounts of effort / funding
40. Software Sustainability Institute
www.software.ac.uk
Case Study: NeISS
• Evaluate impact of traffic control
measures over next 5/10/15 years
• Access baseline demographic data
about the city
• Execute simulation of traffic
system and population
• Visualise simulation outputs
• Augment with new forms of data
• Run dynamic models to assess
future patterns (congestion,
health, social inequality)
44. Software Sustainability Institute
www.software.ac.uk
This is where YOU come in
• Research credit is based on publication output
• Data citations and credit for reuse are still not
commonplace
• Software credit is the next stage
Otherwise how can we persuade people to
contribute back?
• YOU are the researchers, developers, providers
and funders… YOU can make it happen!
46. Software Sustainability Institute
www.software.ac.uk
In conclusion
• Software Sustainability is not easy, but it is
possible
• Build it into the process and build the right teams
• Three key things to remember:
ANALYSE CUSTOMERS
BUILD COMMUNITY
CULTIVATE CONTRIBUTORS
• We need to give credit so people contribute back
47. Software Sustainability Institute
www.software.ac.uk
A National Facility
for Research Software
Become our next collaborators!
Email: info@software.ac.uk
Blog: http://www.software.ac.uk/blog
Twitter: twitter.com/SoftwareSaved
SlideShare: slideshare.net/SoftwareSaved
YouTube: youtube.com/user/SoftwareSaved
Telephone: +44 (0) 131 650 5030
Pilot collaborators:
• Fusion
Energy
• Climate
Policy
• Geospatial
Linked Data
• Crystal
Structure
• Brain
Imaging
• Scholarly
Journals
Editor's Notes
Abstract:
e-Research has come of age - it is no longer a raucous teenager but a
young professional. With this comes a greater responsibility for its
future, and the requirement to care for the next generation of
e-Researchers. In particular, the software which has been developed to
support e-Research needs to be properly cultivated otherwise the time
and money invested in its development is wasted. With this level of
importance placed on software sustainability, it is no surprise that a
number of barriers have sprung up around how to achieve it and in
particular the requirement to change existing ingrained practices can
be hard to sell.
Software sustainability in the e-Research community must balance many
opposing concerns: the effort spent on maintenance rather than
research, conflicting requirements over increasing users, and the
ability to enable reproducible and reusable research. This talk will
cover the different purposes, benefits and approaches to software
preservation and sustainability, looking at common practices and
pitfalls, stories and successes as observed by the UK's Software
Sustainability Institute.
However we are faced with new challenges with a direct bearing on the general public, in areas such as environmental change, transport systems, biodiversity, personal health and medicine
Managed Programme gave money to address gaps
Many projects flourished (such as GridSAM, the Application Hosting Environment from RealityGrid and BPEL Designer), but some wilted and faded away.
8 projects with multiple international contributors through SF/CPAN/PyPl
With the SSI we have reached a new stage where we are working to support all the current gardeners who are already out there.
So, why do we still need this?
JournalTOCS largest collection of TOCs from major publication
Even those who create prototypes will assume they will rewrite the software
Facts:
Average length of time Software development taught to different people
Chef analogy
Not everyone becomes a master chef, but you need everyone in the kitchen to make the restaurant work
Examples from software:
Technical authorities
Architects
Audience exercises:
Design patterns
Development Models
Statistics from Greg Wilson
Are academics software developers?
Can research consortia manage production?
Are timing constraints different?
What is the role of the PI in software development management?
Are the skills for software and research the same?
Facts:
Average length of time to become an architect: 7 years
Average length of time Software development taught to different people
Chef analogy
Not everyone becomes a master chef, but you need everyone in the kitchen to make the restaurant work
Examples from software:
Technical authorities
Architects
Audience exercises:
Design patterns
Development Models
No one sets out to make a bad piece of software
Frequency Hopping Spread Spectrum (Hedy Lamarr) originally using a piano roll, Nikola Tesla for controlling boats
The main point is that apart from relatively straightforward HCI-type usability there is not much that social scientists have come up with that is practically useful for technologists. The solutions IMHO lies in a more routine involvement of people with social science skills (not social scientists themselves) in design work, which probably requires us to develop career structures for people with hybrid skills. There are some wonderful examples of how this can help to address some of the issues we talk about in the paper, going back to the work we did with Marina Jirotka on eDiaMoND (as a both a positive and a negative example) and is also present in the work of Monika Buscher from Lancaster.IMDB
Flickr, seti@home->boinc
Is it more important to sustain the software that this workflow references, or the workflow itself?
Is it more important to sustain the software used to create this map, or the data that makes it available?
The map is unique and only useful for one point.
This story has an unhappy end – the Kongo Gumi temple builders went bust in 2006 bringing to an end the longest running family business in the world (est 568!)
The ancient Pharoah’s of Egypt believed that they could preserve the physical manifestations of their lives and so enter into the eternal afterlife as God
Both mummies are held in the British museum.
The so called curse of the pharoah’s is said to have killed those that disturbed the Pharoahs’ sleep
However the curse might be better applied to the Pharoah himself, as eternal decay is not the same as eternal life.
Storage lifetime of an apple is ~12 months, which is about the same as software!
Purposes for software preservations
Achieve legal compliance
Create heritage value
Enable continued access to data
Encourage software reuse
Manage systems and services
Scott McNealy coined the phrase
How does software sustainability fit within context of software engineering, community engagement, project management, funding
What are the external factors like change in effort, timelines and deadlines, licensing, step changes in product development
Tools –Signal Data Explorer (SDE)
We developed SDE which is now being used:
In CARMEN –neuroscience tools and data sharing
In BROADEN and in Rolls-Royce
We exploited SDE through Cybula Ltd.
Being used on trains
Started to sell out of the box system
CAStep: keeping up with the community
Allowing people to move makes it easier to bridge gaps as you have a chance of creating common communication structures
Update slide for surveymapper?
Update slide for surveymapper?
Drawing on pool of specialists to drive the continued improvement and impact of research software developed by and for researchers
Become our next collaborator – email info@software.ac.uk
Molecules will adopt different structures, these structures may dissolve in different ways: polymorphism
Dosage profile for drugs