Slide 1

Slide 1 text

More Common Than You Think: An In-Depth Study of Casual Contributors @gustavopinto @igorsteinmacher @gerosa_marco

Slide 2

Slide 2 text

General Structure of an OSS community K. Nakakoji, Y. Yamamoto, Y. Nishinaka, K. Kishida, and Y. Ye. Evolution patterns of open-source software systems and communities. In Proceedings of the International Workshop on Principles of Software Evolution, 2002, The “onion” patch

Slide 3

Slide 3 text

Core developers General Structure of an OSS community

Slide 4

Slide 4 text

Core developers Active developers General Structure of an OSS community

Slide 5

Slide 5 text

Core developers Active developers Peripheral developers General Structure of an OSS community

Slide 6

Slide 6 text

Core developers Active developers Peripheral developers General Structure of an OSS community

Slide 7

Slide 7 text

Core developers Active developers Peripheral developers Casual developers R. Pham, L. Singer, O. Liskin, F. Figueira Filho, and K. Schneider. Creating a shared understanding of testing culture on a social coding site. In Proceedings of ICSE’13. General Structure of an OSS community

Slide 8

Slide 8 text

Core developers Active developers Peripheral developers Casual developers QUEM SÃO ELES? O QUE ELES FAZEM? POR QUE ELES FAZEM? General Structure of an OSS community

Slide 9

Slide 9 text

Two Studies

Slide 10

Slide 10 text

Two Studies C C++ Clojure CoffeeScript Erlang Go Haskell Java Jav JavaScript Objective-C PHP Perl Python Ruby Scala TypeScript

Slide 11

Slide 11 text

Two Studies C C++ Clojure CoffeeScript Erlang Go Haskell Java Jav JavaScript Objective-C PHP Perl Python Ruby Scala TypeScript 275 popular, non-trivial, OSS Projects

Slide 12

Slide 12 text

Two Studies 608 Core developers 5 questions 10.2% Response Rate

Slide 13

Slide 13 text

Two Studies 608 Core developers 5 questions 760 Casual contributors 9 questions 10.2% Response Rate 26.7% Response Rate

Slide 14

Slide 14 text

Research Questions RQ1. How common are casual contributions in OSS projects?

Slide 15

Slide 15 text

Research Questions RQ1. How common are casual contributions in OSS projects? RQ2. What are the characteristics of a casual contribution? ) + 384 casual contribs ( 95% confidence level ±5% confidence interval

Slide 16

Slide 16 text

Research Questions RQ1. How common are casual contributions in OSS projects? RQ2. What are the characteristics of a casual contribution? RQ3. How do casual contributors and project maintainers perceive casual contributions? + ) 384 casual contribs ( 95% confidence level ±5% confidence interval

Slide 17

Slide 17 text

RQ1. How common? Contributions % Devs 1 39.55% 5 67.31% 10 76.39% 15 80.73% 20 83.51%

Slide 18

Slide 18 text

RQ1. How common? Contributions % Devs 1 39.55% 5 67.31% 10 76.39% 15 80.73% 20 83.51%

Slide 19

Slide 19 text

RQ1. How common? 39.55% 44.18% 51.36% 54.51% 54.76% 61.06%

Slide 20

Slide 20 text

RQ1. How common?

Slide 21

Slide 21 text

RQ1. How common?

Slide 22

Slide 22 text

RQ2. Characteristics Category # % Bug Fix 116 30.20% Documentation 110 28.64% Add New Feature 72 18.75% Refactoring 34 8.85% Update Version/Dependencies 25 6.51% Improve Error/Help Messages 14 3.64% Improve Resource Usage 8 2.08% Add test cases 5 1.30% 32,729 casual contributions 384 statistically representative casual contributions 95% confidence level ±5% confidence interval

Slide 23

Slide 23 text

RQ2. Characteristics Bug fix (116 occurrences)

Slide 24

Slide 24 text

RQ2. Characteristics Documentation (110 occurrences)

Slide 25

Slide 25 text

RQ2. Characteristics Add New Feature (72 occurrences)

Slide 26

Slide 26 text

RQ2. Characteristics Refactoring (34 occurrences)

Slide 27

Slide 27 text

RQ3. Perception Casual Contributors Motivation “Scratch their own itch” (45%) “Give back to community” (23%) “Gain reputation” (20%)

Slide 28

Slide 28 text

RQ3. Perception Casual Contributors Maintainers Motivation “Scratch their own itch” (45%) “Scratch their own itch” (35%) “Easy contribution process” (14%) “Give back to community” (23%) “Gain reputation” (20%)

Slide 29

Slide 29 text

RQ3. Perception Casual Contributors Maintainers Motivation Why not? “Scratch their own itch” (45%) “Scratch their own itch” (35%) “Easy contribution process” (14%) “Lack of time” (48%) “No income from it” (18%) “Limited skills” (11%) “Give back to community” (23%) “Gain reputation” (20%)

Slide 30

Slide 30 text

RQ3. Perception Casual Contributors Maintainers Motivation Why not? “Scratch their own itch” (45%) “Scratch their own itch” (35%) “Easy contribution process” (14%) “Lack of time” (48%) “Lack of time” (26%) “No income from it” (18%) “Scratch their own itch” (19%) “Limited skills” (11%) “Project is hard to learn” (12%) “Give back to community” (23%) “Gain reputation” (20%)

Slide 31

Slide 31 text

RQ3. Perception Casual Contributors Maintainers Motivation Why not? Benefits “Scratch their own itch” (45%) “Scratch their own itch” (35%) “Easy contribution process” (14%) “Lack of time” (48%) “Lack of time” (26%) “No income from it” (18%) “Scratch their own itch” (19%) “Limited skills” (11%) “Project is hard to learn” (12%) “Small issues solved quickly” (11%) “Continuos improvement” (21%) “Give back to community” (23%) “Gain reputation” (20%)

Slide 32

Slide 32 text

RQ3. Perception Casual Contributors Maintainers Motivation Why not? Benefits “Scratch their own itch” (45%) “Scratch their own itch” (35%) “Easy contribution process” (14%) “Lack of time” (48%) “Lack of time” (26%) “No income from it” (18%) “Scratch their own itch” (19%) “Limited skills” (11%) “Project is hard to learn” (12%) “New set of eyes” (20%) “Continuos improvement” (9%) “Small issues solved quickly” (25%) “Small issues solved quickly” (11%) “Continuos improvement” (21%) “Give back to community” (23%) “Gain reputation” (20%)

Slide 33

Slide 33 text

RQ3. Perception Casual Contributors Maintainers Motivation Why not? Benefits “Scratch their own itch” (45%) “Scratch their own itch” (35%) “Easy contribution process” (14%) “Give back to community” (23%) Problems “Lack of time” (48%) “Lack of time” (26%) “No income from it” (18%) “Scratch their own itch” (19%) “Limited skills” (11%) “Project is hard to learn” (12%) “Gain reputation” (20%) “New set of eyes” (20%) “Continuos improvement” (9%) “Small issues solved quickly” (25%) “Small issues solved quickly” (11%) “Continuos improvement” (21%) “No notable problem” (32%) “Not easy contribution process” (14%) “Quality is questionable” (9%)

Slide 34

Slide 34 text

RQ3. Perception Casual Contributors Maintainers Motivation Why not? Benefits “Scratch their own itch” (45%) “Scratch their own itch” (35%) “Easy contribution process” (14%) “Give back to community” (23%) Problems “Lack of time” (48%) “Lack of time” (26%) “No income from it” (18%) “Scratch their own itch” (19%) “Limited skills” (11%) “Project is hard to learn” (12%) “Gain reputation” (20%) “New set of eyes” (20%) “Continuos improvement” (9%) “Small issues solved quickly” (25%) “Contribs may go unmaintained” (8%) “No notable problem” (15%) “Time spent on code review” (19%) “Small issues solved quickly” (11%) “Continuos improvement” (21%) “No notable problem” (32%) “Not easy contribution process” (14%) “Quality is questionable” (9%)

Slide 35

Slide 35 text

In Summary

Slide 36

Slide 36 text

More Common Than You Think: An In-Depth Study of Casual Contributors @gustavopinto @igorsteinmacher @gerosa_marco