How to enable and sustain thriving Open Source Ecosystems (OSE)

How to enable and sustain thriving Open Source Ecosystems (OSE)

Karthik Ram

Use arrows or touch gestures to navigate slide deck

1. The Research software landscape has come a long way...

Software impacts all modern research

If I was giving this talk several years ago, I might have said that research software impacts most fields of research. But lately, it is hard to think of one where software does not play a significant role.

Compared to a decade ago

it is much easier to develop software, find support & community, and not explain what an RSE means.

But things are far from ideal

i
It's still very hard to demonstrate the impact of software

JOSS is great but it is a stop gap

An SBOM might be more valuable

Especially when it allows us to assign transitive credit

ii
There is a lot of support for creating software, but very little to sustain them after reaching product market fit

 

Analysis code

Prototype SW

Research SWI

Ones that find product-market fit

A few with generalities make it over to a prototype

Software projects that need to think about sustainability

Analysis code

Prototype SW

Research SWI

2. ecosystem versus Ecosystem

the various actors (people),
and institutions (such as host
organizations, funders, and
infrastructure providers) that
enable you to function

Big ecosystem

e is the flow of
information through
dependencies

Local ecosystem

Dependency based

Data/Information flow based

An opportunity to
coordinate roadmaps,
resources, form a
collection

Can distinguish between a paper using the software versus announcing it

Counts mentions + context

We can construct a knowledge graph out of these data

Extracted software entities + dependency graph

the various actors (people),
and institutions (such as host
organizations, funders, and
infrastructure providers) that
enable you to function

Big ecosystem

E are the people and institutions that support your technical work

Bottleneck could be bad governance

e & E

need to be in harmony to achieve sustainability

3. There is a lot of momentum around sustainability

What does sustainability mean in the context of software?

Software you use today will be available - and continue to be improved and supported - in the future”
 

UK SSI

Sustainability refers to “qualities of availability, extensibility, and the maintainability of the software”
 

Venters et al  2014

Software is sustainable as long as the people behind it have the resources to continue fulfilling its mission
 

My definition

So what are the various dimensions of software sustainability?

5 areas
Org structure,
Governance,   
Business Perspectives,

Community,
Project health

4. You need to understand your community

Yes, it is an overextended term

Think about who you support

Users, contributors, or both

High user growth

Low user growth

High contributor growth

Low contributor growth

FEDERATION

CLUB

STADIUM

TOY

In the early days, our core team built software for researchers

Early days of engaging with our community

Then we began accepting contributions.  But 1:1 took a lot of time & effort

Inbound Contributions

The rOpenSci Dev Guide

Best practices for software development documented in a living book

Created a system to peer-review software

Creating a process for standardized peer-review

Became inspiration for The Journal of Open Source Software & PyOpenSci

Automation

 

+

 

human review

 

Ignores conversations between humans

Jump in when called

Perform <actions>

 

return <output>

Enabling others to set up & host their own communities

Built r-universe, a system that allows any community to easily set up their own rOpenSci

r-universe allows other COPs to have their own infrastructure

r-universe is like a
combination of a
journal +  preprint service

CSCCE Collaboration Model

Convey, Consume

Contribute

Collaborate

Co-Create

Theory of Change

Open source was hard
UX became better
COPs emerged
Credit e.g. JOSS
OSPOs & Open Source Policy

Maintainers need support

Software is more about people
than just a collection of
technical tools

Elevate non-
technical
contributions

At rOpenSci we use special metadata fields to elevate other contributions

 

4868 Author
4800 Creator
1531 Contributor
769 Copyright holder
117 Thesis advisor
53 Translator
38 Funder
31 Data Contributor
14 Compiler
13 Contractor
11 Reviewer
1 Analyst
1 Conceptor
1 Researcher

Metrics from trace data can help COPs

CHAOSS Metrics

CHAOSS Metrics

Success

Sustainability

Risk

Health

# Contributors, Users, Developers, Diversity, Growth and social diversity, openness index…

Quality model, Development base, size of niche, financial resources, resilience, relationships among people

Bus factor, Truck factor, Elephant factor…

Social health, Gender bias, Positive experience, Robustness, Productivity

To date, there aren't any canonical set of metrics that are characteristic of open source project health

Users

Contributors

Maintainers

For projects that can be classified as a federation, it’s important to enable pathways that guide people through the journey of user, casual contributor, to maintainer.

5. Security considerations are important

Can be technical or social threats

Most technical  risks can be managed

The rest  are social like governance

When all else fails
sunset a project safely
and responsibly

Coordinate efforts

If you're a COP

Support your community in identifying bottlenecks that get in the way of growth and sustainability

Find your bottlenecks

Ecosystem level support

bit.ly/csv2023