Slide 1

Slide 1 text

Building and Supporting Open Source Communities Through Metrics Open Source Summit Europe ‘22 Georg Link and Emilio Galeano

Slide 2

Slide 2 text

At the core of open source we care about using, sharing and collaborating

Slide 3

Slide 3 text

58% of software in Enterprises is open source 63% of companies want to increase their use Source: TODO Group Survey 2021

Slide 4

Slide 4 text

● The heartbleed incident ● The Struts/Equifax debacle ● The Log4j security vulnerability

Slide 5

Slide 5 text

The Mozilla Foundation released a report in 2019 on the different types of open source projects How can we solve these problems?

Slide 6

Slide 6 text

using metrics when building and supporting open source projects

Slide 7

Slide 7 text

● More than 15 years of experience ● Maintains the open source GrimoireLab metrics tools ● Official Metrics Partner of OpenInfra and NumFOCUS foundations ● Co-founded the CHAOSS project in 2017

Slide 8

Slide 8 text

Metrics in the Framework

Slide 9

Slide 9 text

Metrics in the CHAOSS framework Common Metrics Diversity, Equity, & Inclusion Metrics Value Metrics Evolution Metrics Risk Metrics https://chaoss.community/metrics/

Slide 10

Slide 10 text

Metrics in the CHAOSS framework Common Metrics Diversity, Equity, & Inclusion Metrics Value Metrics Evolution Metrics Risk Metrics https://chaoss.community/metrics/ ● Understand what contributions from organizations and people are being made. ● With focus areas such as Contributions, Time, People, Place ● Type of Contributions: we can measure the types of contributions are being made

Slide 11

Slide 11 text

● Identify the degree to which a project is valuable to researchers and academic institutions. ● Academic, communal, individual and organizational value. ● Project Velocity: with we can find What is the development speed for an organization? Metrics in the CHAOSS framework https://chaoss.community/metrics/ Common Metrics Diversity, Equity, & Inclusion Metrics Value Metrics Evolution Metrics Risk Metrics

Slide 12

Slide 12 text

● How the source code changes over time, mechanisms that the project has to perform and control changes. ● Code Development Activity, Efficiency, Process Quality, Issue Resolution and Community Growth ● New Contributors: How many contributors are making their first contribution to a given project and who are they? Metrics in the CHAOSS framework https://chaoss.community/metrics/ Common Metrics Diversity, Equity, & Inclusion Metrics Value Metrics Evolution Metrics Risk Metrics

Slide 13

Slide 13 text

Metrics in the CHAOSS framework https://chaoss.community/metrics/ ● Identify the diversity, equity, and inclusion aspects at events. ● Event diversity, Governance, leadership, and project and community. ● Time Inclusion for Virtual Events: organizers be mindful of attendees and speakers in other time zones Common Metrics Diversity, Equity, & Inclusion Metrics Value Metrics Evolution Metrics Risk Metrics

Slide 14

Slide 14 text

Metrics in the CHAOSS framework https://chaoss.community/metrics/ ● Understand how active a community exists around/to support a given software package. ● Business risk, code quality, Dependency Risk Assessment, Licensing and Security. ● Elephant Factor: with we can measure What is the distribution of work in the community? Common Metrics Diversity, Equity, & Inclusion Metrics Value Metrics Evolution Metrics Risk Metrics

Slide 15

Slide 15 text

Metrics: how to interpret them

Slide 16

Slide 16 text

New Contributors & Contributions An increase or decline in new contributors and contributions can be an early indicator of community health.

Slide 17

Slide 17 text

New Contributors https://www.mautic.org/blog/community/q1-2020-mautic-community-round

Slide 18

Slide 18 text

New Contributors https://www.mautic.org/blog/community/q1-2020-mautic-community-round

Slide 19

Slide 19 text

Growth in overall contributions https://www.mautic.org/blog/community/q1-2020-mautic-community-round

Slide 20

Slide 20 text

Foundation for community growth https://www.mautic.org/blog/community/q1-2020-mautic-community-round Report Conclusion: Q1 2020 has been a busy one in the Mautic Community. A lot of positive steps have been taken to establish a solid foundation for growth. Teams are becoming more proactive and processes are being established which helps the community to function more effectively. We have seen, as a result, a significant increase in engagement and have welcomed new contributors to the project as a result.

Slide 21

Slide 21 text

Organizational Diversity Organizational diversity expresses how many different organizations are involved in a project.

Slide 22

Slide 22 text

Organizational Diversity https://dri.es/who-sponsors-drupal-development-2020

Slide 23

Slide 23 text

Contributions by Organizations Who is making contributions? https://katacontainers.biterg.io/

Slide 24

Slide 24 text

Change Requests Change requests are intended to be reviewed by other developers, who may suggest improvements. ● Pull Request (GitHub) ● Merge Request (GitLab) ● Changeset (Gerrit)

Slide 25

Slide 25 text

StarlingX Change Request Duration https://starlingx.biterg.io/

Slide 26

Slide 26 text

StarlingX Change Request Duration https://starlingx.biterg.io/

Slide 27

Slide 27 text

StarlingX Change Request Duration https://starlingx.biterg.io/

Slide 28

Slide 28 text

Organizational and Technical Challenges

Slide 29

Slide 29 text

image goes here Organizational Challenges ➔ Deciding on the right metrics ➔ Knowing what to do about metrics ➔ Knowing what is good and bad ➔ PII* concerns *Personally identifiable information (PII) uses data to confirm an individual's identity.

Slide 30

Slide 30 text

image goes here Technical Challenges Where is the data? ➢ Git ➢ GitHub ➢ GitLab ➢ BitBucket ➢ Jira ➢ Gerrit ➢ Confluence ➢ …

Slide 31

Slide 31 text

image goes here Technical Challenges Where is the community? ➢ Wiki ➢ Discourse ➢ Mailing List ➢ IRC ➢ Slack ➢ Meetup.com ➢ StackOverflow ➢ …

Slide 32

Slide 32 text

image goes here How to get the data Raw data: ● Get data from data sources Enriched data: ● Unify data ● Manage identities ● Calculate metrics Useful data: ● Visualize, report

Slide 33

Slide 33 text

image goes here Raw data ➔ Easiest step ➔ Query logs ➔ Use APIs Challenge: Changing APIs and data formats

Slide 34

Slide 34 text

image goes here Enriched data ➔ Unify data ➔ Manage identities ➔ Calculate metrics ● Date formats ● Level of detail ● Metadata about different contributions ● Convert everything into the desired database structure

Slide 35

Slide 35 text

image goes here ➔ Unify data Enriched data ➔ Manage identities ➔ Calculate metrics ● Who is who in the community ● Who do contributors work for (now and before) ● Different usernames and email ● Assigning contributions to the correct person

Slide 36

Slide 36 text

image goes here ➔ Calculate metrics Enriched data ➔ Unify data ➔ Manage identities ● Primary metrics - summarizing original data ● Secondary metrics ○ Calculation from different data fields ○ Combining data from different data sources ○ Value judgements on data - e.g., quality models

Slide 37

Slide 37 text

image goes here Useful data ➔ Who is the data user? ➔ How should the data be presented? ➔ What visualizations are most meaningful? ➔ What story does the data tell?

Slide 38

Slide 38 text

image goes here Technical Solutions OSS Solutions ● CHAOSS GrimoireLab ○ Cauldron.io ● CHAOSS Augur ● Apache Kibble ● CNCF Dev Analytics GrimoireLab cauldron.io

Slide 39

Slide 39 text

Summary: Lessons learned

Slide 40

Slide 40 text

Lessons learned Summary ➔ Use metrics ➔ Track metrics early ➔ Start with easy to get metrics ➔ Present metrics in context ➔ Be transparent with the community

Slide 41

Slide 41 text

Georg Link Questions? Let’s Connect! Emilio Galeano [email protected] Georg Link @georglink [email protected] Emilio Galeano BOOTH LOCATION B24

Slide 42

Slide 42 text

Thank You!