Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Open Source at Scale Nicola Corti he/him @cortinico i.e. what I’ve learned from one year at React Native

Slide 3

Slide 3 text

he/him Android @ React Native twitter.com/cortinico 
 
 github.com/cortinico 
 
 ncorti.com Nicola Corti

Slide 4

Slide 4 text

LAMP

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Idea Pre-launch Launch Maturity Graduation

Slide 7

Slide 7 text

Idea

Slide 8

Slide 8 text

Hackathon Project

Slide 9

Slide 9 text

Production Level OSS react buck pytorch componentkit docusaurus flipper litho fresco infer

Slide 10

Slide 10 text

Pre-launch

Slide 11

Slide 11 text

We build from source

Slide 12

Slide 12 text

We build from main

Slide 13

Slide 13 text

The Source of Truth fbsource sync

Slide 14

Slide 14 text

The Source of Truth fbsource import commit & close PR github.com/facebook/fbshipit

Slide 15

Slide 15 text

Build Tools • Challenges • Align the frameworks to tools that are not alien in the ecosystem • Expose relevant build failures to contributors

Slide 16

Slide 16 text

Prerequisites • Be able to build both internally and externally • Valuable/Stable CI Signals & Test Coverage • Team onboard with 
 OSS capacity • OSS is a tech & people challenge

Slide 17

Slide 17 text

Launch

Slide 18

Slide 18 text

Live

Slide 19

Slide 19 text

Live

Slide 20

Slide 20 text

Issue Triaging

Slide 21

Slide 21 text

Issue Triaging

Slide 22

Slide 22 text

Issue Triaging • Define a process • Use meaningful labels • actions/github-script to react to labels • actions/stale to close old issues • Canned Responses • reactnative.dev/contributing/bots- reference

Slide 23

Slide 23 text

Self-service APIs • Useful Error Messages • react-native doctor 
 To auto-inspect the user environment • react-native info 
 To auto-inspect the user environment

Slide 24

Slide 24 text

Reproducers • Mandatory reproducers as: • Failing Test cases • react-native init repos • Snack

Slide 25

Slide 25 text

Pull Requests

Slide 26

Slide 26 text

Pull Requests • (again) Define a process • Rotate reviewers (CODEOWNERS) • github.com/danger/danger

Slide 27

Slide 27 text

Pull Requests

Slide 28

Slide 28 text

Maturity

Slide 29

Slide 29 text

Releases

Slide 30

Slide 30 text

Releases Release Captain Release Co-pilot … Release Supporter • Drives the 
 release process • Makes final call on critical decisions • Generally from a partner company • Supports the 
 release process • Helps with comms and testing • Joined as a voluntary program • Helps with early feedback on RCs

Slide 31

Slide 31 text

Releases

Slide 32

Slide 32 text

Releases

Slide 33

Slide 33 text

Releases reactnative.dev/contributing/

Slide 34

Slide 34 text

Migrations

Slide 35

Slide 35 text

Migrations

Slide 36

Slide 36 text

Migrations

Slide 37

Slide 37 text

What does Support mean for you? • You can’t help everyone • How long is a version supported: • Define clear expectations 
 for users and tool developers

Slide 38

Slide 38 text

External Engagement Twitter Conferences Surveys Podcasts

Slide 39

Slide 39 text

External Engagement

Slide 40

Slide 40 text

Internal Engagement

Slide 41

Slide 41 text

Graduation

Slide 42

Slide 42 text

By Organizational Structure of Open Source Projects: A Life Cycle Approach - D. Wynn Introduction Growth Maturity Decline or Revive Adoption

Slide 43

Slide 43 text

Archiving

Slide 44

Slide 44 text

Transfer

Slide 45

Slide 45 text

Idea Pre-launch Launch Maturity Graduation Wrap-up

Slide 46

Slide 46 text

todogroup.org/ • Get a OSPO • Get a CLA process • github.com/todogroup/repolinter • README.md • LICENSE • CONTRIBUTING • CODE-OF-CONDUCT • CHANGELOG

Slide 47

Slide 47 text

“If I have seen further… …it is by standing on the shoulders of Giants” ― Isaac Newton, The Correspondence Of Isaac Newton

Slide 48

Slide 48 text

Nicola Corti @cortinico Thank You & Contribs are Welcome

Slide 49

Slide 49 text

Ecosystem

Slide 50

Slide 50 text

Ecosystem

Slide 51

Slide 51 text

Ecosystem

Slide 52

Slide 52 text

Ecosystem