1. Research software sustainability requires communities to support development and maintenance over time.
2. Strong communities cultivate relationships between developers, users, and other stakeholders to establish trust and shared responsibility for software.
3. Maintaining communities requires ongoing efforts like change management, skills development, and cultivating relationships that span organizational boundaries. Funders can support these community efforts.
1. Research Software
Sustainability takes a Village
The significance of communities in making
research software sustainable
Professor Carole Goble CBE FREng FBCS
Software Sustainability Institute UK
ELIXIR, ELIXIR-UK Head of Node
The University of Manchester, UK
carole.goble@manchester.ac.uk
https://www.future-of-research-software.org/
International Funders Workshop:
The Future of Research Software 8-9 Nov 2022
https://doi.org/10.5281/zenodo.7304596
2. Research Software, Communities and me
Mostly biomedical and biodiversity communities
Work with organisations concerned
with Research Software sustainability.
Built and sustained a lot
of Research Software.
4. Workflow management systems
Peter Amstutz, Maxim Mikheev, Michael R. Crusoe, Nebojša Tijanić, Samuel Lampa, et al. (2022): Existing Workflow systems. Common Workflow Language wiki, GitHub.
https://s.apache.org/existing-workflow-systems updated 2022-08-30, accessed 2022-08-30.
5. Lots of wheel reinvention?
it’s fun and was funded! Sustainable??
We do need more than
one kind of wheel …
… technical issues,
types of data, analysis,
users, communities ….
Analysis Code
one-off me research
Prototype Tools
research need professorware
Research Software
Infrastructure
professionalised product
Concept: Thanks to Tom Honeyman, ARDC
6. to have a sustainable
future you must create
and sustain a future
workforce that can
develop, support and/or
want to use your software.
Image: It Takes a Village: Open Source Software Sustainability A Guidebook for Programs Serving Cultural and Scientific Heritage February 2018
7. Developers. Who sustain it
Users. Who want it
Researchers.
Infrastructure providers.
Institutions. Project Leaders.
Advocates.
Contributors.
Supporters.
Drivers.
Collective Action and Responsibility
And many others
including funders
8. Sustained workflow systems have communities
the flywheel of sustainable development and customer delight
Support the core activity
• reusability beyond the originators
• driven by research need
• embrace developer and user communities
Build a critical mass to
• innovate and maintain the code
• develop and maintain the community
Varying scales
• from niche/boutique used by friends and family to
production scale de facto used by strangers
Adoption
Sustainability
Image: https://tribe.so/blog/the-community-flywheel/
9. 1. Sense of Community Closeness to Software
Direct
I know and use this code and I will die in a ditch for it
Indirect
This code is used by another code I use … someone else
is looking out for it, right?
Distant
What code is that?
10. Software patchwork: Act Local, Think Global
A web of dependencies, a spectrum of visibility.
https://xkcd.com/2347/
User facing shiny thing
Applications, tools, scripts
Domain specific reusability
Visible - Rocket
Underware
Platforms, infrastructure, libraries
Big codes and little codes
Cross-domain generic reusability
Overly familiar
Invisible – Rocket launcher
11. Community <-> software closeness
Direct, indirect, unconnected to the software use or rely on in supply chain
Biologist
Bioinformatician
Specialised software developer
Platform developer
Library maintainer
Infrastructure provider
Informs the need for funding
12. Trust <-> Sustainability Catch-22
Reciprocity and Values
Levels of guarantee before banking
your research on software.
Users must trust developers - make
software available, usable, reusable &
fit for purpose.
Developers must trust users -
promote, advocate and help sustain it.
Download and Go? No.
Use it or lose it
Contribute to it or lose it
Report using it or lose it
Socialisation
SSI Fellowship programme
13. A Manifesto for Personal Responsibility
June 19 – 24 , 2016, Dagstuhl Perspectives Workshop
16252, https://www.dagstuhl.de/16252
Individuals have to be empowered, incentivized and it becomes normative
develop software as open source right from the start whenever possible.
document my academic software for users with instructions and examples.
package, release and archive versions of my software.
consider and document the sustainability of my research software.
publish how I organize and run my software projects.
match software engineering practices I recommend to the needs and resources of projects.
help scientists improve the quality of their software without passing judgment.
Recognition of academic software
Academic software development processes
Engineering of Academic
Software, I Pledge I Will….
14. Need community engagement,
infrastructure, processes and skills.
Community support, trainers, document
writers, project managers…
Community cultivation & resourcing.
Need access to developers who can take
on sustainability.
Recruits and retention. Incentives for and
pathways to participation
Access to software engineers in and
between organisations.
This illustration is created by Scriberia with The Turing Way community. Used under a CC-BY 4.0 licence
https://zenodo.org/record/6821117#.Y16APuTP2F4, Adapted by Carole Goble
2. Community cultivation
16. Credit: Christopher Woods, Solving the long-term maintenance and funding challenge of research
software by founding the OpenBioSim Community Interest Company, RSECon2022,
https://rsecon2022.society-rse.org/, https://www.youtube.com/watch?v=JuCBQH7pcxU
Research Need for
New Software
Continued Funding
(beyond prototype, fit for purpose)
• Researchers who code, maybe Research Software Engineers
• Added to grants that has that need
• Specific software development grants
• Single or multiple organisations
Community Software Village
• Support - Maintenance, feature development
• Fixing technical debt, porting / packaging
• Research Software Engineering
• Managing community contributions
• Multiple orgs, multiple sources of funds
Research Need for
New Features
17. Community cultivation to stand still, scale up, scale out,
tensioned to scale and depth of user base
Originators
Sustainability Community
Governance, contribution process management, technical
support, developer onboarding, training, developer
documentation, examples, ambassador programmes
User adoption advocacy, user engagement, training, user
onboarding, user documentation, examples, diversification
Invest in social infrastructure
Path finders Highway makers
Community Expertise
18. A complex social system
role diversity and process to grow & thrive not just survive*
*Thanks to Tania Allard for the slogan!
decision making, stakeholder interaction
Community culture
and practices
Policies and
processes
Technical
development
cultural change management
developers and users
19. 3. Change Management
“developer push” -> “community pull”, open source ≠ open development
Share & spread burden
Tackle technical debt and support
Software professionalisation
Share & spread burden
Research need pull
Accelerate spread
Tackle technical debt and support
Contributor exclusion cult
Borrowed labour coordination & uncertainty
Volunteer featuritus
Share & spread burden
User demands & diversity overload
Advocacy. It’s FREE – right?
20. Distance from Home
direct collaborators -> remote users and developers
family
friends
acquaintances
strangers
Reduced expectation to contribute
collaboration &
projects
2004-2020
100Ks of downloads, 100s projects users it
Support distant if enough direct collaborators to
support core development and tech debt.
21. Community cultivation & change mgt is not free
just like software is not free
From project to product.
Productise & professionalise
Multiple projects/orgs
Governance
(adapted from Carbone P., Value Derived from Open Source is a Function of
Maturity Levels) Free/Libre Open Source Software (FLOSS)
Ladder Model of OSS Adoption
22. 4. Communities & resources span boundaries
Organisation X has the money, Organisation Y has the developers
Core funding Fade Community Software Village Multiple independent funding
source coordination
Collaboration considered necessary: software, infrastructure,
expertise exceed institutional & national boundaries and projects
23. Community resourcing spans boundaries
Collaboration essential and needs enabling
Donut funding
Add features,
hide maintenance
Core Funding
Infrastructure grants
Borrowed funding
Research project,
top slice development
Fees, Subscriptions, Donations
Hard to handle cash flows,
especially in universities
Diversification
Spread the risk
In kind labour
Volunteers
Donated by institutions
Hand shake agreements
Direct
resourcing
Indirect
subsidies
24. Workflow sustainability models
all have heavy volunteer participation
Sponsored by institutional lent
labour, national and European
organisations & grant awards
Open development
community sponsored by
the institutions the
developers work in
https://elifesciences.org/labs/d193babe/the-story-of-nextflow-building-a-modern-pipeline-orchestrator
Open source development, Commercial spin out
25. Community not confined to one organisation
Sponsorship – non-project based organisations & societies
National and pan-national initiatives supporting workflow management systems
Institutional organisations Software engineers
Organisations encouraged to
celebrate open source contribution
26. Community not confined to one organisation/project
Social Enterprises: Not for Profits, Foundations, CICs, Fiscal Sponsors
Direct route to channel funds.
• Industry engagement.
• Researchers build costs into research grants.
• Funders direct funds to software actively
used.
Job security and career progression for RSEs.
Long, painful & investment to put together
Pan-national legal & financial complexities
Liability of membership
Viability depends on community size, type and
kick-start seed funding.
Credit: Christopher Woods, Head of Research Software Engineering
Advanced Computing Research Centre, University of Bristol, UK
https://www.youtube.com/watch?v=JuCBQH7pcxU
27. So! Funders are part of the Village
Community support
• Dedicated funds for community cultivation and
change management.
• Help with social enterprise set ups &
governance.
• Support organisations that enable RSEs
Community nudges
• Support wheel reuse rather than reinvention
• Cultivate RSEs in orgs, so funds can be used
• Socialisation that software has to be paid for.
Image: It Takes a Village: Open Source Software Sustainability
A Guidebook for Programs Serving Cultural and Scientific
Heritage February 2018
https://wiki.lyrasis.org/display/ITAV/It+Takes+a+Village+Home
28. So! Funders are part of the Village
Funding flexibility
• Enable collaboration
• Get funds to right staff right place.
• Direct maintenance/support funds to software
researchers actively use.
• Funds to bridge across projects
Recognise software is in an ecosystem
• Support the essential yet invisible. (Chan
Zuckerberg Initiative and Sovereign Tech Fund
Germany)
Recognise that software has a core
• That should be resourced beyond volunteers.
Image: It Takes a Village: Open Source Software Sustainability
A Guidebook for Programs Serving Cultural and Scientific
Heritage February 2018
https://wiki.lyrasis.org/display/ITAV/It+Takes+a+Village+Home
29. Acknowledgements
• Christopher Woods, Head of Research Software Engineering, Advanced Computing Research
Centre, University of Bristol, https://www.youtube.com/watch?v=JuCBQH7pcxU
• Ian Cottam, Ex-Vice President, current Vice Secretary, Society of Research Software Engineering,
https://society-rse.org/
• Tania Allard,Co Director Quansight Labs, https://labs.quansight.org/
• Shoaib Sufi, Community Team Lead, Software Sustainability Institute, UK, https://www.software.ac.uk/
Resources
UK Software Sustainability Institute https://www.software.ac.uk/resources/guides
It Takes a Village: Open Source Software Sustainability A Guidebook for Programs Serving Cultural and Scientific
Heritage February 2018 , https://wiki.lyrasis.org/display/ITAV/It+Takes+a+Village+Home
Icons purchased from Iconfinder https://www.iconfinder.com/
EPSRC EP/S021779/1
Notes de l'éditeur
4. Carole Goble: what is the significance of communities in making research software sustainable?
Assuming that the software is shared and isn’t just for the originator.
https://www.future-of-research-software.org/
To provide for and interact with software to enable it’s development, sustainability and advocacy.
Fellowship has to most influence/impact - it is ambassadorship and cheerleading (hands on - involving training and raising awareness) - (authentic as it's often people from the community doing it for their communities)
Support the core activity
reusability beyond the originators boundary
driven by research need
developer and user communities
Build a critical mass to make space
to innovate and maintain the code
to develop and maintain the community
To varying scales
from niche boutique by friends and family to production scale de facto use by strangers
https://www.hubspot.com/flywheel
Active user and developer communities
That don’t just adopt but sustain the software
supporting the originators
Beyond the originators
popularity
communities of practice
reference workflows
documentation and support
The need to Act local, Think global
Communities can get disconnected from each other and their software.
Their own software vs some third party software
No credit no sustainability.
Different perspectives, Dependency distance
… has a significance for sustainability.
Pre-workshop meeting on software visibility
one persons foreground is anothers background
Socialisation – that software is not free and limited resources and developers that they have a user base
SEE, SHAPE, SUSTAIN
Software has a distinct lifecycle. As software matures the way it is developed, and people’s expectations will change. One of the significant steps occurs when your software becomes a viable product rather than just a project. Indicators of this change include having funding from more than one source, spending a larger proportion of time on support than on new development, having many active users outside your direct collaborators, and having users who are willing to contribute back to your project.
Your software can have a far greater impact if it is made available to the others. But as your software is used further and further from home, you need to consider how to interact with the users of your software.
Complexity of system, ranges of roles need supports
Support staff derogitory, the village
Users, developers, everyone else
Social technical, socialisation
Not all software should be sustained
From gift to pay
codes of conduct
Can support the distant users if have enough resources through direct collaborations
Core development centralised. User complacency
Community Engagement
Can support the distant users if have enough resources through direct collaborations.
Pulls in all directions
How can and do communities practically contribute to sustainability?
Declaration: “P4: Research software sustainability requires collaboration between public and private partners on a global scale because research software is embedded in larger webs of dependencies – of software, infrastructure, expertise – that exceed institutional and national boundaries”
All are open development and all have vibrant and passionate communities
Open source and open science ethos.
https://investinopen.org/research/