Download - Xconf 2014 - Contributing to Open Source
![Page 1: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/1.jpg)
Contributing to Open Source 101
X C o n f G u r g a o n ' 1 4
![Page 2: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/2.jpg)
2
Our Journey
![Page 3: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/3.jpg)
3
What we thought it was
● Find a project
● Find bugs
● Send Patch/Pull Request
![Page 4: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/4.jpg)
4
Why?What?
How?When?
![Page 5: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/5.jpg)
5
Why?The reasons we wanted to contribute
![Page 6: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/6.jpg)
6
● Awesome workplace● A lot of activities● Challenging projects● Something missing!
Why?
![Page 7: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/7.jpg)
7
Our reasons● Give back to the community
● Become Immortal
● Reach
● Be part of a change/Be disruptive
● Network
● Become a better developer
![Page 8: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/8.jpg)
8
Other Driving Factors
● Profile
● Fame
● Travel
● Solving a problem
● Improving solutions
![Page 9: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/9.jpg)
9
What?Next Steps...
![Page 10: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/10.jpg)
10
(Now) What?Umm.. Where do we start...
![Page 11: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/11.jpg)
11
![Page 12: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/12.jpg)
12
Inception
● We tried learning about a lot of projects.
● Rust, Servo, KDE, Firefox ...
● Even tried learning the languages
● Failed. Frustrated.
● Work: 0 Time: A lot
![Page 13: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/13.jpg)
13
![Page 14: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/14.jpg)
14
Why did we fail?
![Page 15: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/15.jpg)
15
#Fail
✗ Had never used it
✗ Only judged by impact
✗ Picked projects with giant learning curves
![Page 16: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/16.jpg)
16
Seeking help
● IRC
● Blogs
● Meetups in Delhi/NCR
● We met RMS!
![Page 17: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/17.jpg)
17
![Page 18: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/18.jpg)
18
Know Thyself
![Page 19: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/19.jpg)
19
Know Thy Interests
● Pick something you use
● Something you care about
● Something that will annoy you if it doesn't work
![Page 20: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/20.jpg)
20
How?Techniques and Tools
![Page 21: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/21.jpg)
21www.openhatch.org
![Page 22: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/22.jpg)
22
Know Thy Project
● Use it. And keep using it.
● Understand the itch
● Talk to contributors on IRC/IRL
● Talk to users
● Read Mailing Lists
● Needs and Wants
![Page 23: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/23.jpg)
23
Funny picture about learning
curves
![Page 24: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/24.jpg)
24
Starting Point
● KDE: 'Junior Jobs'
● Mozilla: 'Mentored Bugs' and 'Good First Bugs'
● Github: Tags ('Easy' etc)
● Take your pick
![Page 25: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/25.jpg)
25
Know Thy Code
● Obtain source code
● Build
● Run tests
● Play with it. Explore.
● Read wikis
![Page 26: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/26.jpg)
26
Tools picWrong tools mishap
![Page 27: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/27.jpg)
27
Know thy tools
● Start with no tools
● Explore tools for specific problems
● Ask seasoned contributors
![Page 28: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/28.jpg)
28
Know Thy Community
● KDE: Active user and developer community in India
● Mozilla: Developers vs Contributors
● Sketch-UI: Scratch your own itch
![Page 29: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/29.jpg)
29
![Page 30: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/30.jpg)
30
Know Thy Etiquettes
● Volunteers usually have other jobs
● Give descriptive feedback
● RTFM
● Spell-check
![Page 31: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/31.jpg)
31
All set? Now get your hands dirty!
Another funny pic here. Omg. Kill me. Now.
![Page 32: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/32.jpg)
32
When?Where is the time to do anything at all !!
![Page 33: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/33.jpg)
33
Spend Thy Time
● Find company
● Make it a regular thing
● Doesn't always work the way you thought it would
● After-hours
● Weekends
![Page 34: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/34.jpg)
34
www.codetriage.com
![Page 35: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/35.jpg)
35
CODE!Getting familiar with the codebase
![Page 36: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/36.jpg)
36
It's not going to work the first time. And it'll be a while till you get the hang of things.
![Page 37: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/37.jpg)
37
Code -> Review
● Follow code guidelines
● KDE: Review board
● Mozilla: Bugzilla
● Properly formatted patches
● Build bigger features in increments. TEST!
![Page 38: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/38.jpg)
38
Check in
● Run tests locally
● Mozilla: Run on Try Servers
● Write a beautiful commit message
● Rinse, Repeat
● Get approval on patch
● Check In final patch
![Page 39: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/39.jpg)
39
Nope.
- Albert Einstein on reading our first patch to
Firefox
![Page 40: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/40.jpg)
40
Immortality
![Page 41: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/41.jpg)
41
Pitfalls
● Too scared to ask questions
● Didn't dedicate time
![Page 42: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/42.jpg)
42
What we thought it was
● Find a project
● Find bugs
● Send Patch/Pull Request
![Page 43: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/43.jpg)
43
(11)2 to (11)
10 Rules
<Insert Awkward Laughter Here />
![Page 44: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/44.jpg)
44
(11)10
Steps
● Know Thyself
● Know Thy Interests
● Know Thy Project
● Know Thy Code
● Know Thy Tools
● Know Thy Community
● Know Thy Etiquettes
● Spend Thy Time
● While true: (Code →Review)
● Check-in
● Achieve Immortality
![Page 45: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/45.jpg)
45
Learnings
● Contributions != Code
● You can start your own project if you have an itch that can't be scratched with the help of TWers
![Page 46: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/46.jpg)
46
Nagging Questions
● Why do we not see people regularly contributing? (Outside work related software)
● Why the aversion to free software?
![Page 47: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/47.jpg)
47
We ended up contributing to:
Sketch-UI, Mozilla, KDE
![Page 48: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/48.jpg)
48
What's next?
![Page 50: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/50.jpg)
50
![Page 51: Xconf 2014 - Contributing to Open Source](https://reader034.vdocument.in/reader034/viewer/2022051617/55a441821a28ab56538b4819/html5/thumbnails/51.jpg)
THANKS
Paras Narang
@parasnarang
Rishab Arora
@spacetime29