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

Open Source At Facebook And Beyond - All Things Open 2014

Open Source At Facebook And Beyond - All Things Open 2014

In 2013, Facebook rebooted its open source portfolio and launched a unique suite of internal tools & instrumentation to support hundreds of repos, thousands of engineers, and tens of thousands of contributors. How did we do? And how can we share what we learned with other companies looking to run open source programs at scale?

D7826ab49f74589fcada00cb92e5ede7?s=128

James Pearce

October 23, 2014
Tweet

Transcript

  1. Open Source at Facebook
 And Beyond JAMES PEARCE
 @jamespearce

  2. None
  3. None
  4. 211 Projects 10+ MLoC 118k Followers
 21k Forks

  5. None
  6. USE SCALE IMPROVE REPLACE RELEASE

  7. None
  8. Open source is like 
 the breeze from 
 an

    open window
  9. But…

  10. None
  11. None
  12. None
  13. None
  14. None
  15. None
  16. None
  17. Every repo Every commit Every pull request Every issue

  18. [opensource]>  select  
              

                 name,  followers,  forks,  commits,  issues,  pull_requests  
                            from  github_repos  order  by  created_at  limit  10;
 +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   |  name                        |  followers  |  forks  |  commits  |  issues  |  pull_requests  |   +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   |  memcached              |              323  |        53  |          209  |            1  |                          0  |   |  three20                  |            7429  |    1521  |        1680  |        200  |                          0  |   |  platform                |              146  |        31  |          310  |            2  |                          0  |   |  bunny1                    |                43  |        15  |            10  |            0  |                          0  |   |  phpembed                |              132  |        26  |            31  |            1  |                          0  |   |  codemod                  |              309  |        49  |            13  |            9  |                          3  |   |  animation              |                  0  |          0  |              0  |            1  |                          0  |   |  scribe                    |            2572  |      469  |          117  |          59  |                        11  |   |  firefox-­‐toolbar  |                93  |        50  |          532  |          10  |                          0  |   |  cassandra              |              205  |        27  |          189  |            0  |                          0  |   +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+
  19. None
  20. Average followers per repo
 Average forks per repo Average pull-request

    age
 Average issue age External commits
  21. None
  22. None
  23. None
  24. None
  25. None
  26. Snapshot Upstream Fly the nest Deprecate Reboot OPEN SOURCE PROJECTS

  27. None
  28. None
  29. None
  30. Why run an open source program? Policies for launching new

    projects Using external open source projects Employee projects on their own time Licenses, CLAs & other boilerplates Interacting with your communities Managing large open source portfolios Metrics for success The open source project lifecycle Open source & corporate identities What is the source of truth of truth? … and more!
  31. http://todogroup.org

  32. JAMES PEARCE
 @jamespearce