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

Building Open Source Communities - Lessons Learned

Building Open Source Communities - Lessons Learned

Facebook open sources at scale. This means that we have hundreds of projects and hundreds of engineers working to maintain those projects and keep healthy interactions with hundreds of thousands of community members. We've found that the key to a successful open source project is how the community is nurtured -from building initial trust to bringing in core external contributors. I will go through a few case studies from our projects and guide you through their adventures in building their communities. Tooling, responsiveness, empathy, patience, and transparency are some of the topics I will explore. You should come away with key best practices that you can apply in building your own thriving open source community.

Christine Abernathy

March 30, 2016
Tweet

More Decks by Christine Abernathy

Other Decks in Technology

Transcript

  1. Accelerates innovation We write better software We share our challenges

    Why does Facebook open source? It’s good for the company
  2. #1 Presto Distributed SQL query engine for big data 4.6K

    followers - 1.3K forks - 7K commits - 122 contributors
  3. #1 Presto Distributed SQL query engine for big data 4.6K

    followers - 1.3K forks - 7K commits - 122 contributors
  4. #1 Presto Distributed SQL query engine for big data 4.6K

    followers - 1.3K forks - 7K commits - 122 contributors
  5. #1 Presto Distributed SQL query engine for big data •

    Releases should just work • Design software to eliminate common bugs
  6. #1 Presto Distributed SQL query engine for big data •

    Releases should just work • Design software to eliminate common bugs • Use the same tools as your community
  7. #1 Presto Distributed SQL query engine for big data •

    Releases should just work • Design software to eliminate common bugs • Use the same tools as your community • Keep people informed about pull requests
  8. #2 osquery SQL powered OS instrumentation, monitoring & analytics 5.9K

    followers - 592 forks - 2.9K commits - 83 contributors
  9. #2 osquery SQL powered OS instrumentation, monitoring & analytics 5.9K

    followers - 592 forks - 2.9K commits - 83 contributors Part of a family of Facebook security tools
  10. #2 osquery SQL powered OS instrumentation, monitoring & analytics commit

    73a32b June 30, 2014 “Initial commit” today! Sep 7, 2015 Release day! Oct 28, 2014 5000 followers Apr 1, 2015 First massive external-contributor feature
  11. #2 osquery SQL powered OS instrumentation, monitoring & analytics How

    do we have 5.9K followers on Github with only 83 contributors? “ is this expected? ”
  12. #2 osquery SQL powered OS instrumentation, monitoring & analytics •acpi_tables

    •arp_cache •crontab •file_events •kernel_info •listening_ports •logged_in_users •mounts •pci_devices •processes •routes •shell_history •smbios_tables •suid_bin •system_controls •usb_devices •users •groups •rpm_packages •apt_sources •deb_packages •homebrew_packages •kernel_modules •memory_map •shared_memory •browser_plugins •startup_items most developers and administrators know SQL and will contribute more tables!?
  13. #2 osquery SQL powered OS instrumentation, monitoring & analytics We

    now measure engagement differently! Private trusted communities also contribute, just not using pull requests on Github ❤
  14. #2 osquery SQL powered OS instrumentation, monitoring & analytics CMake

    Thrift C++11 Plugins Modules Extensions SQL Config Logging daemon interactive shell RocksDB LLVM ❤
  15. #2 osquery SQL powered OS instrumentation, monitoring & analytics It

    is OK to focus on a core contributor community! Create a NUX that encourages collaboration and self guides! That may mean tooling to encourage forks
  16. #2 osquery SQL powered OS instrumentation, monitoring & analytics •

    Analyze your community • Optimize for your community’s needs
  17. #2 osquery SQL powered OS instrumentation, monitoring & analytics •

    Analyze your community • Optimize for your community’s needs • Create a great initial experience
  18. #2 osquery SQL powered OS instrumentation, monitoring & analytics •

    Analyze your community • Optimize for your community’s needs • Create a great initial experience • Take time to mentor new contributors
  19. #3 Fresco Image loading library for Android 8.5K followers -

    2.5K forks - 494 commits - 28 contributors
  20. #3 Fresco Image loading library for Android 8.5K followers -

    2.5K forks - 494 commits - 28 contributors 90% reduction loading errors
  21. #3 Fresco Image loading library for Android 8.5K followers -

    2.5K forks - 494 commits - 28 contributors 90% reduction loading errors 73% drop failure rates
  22. #3 Fresco Image loading library for Android • Be prepared

    post-launch • Be prepared for translation
  23. #3 Fresco Image loading library for Android • Be prepared

    post-launch • Be prepared for translation • Build community experts
  24. #3 Fresco Image loading library for Android • Be prepared

    post-launch • Be prepared for translation • Build community experts • Build docs for users and contributors
  25. #4 React Native A framework for building native apps with

    React 29K followers - 5.6K forks - 6.2K commits - 637 contributors
  26. #4 React Native A framework for building native apps with

    React 29K followers - 5.6K forks - 6.2K commits - 637 contributors
  27. #4 React Native A framework for building native apps with

    React 29K followers - 5.6K forks - 6.2K commits - 637 contributors 85% code shared
  28. #4 React Native A framework for building native apps with

    React ! Tooling ! Community ! Communication
  29. #4 React Native A framework for building native apps with

    React • Promote your contributors
  30. #4 React Native A framework for building native apps with

    React • Promote your contributors • Be super responsive and open
  31. #4 React Native A framework for building native apps with

    React • Promote your contributors • Be super responsive and open • Leverage tooling for efficient workflows
  32. #4 React Native A framework for building native apps with

    React • Promote your contributors • Be super responsive and open • Leverage tooling for efficient workflows • Market your project
  33. ! ♥ Create a great initial experience ! Be responsive

    ! Leverage tooling Understand your community
  34. ! ♥ Create a great initial experience ! Be responsive

    ! Leverage tooling ⋆ Motivate, promote, and graduate Understand your community