Managing Community Contributions: Lessons Learned from a Case Study on Android and Linux

1,301 views

Published on

Talk given at 2010 CSER/CASCON conference in Toronto, Ontario, Canada.

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,301
On SlideShare
0
From Embeds
0
Number of Embeds
58
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Managing Community Contributions: Lessons Learned from a Case Study on Android and Linux

  1. 1. Managing Community Contributions: Lessons Learned from a Case Study on Android and Linux Nicolas Bettenburg Bram Adams Ahmed E. Hassan Queen’s University Daniel M. German University ofVictoria ANNUAL REPORT 2008 ! ! !"#$%&'#()*')'(%+'*'(,(!'*!-.,(%* ! ! #
  2. 2. 2 What is a community contribution?
  3. 3. 2 What is a community contribution? A lot of things:
  4. 4. 2 What is a community contribution? A lot of things: Documentation Graphics/Art Source Code Testing Error-Report Music Stuffed Animals Installation Party Bug Fix Feedback FeatureAdvertisement
  5. 5. 3 What is a community contribution? For our study: Documentation Graphics/Art Source Code Testing Error-Report Music Stuffed Animals Installation Party Bug Fix Feedback FeatureAdvertisement
  6. 6. 4 Why would you want community contributions? Community Member • proposes and implements features • suggests bug fixes • translates code/documentation • tests new features • provides fast feedback • brings new users to project • public relations/advertisement
  7. 7. 4 Why would you want community contributions? Community Member • proposes and implements features • suggests bug fixes • translates code/documentation • tests new features • provides fast feedback • brings new users to project • public relations/advertisement FOR FREE!
  8. 8. 5 Competitive Advantage Market Strategy Liability Quality Assurance Patents Product Identity User Integration Issues with community contributions
  9. 9. 6 What is an effective process to enable and manage community contributions? Are contributors actively engaged in the development? Are community contributions reviewed in a timely fashion? What kinds of contributions can be expected – and which parts of the software product do they target? Research Questions:
  10. 10. 7
  11. 11. 8 Submission Project Repository Feedback Feedback OK OK Conception Contributor Review Verification Integration Discussion Idea Contribution Feedback (1) (2) (3) (4) (5)
  12. 12. 8 Submission Project Repository Feedback Feedback OK OK Conception Contributor Review Verification Integration Discussion Idea Contribution Feedback (1) (2) (3) (4) (5)
  13. 13. 8 Submission Project Repository Feedback Feedback OK OK Conception Contributor Review Verification Integration Discussion Idea Contribution Feedback (1) (2) (3) (4) (5)
  14. 14. 8 Submission Project Repository Feedback Feedback OK OK Conception Contributor Review Verification Integration Discussion Idea Contribution Feedback (1) (2) (3) (4) (5)
  15. 15. 8 Submission Project Repository Feedback Feedback OK OK Conception Contributor Review Verification Integration Discussion Idea Contribution Feedback (1) (2) (3) (4) (5)
  16. 16. 8 Submission Project Repository Feedback Feedback OK OK Conception Contributor Review Verification Integration Discussion Idea Contribution Feedback (1) (2) (3) (4) (5)
  17. 17. 9 What is an effective process to enable and manage community contributions? Are contributors actively engaged in the development? Are community contributions reviewed in a timely fashion? What kinds of contributions can be expected – and which parts of the software product do they target? Research Questions:
  18. 18. 10 Reviewer 59% Contributor 41% Reviewer 44% Contributor 56% LINUX ANDROID
  19. 19. 10 Reviewer 59% Contributor 41% Reviewer 44% Contributor 56% LINUX ANDROID ~ 2 contributions per person ~2-4 contributions per person
  20. 20. 10 Reviewer 59% Contributor 41% Reviewer 44% Contributor 56% LINUX ANDROID ~ 2 contributions per person ~2-4 contributions per person avg. activity ~2 months avg. activity ~2 months
  21. 21. 11 What is an effective process to enable and manage community contributions? Are contributors actively engaged in the development? Are community contributions reviewed in a timely fashion? What kinds of contributions can be expected – and which parts of the software product do they target? Research Questions:
  22. 22. 12 Time until a first response to a contribution is received LINUX (2009) Date contribution was submitted Timeuntilfirstreply(inhours) J Ma J No
  23. 23. 13
  24. 24. 13 400%growth of community
  25. 25. 13 400%growth of community 2x submissions per contributor
  26. 26. 13 Mailing-Lists to manage contributions 400%growth of community 2x submissions per contributor
  27. 27. 14
  28. 28. 14 Google actively decided against E-Mail!
  29. 29. 14 Google actively decided against E-Mail! Instead: web-application (Gerrit) to manage contributions
  30. 30. 15 “Weʼre now responding to [Android] platform contributions faster, with most changes currently getting looked at within a few business days of being uploaded, and few changes staying inactive for more than a few weeks at a time. Weʼre trying to review early and review often. [...] I hope that the speedy process will lead to more interactivity during the code reviews.” Jean-Baptiste Queru Open-Source Management Android
  31. 31. 16 Time until a first response to a contribution is received ANDROID Date contribution was submitted Timeuntilfirstreply(inhours) Ma A No F Ma
  32. 32. 17 LINUX (2009) ANDROID Time until a final conclusion to a contribution is obtained 0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 0 Overall time taken for review (log hours) DensityEstimate REJECT ACCEPT 0.00 0.05 0.10 0.15 0 5 Overall time taken for review (log hours) DensityEstimate REJECT ACCEPT
  33. 33. 18 What is an effective process to enable and manage community contributions? Are contributors actively engaged in the development? Are community contributions reviewed in a timely fashion? What kinds of contributions can be expected – and which parts of the software product do they target? Research Questions:
  34. 34. 19 (1) Pareto Distribution: 20% of subsystems received 80% of contributions in both projects.
  35. 35. 20 (2) Major Subsystems have high acceptance rates: Between 50% and 91% of contributions are accepted in both projects.
  36. 36. 21 (3) Specific Subsystems have very low acceptance rates: Certain subsystems in Android are very sensitive and rather kept private.
  37. 37. 22 TO SUMMARIZE: • Business Model based on Product Halo • Contribution management model • Top priority: keep users happy • Management of contributions important • Give fast feedback • Let them know of acceptance right away • Users contribute to ‘favourite’ subsystems • For commercial OSS some subsystems ‘off limits’
  38. 38. 23
  39. 39. 24 2 Principles: “The worth of a company is proportional to the number of connected users” Metacalfe’s Law. “As more people get involved in a community, participation begets more participation” Bass’ diffusion model. Why having user communities is desirable

×