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

How Does the Shift to GitHub Impact Project Collaboration?

Gustavo Pinto
January 14, 2018
96

How Does the Shift to GitHub Impact Project Collaboration?

Gustavo Pinto

January 14, 2018
Tweet

More Decks by Gustavo Pinto

Transcript

  1. How Does the Shift to GitHub
    Impact Project
    Collaboration?
    Gustavo Pinto
    I. Steinmacher M. Gerosa
    F. Fronchetti D. Alencar
    1

    View full-size slide

  2. Why?
    http://programmers.stackexchange.com/questions/164618
    3

    View full-size slide

  3. Why?
    http://programmers.stackexchange.com/questions/164618
    Is simple
    Is easy to use
    Because Github:
    Offers DVCS support
    has the PR system
    increases collaboration
    4

    View full-size slide

  4. 5
    Does Github really
    increase collaboration?

    View full-size slide

  5. Active: >= 1 commit in the last 12
    months
    Popular: > 10.000 stars
    Non-trival: > 10.000 LoC
    Obviously: Migrated to Github
    Projects Selection
    6

    View full-size slide

  6. Active, popular, non-trivial
    7

    View full-size slide

  7. Active, popular, non-trivial
    Projects Prog. Language Moved to Github LoC Age
    Ruby C 02/2010 1,001K 18
    mongodb C++ 01/2009 2,104K 9
    Jenkins Java 11/2010 191K 10
    Rails Ruby 04/2008 203K 12
    Joomla! PHP 09/2011 610K 11
    jQuery JavaScript 04/2009 41K 10
    8

    View full-size slide

  8. Method: Two Steps
    1) Mining Software Repositories
    9

    View full-size slide

  9. Method: Two Steps
    1) Mining Software Repositories
    2) Survey with developers
    Q1: What motivated the project to move to Github?
    Q2. Do you have any internal policy to attract
    newcomers?
    Q3: Does this snapshot make sense?
    10

    View full-size slide

  10. How Does the Shift to
    GitHub Impact Project
    Collaboration?
    11

    View full-size slide

  11. How Does the Shift to
    GitHub Impact Project
    Collaboration?
    In terms of:
    {• number of newcomers, active
    committers, contributions
    • number of pull-requests
    received
    • number of issues created
    12

    View full-size slide

  12. Newcomers, active
    committers, contributions
    13

    View full-size slide

  13. Committer
    # commiters
    p-value 0.001
    effect size 0.633 14

    View full-size slide

  14. Committer
    # commiters
    p-value 0.001
    effect size 0.633 15
    The number of committers increased significantly
    (effect size = 0.633)

    View full-size slide

  15. Contribution
    # commiters contributions
    p-value 0.001 0.001
    effect size 0.633 0.635 16
    The number of contributions increased significantly
    (effect size = 0.635)

    View full-size slide

  16. # commiters contributions newcomers
    p-value 0.001 0.001 0.001
    effect size 0.633 0.635 0.460
    Newcomer
    The number of newcomers increased significantly
    (effect size = 0.460)
    17

    View full-size slide

  17. # commiters contributions newcomers
    p-value 0.001 0.001 0.001
    effect size 0.633 0.635 0.460
    Newcomer
    Rails core developer
    18
    We don't have any strong
    policy other than: be nice with
    newcomers, give them attention, good
    feedback and try to motivate them to
    solve their own problems.
    The number of newcomers increased significantly
    (effect size = 0.460)

    View full-size slide

  18. # commiters contributions newcomers
    p-value 0.001 0.001 0.006
    effect size 0.299 0.018 0.206
    The rise of active committer does not imply in the
    rise of contributions
    19

    View full-size slide

  19. # commiters contributions newcomers
    Joomla!
    p-value 0.001 0.001 0.006
    effect size 0.299 0.018 0.206
    jQuery
    p-value 0.035 0.001 0.060
    effect size 0.066 0.144 0.160
    The migration to GitHub played a major role to the rise of
    contributions in only 2 out of the 6 studied projects
    20
    effect size: 0.018 effect size: 0.114

    View full-size slide

  20. Pull-Requests
    21

    View full-size slide

  21. Pull Requests
    22

    View full-size slide

  22. Pull Requests
    Several PRs are submitted, few got merged
    (3 out of the 1,223 Ruby PRs got merged)
    Merged PRs
    23

    View full-size slide

  23. Pull Requests
    The number of PRs did not
    increase over time
    (in 5/6 of the projects)
    (again) Several PRs are
    submitted, few got merged
    24

    View full-size slide

  24. Issues
    Not all projects are
    using the issue
    tracking system
    26

    View full-size slide

  25. Issues
    Initial effort
    required!
    Not all projects are
    using the issue
    tracking system
    27

    View full-size slide

  26. In summary
    28

    View full-size slide

  27. The rise of contributions is not
    straightforward
    29

    View full-size slide

  28. Little effort was placed on policies
    for attracting or retaining
    newcomers
    30

    View full-size slide

  29. 31
    Some projects have a high rate of
    PRs closed and not merged.
    If the project is not intended to use
    PRs, state this upfront!

    View full-size slide

  30. 32
    Some projects have a high rate of
    PRs closed and not merged.
    If the project is not intended to use
    PRs, state this upfront!

    View full-size slide

  31. Project members might expect an
    overhead on managing the issue
    tracking system
    33

    View full-size slide

  32. How Does the Shift to GitHub
    Impact Project
    Collaboration?
    Gustavo Pinto
    I. Steinmacher M. Gerosa
    F. Fronchetti D. Alencar
    35

    View full-size slide