Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Open Source at Scale

Open Source at Scale

"Standing on the shoulders of giants"
We could say the same for Open Source Software (OSS).

Daily we're using a countless number of OSS libraries, tools, and frameworks to build our applications. We rely on the work of contributors, companies, and foundations which are dedicating their time and resources to the Open Source ecosystem.

However, building Open Source Software is not as easy as copy-n-pasting a folder on GitHub. Great Open Source Software needs dedicated resources, top-notch documentation, openness to the community, and a mindset to follow industry trends and directions.
Moreover, releasing OSS as an individual and as a company has deep fundamental differences.

Inside the React Team, we strive to build first-class OSS frameworks, to empower developers across the globe to build elegant UI experiences across Mobile & Web.

In this talk, I'll walk you through my experience building OSS Software, how you can get started, how to get your organization involved, and how to bring your project to success.

Nicola Corti

January 01, 2023
Tweet

More Decks by Nicola Corti

Other Decks in Technology

Transcript

  1. Open Source at Scale Nicola Corti he/him @cortinico i.e. what

    I’ve learned from one year at React Native
  2. Build Tools • Challenges • Align the frameworks to tools

    that are not alien in the ecosystem • Expose relevant build failures to contributors
  3. 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
  4. 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
  5. Self-service APIs • Useful Error Messages • react-native doctor 


    To auto-inspect the user environment • react-native info 
 To auto-inspect the user environment
  6. Pull Requests • (again) Define a process • Rotate reviewers

    (CODEOWNERS) • github.com/danger/danger
  7. 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
  8. 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
  9. By Organizational Structure of Open Source Projects: A Life Cycle

    Approach - D. Wynn Introduction Growth Maturity Decline or Revive Adoption
  10. todogroup.org/ • Get a OSPO • Get a CLA process

    • github.com/todogroup/repolinter • README.md • LICENSE • CONTRIBUTING • CODE-OF-CONDUCT • CHANGELOG
  11. “If I have seen further… …it is by standing on

    the shoulders of Giants” ― Isaac Newton, The Correspondence Of Isaac Newton