open source at facebook and beyond

Post on 15-Jul-2015

235 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Rebooting Open Sourceat FacebookJAMES PEARCE@jamespearce

USE

SCALE

IMPROVE REPLACE

RELEASE

#0 Articulate the value that

open source brings your company

Open source is like the breeze from an open window

But…

USE

SCALE

IMPROVE

RELEASE

REPLACE

#1 Use your own open source

#2 Decentralize project ownership

What projects did we own?

Who was contributing to them?

How healthy were they?

https://api.github.com/orgs/facebook/

Every repo

Every commit

Every pull request

Every issue

[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  |  +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+

Every repo

Every commit

Every pull request

Every issue

Every minute

#3 Invest in instrumentation

• commits made per day

• commits made per day by repo

• issue average age

• issue average age by repo

• issue total age

• issue total age by repo

• issues closed per day

• issues closed per day by repo

• issues open

• issues open by repo

• issues opened per day

• issues opened per day by repo

• pull request average age

• pull request average age by repo

• pull request total age

• pull request total age by repo

• pull requests closed per day

• pull requests closed per day by repo

• pull requests open

• pull requests open by repo

• pull requests opened per day

• pull requests opened per day by repo

• total commits

• total commits by owner

• total commits by repo

• total forks

• total forks by owner

• total forks by repo

• total repos

• total repos by owner

• total repos by tag

• total watchers

• total watchers by owner

• total watchers by repo

Average followers per repoAverage forks per repo

Average pull-request ageAverage issue age

External commits

#4 Invest in tools

#5 Establish ownership

#6 Gamification of good behavior

1. How core to Facebook's business is this technology?

2. Who will use it? Who is this technology useful to? How valuable is it?

3. What else already exists that is similar to this technology?

4. Is there anything novel in this project?

5. Does it include any third-party code, including any third-party open source?

6. Who will maintain the project, accept contributions, and liaise with the community?

7. Where & how should this project be distributed?

8. What is your expected public release date?

1. How core to Facebook's business is this technology?

2. Who will use it? Who is this technology useful to? How valuable is it?

3. What else already exists that is similar to this technology?

4. Is there anything novel in this project?

5. Does it include any third-party code, including any third-party open source?

6. Who will maintain the project, accept contributions, and liaise with the community?

7. Where & how should this project be distributed?

8. What is your expected public release date?

#7 Launch is step zero

kvocontroller

0"

1000"

2000"

3000"

4000"

5000"

6000"

7000"

8000"

0" 10" 20" 30" 40" 50" 60"

0"

1000"

2000"

3000"

4000"

5000"

6000"

7000"

8000"

0" 10" 20" 30" 40" 50" 60"

fb-floorigami

0"

1000"

2000"

3000"

4000"

5000"

6000"

7000"

8000"

0" 10" 20" 30" 40" 50" 60"

chiseltweaksshimmer

kvocontroller

0"

1000"

2000"

3000"

4000"

5000"

6000"

7000"

8000"

0" 10" 20" 30" 40" 50" 60"

pop

“ If Facebook keep this level of quality open source

release up much longer then soon I'll need to forgive

them for Three20 ”

- iOS Dev Weekly

• IRC channel • Facebook Page/Group • Mailing lists • Regular blog posts • Meetups • Hackathons

#8 Leave breadcrumbs

Snapshot Upstream Fly the nest Deprecate Reboot

OPEN SOURCE

PROJECTS

#9 Understand projects’ lifecycles

Metrics• Total repos

• Followers

• Forks

• Pull-requests

• Issues

• Commits

June 2013129

50.1k

11.8k

1,400 (502 days)

404 (323 days)

30.7k

July 2014202

97.6k

20.7k

1,973 (208 days)

427 (186 days)

42.4k

#10Be open and connected

JAMES PEARCE@jamespearce

top related