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

More Common Than You Think: An In-Depth Study of Casual Contributors

Gustavo Pinto
December 17, 2015

More Common Than You Think: An In-Depth Study of Casual Contributors

Gustavo Pinto

December 17, 2015
Tweet

More Decks by Gustavo Pinto

Other Decks in Science

Transcript

  1. More Common Than You Think: An In-Depth Study of Casual

    Contributors @gustavopinto @igorsteinmacher @gerosa_marco
  2. 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
  3. 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
  4. 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
  5. Two Studies C C++ Clojure CoffeeScript Erlang Go Haskell Java

    Jav JavaScript Objective-C PHP Perl Python Ruby Scala TypeScript
  6. 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
  7. Two Studies 608 Core developers 5 questions 760 Casual contributors

    9 questions 10.2% Response Rate 26.7% Response Rate
  8. 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
  9. 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
  10. 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
  11. RQ3. Perception Casual Contributors Motivation “Scratch their own itch” (45%)

    “Give back to community” (23%) “Gain reputation” (20%)
  12. 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%)
  13. 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%)
  14. 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%)
  15. 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%)
  16. 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%)
  17. 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%)
  18. 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%)
  19. More Common Than You Think: An In-Depth Study of Casual

    Contributors @gustavopinto @igorsteinmacher @gerosa_marco