Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger...
Transcript of Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger...
![Page 2: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/2.jpg)
Code QualityCode Quality
![Page 3: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/3.jpg)
“Publicly making fun of people is half the fun of open source programming.
In fact the main reason to eschew programming in closed environments is that you can't embarrass people in public.”
– Linus Torvalds
![Page 4: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/4.jpg)
What manager's wantWhat manager's want
![Page 5: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/5.jpg)
Why do people contribute?Why do people contribute?
● Learn● Altruism● Fun● Fame & Fortune● Solve problems
![Page 6: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/6.jpg)
What Maintainers say they doWhat Maintainers say they do
Developer
Maintainer
ProjectMailingList
Reviewers
next
Maintainer
Linux
![Page 7: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/7.jpg)
What developers seeWhat developers see
MELinuxKernelMailingList
Linus
![Page 8: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/8.jpg)
“It's entirely possible that the current user could be replaced by RCU and/or seqlocks, and we could get rid of brlocks entirely.”– Linus Torvalds (Mar 9 2003)
![Page 9: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/9.jpg)
2 days later...2 weeks later...2 years later...
![Page 10: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/10.jpg)
What I learnedWhat I learned
● Encouragement and feedback– Pat Mochel– Linus– David Miller– Paul McKenney
● Learned Internals● Encouragement from employer
![Page 11: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/11.jpg)
Advice to developersAdvice to developers
Have:F. ollow rulesU. nderstand feedbackN. egotiate
![Page 12: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/12.jpg)
Main causes of failureMain causes of failure
Things that make maintainers: M. assive A. rrogance D. ivisive
![Page 13: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/13.jpg)
MassiveMassive
128256
5121024
20484096
819216384
3276865536
131072262144
0%
25%
50%
75%
100%
Patch Acceptance
from netdev patchwork
Patch size
Acc
epta
nce
![Page 14: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/14.jpg)
ArroganceArrogance
ar·ro·gant (r-gnt)adj.1. Having or displaying a sense of overbearing self-worth or self-importance.
2. Marked by or arising from a feeling or assumption of one's superiority toward others: an arrogant contempt for the weak.
![Page 15: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/15.jpg)
Divisive ChangesDivisive Changes
● Proprietary● Incompatible● Reinvention● Ugly
![Page 16: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/16.jpg)
GlossophobiaGlossophobia
![Page 17: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/17.jpg)
![Page 18: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/18.jpg)
EvaluationEvaluation
● Be prepared● Active Listening● Sandwich technique● Focus on 2 or 3 items
![Page 19: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/19.jpg)
Troll free zoneTroll free zone
● Be genuine● Evaluate presentation not person● Personalize Language● Directed feedback
![Page 20: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/20.jpg)
Lessons LearnedLessons Learned
● Risk = Reward● Practice makes perfect● Words matter● Evaluation causes growth
![Page 21: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/21.jpg)
Alternative Evaluation StylesAlternative Evaluation Styles
Toastmasters™
● Tell and Sell● Q&A● Group:
– Voice– Gestures– ...
Linux™ Kernel● Fire and Forget● Email Threads● Delegate:
– Style– Locking– API– ...
![Page 22: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/22.jpg)
What is mentoring?
![Page 23: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/23.jpg)
Bozeman and Feeney (2007) define mentoring as “a process for the informal transmission of knowledge, social capital, and the psychosocial support perceived by the recipient as relevant to work, career, or professional development; mentoring entails informal communication, usually face-to-face and during a sustained period of time, between a person who is perceived to have greater relevant knowledge, wisdom, or experience (the mentor) and a person who is perceived to have less (the protègè).”
![Page 24: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/24.jpg)
![Page 25: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/25.jpg)
Virtual Tunnel InterfaceVirtual Tunnel Interface
![Page 26: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/26.jpg)
Finding a MentorFinding a Mentor
● Local● Company● Kernel mentors mailing list
http://kernelnewbies.org/KernelMentors
![Page 27: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/27.jpg)
Role of MentorRole of Mentor
● Process mentoring● Shoulder to cry on● Local advocate● Cheerleader
![Page 28: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/28.jpg)
For maintainersFor maintainers
● Emphasize good review● Assign mentors for new people?● Track contribution status – patchwork● Delegate review roles● Encourage friendly dialogue● Evaluate review process
![Page 29: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/29.jpg)
IdeasIdeas
● Teach reviewing– Documentation/ReviewingPatches?– get_reviewers.pl?
● Document kernel semantics– More lessons like RCU?– Interactive tutorials
![Page 30: Taking the Fear Out of Contributing...Taking the Fear Out of Contributing Stephen Hemminger shemminger@vyatta.com Code Quality “Publicly making fun of people is half the fun of open](https://reader036.fdocuments.net/reader036/viewer/2022062604/5fbaf737664f3e5c0844ca79/html5/thumbnails/30.jpg)
Thank you