Collaborating on
Open Source Software
Voxxed Days Cluj-Napoca – Oct 6th, 2022
@MaritvanDijk77
github.com/mlvandijk
https://maritvandijk.com/
Slide 2
Slide 2 text
@MaritvanDijk77
Slide 3
Slide 3 text
@MaritvanDijk77
Slide 4
Slide 4 text
Warning! Risk of first contributions
@MaritvanDijk77
Slide 5
Slide 5 text
Or worse...
@MaritvanDijk77
Slide 6
Slide 6 text
@MaritvanDijk77
Why?
Slide 7
Slide 7 text
@MaritvanDijk77
Why?
What?
Slide 8
Slide 8 text
@MaritvanDijk77
Why?
What?
How?
Slide 9
Slide 9 text
@MaritvanDijk77
Slide 10
Slide 10 text
@MaritvanDijk77
Give back
Slide 11
Slide 11 text
@MaritvanDijk77
Learn new things
Slide 12
Slide 12 text
@MaritvanDijk77
"Scratch an itch"
Slide 13
Slide 13 text
@MaritvanDijk77
Build a portfolio
Slide 14
Slide 14 text
@MaritvanDijk77
Network
Slide 15
Slide 15 text
@MaritvanDijk77
Slide 16
Slide 16 text
@MaritvanDijk77
It can be scary!
Slide 17
Slide 17 text
Work Life
@MaritvanDijk77
Slide 18
Slide 18 text
@MaritvanDijk77
Slide 19
Slide 19 text
@MaritvanDijk77
Slide 20
Slide 20 text
My first project:
@MaritvanDijk77
Slide 21
Slide 21 text
The community
@MaritvanDijk77
Slide 22
Slide 22 text
@MaritvanDijk77
Different ways to contribute
Slide 23
Slide 23 text
@MaritvanDijk77
Code
Slide 24
Slide 24 text
@MaritvanDijk77
Fix bugs
Slide 25
Slide 25 text
Fix bugs
@MaritvanDijk77
Fix bugs
Slide 26
Slide 26 text
Refactor
@MaritvanDijk77
Slide 27
Slide 27 text
@MaritvanDijk77
Refactor
Slide 28
Slide 28 text
@MaritvanDijk77
Fix typos
Slide 29
Slide 29 text
Fix typos
@MaritvanDijk77
Slide 30
Slide 30 text
No dependencies
@MaritvanDijk77
Add new features
Slide 31
Slide 31 text
Add tests
@MaritvanDijk77
Slide 32
Slide 32 text
Add tests
@MaritvanDijk77
Slide 33
Slide 33 text
@MaritvanDijk77
Slide 34
Slide 34 text
Upgrading dependencies
@MaritvanDijk77
Slide 35
Slide 35 text
Upgrade dependencies
@MaritvanDijk77
Slide 36
Slide 36 text
Bots
• Dependabot
• Renovate
• Snyk Open Source
@MaritvanDijk77
Slide 37
Slide 37 text
@MaritvanDijk77
Review PR’s
Slide 38
Slide 38 text
@MaritvanDijk77
Contributions
that are not code
Slide 39
Slide 39 text
Contributions that are not code
@MaritvanDijk77
https://pragprog.com/book/
vbopens/forge-your-future-
with-open-source
Slide 40
Slide 40 text
Help the community
@MaritvanDijk77
Slide 41
Slide 41 text
@MaritvanDijk77
Answer questions
Slide 42
Slide 42 text
Answer questions
@MaritvanDijk77
Slide 43
Slide 43 text
@MaritvanDijk77
Pro tip: Consider adding that info
to the documentation!
Slide 44
Slide 44 text
@MaritvanDijk77
Documentation!
Slide 45
Slide 45 text
Documentation: Add info
@MaritvanDijk77
Slide 46
Slide 46 text
Edit documentation
@MaritvanDijk77
Slide 47
Slide 47 text
Fix dead links
@MaritvanDijk77
Slide 48
Slide 48 text
@MaritvanDijk77
Review PR’s
Slide 49
Slide 49 text
@MaritvanDijk77
Provide feedback
Slide 50
Slide 50 text
Report Issues
@MaritvanDijk77
Slide 51
Slide 51 text
Report Issues
•Ask if not sure
@MaritvanDijk77
Slide 52
Slide 52 text
Report Issues
•Ask if not sure
•Check for duplicates
@MaritvanDijk77
Slide 53
Slide 53 text
Report Issues
•Ask if not sure
•Check for duplicates
•Provide relevant information: use template
(or add one!)
@MaritvanDijk77
Slide 54
Slide 54 text
Report Issues
•Ask if not sure
•Check for duplicates
•Provide relevant information: use template
(or add one!)
•Create an MCVE (https://stackoverflow.com/
help/mcve)
@MaritvanDijk77
@MaritvanDijk77
Find a project
• Awesome for Beginners
• Up For Grabs
• Issuehub.io
• First Timers Only
• Good First Issues
Slide 67
Slide 67 text
@MaritvanDijk77
Slide 68
Slide 68 text
@MaritvanDijk77
Slide 69
Slide 69 text
Check how to contribute
• README
• CONTRIBUTING (a.k.a. HACKING)
• LICENSE (a.k.a. COPYING)
@MaritvanDijk77
Slide 70
Slide 70 text
Check how to contribute
• README
• CONTRIBUTING (a.k.a. HACKING)
• LICENSE (a.k.a. COPYING)
• Code of Conduct
@MaritvanDijk77
Slide 71
Slide 71 text
Check how to contribute
• README
• CONTRIBUTING (a.k.a. HACKING)
• LICENSE (a.k.a. COPYING)
• Code of Conduct
• Style guides
@MaritvanDijk77
Slide 72
Slide 72 text
Check how to contribute
• README
• CONTRIBUTING (a.k.a. HACKING)
• LICENSE (a.k.a. COPYING)
• Code of Conduct
• Style guides
• Contributor License Agreement (CLA)
@MaritvanDijk77
Slide 73
Slide 73 text
Check how to contribute
• README
• CONTRIBUTING (a.k.a. HACKING)
• LICENSE (a.k.a. COPYING)
• Code of Conduct
• Style guides
• Contributor License Agreement (CLA)
• Ask!
@MaritvanDijk77
Slide 74
Slide 74 text
@MaritvanDijk77
Pick a task
Slide 75
Slide 75 text
@MaritvanDijk77
Fix your own problem
Slide 76
Slide 76 text
@MaritvanDijk77
Pick a task
Slide 77
Slide 77 text
@MaritvanDijk77
Ask!
Slide 78
Slide 78 text
Set up your tools
@MaritvanDijk77
Slide 79
Slide 79 text
Get the project
•For to your profile
•Clone to your machine
•Manage remotes
@MaritvanDijk77
Slide 80
Slide 80 text
Build the project
@MaritvanDijk77
Slide 81
Slide 81 text
@MaritvanDijk77
Work on your contribution
Slide 82
Slide 82 text
Submit your contribution
@MaritvanDijk77
Slide 83
Slide 83 text
@MaritvanDijk77
Receive feedback
Slide 84
Slide 84 text
@MaritvanDijk77
Slide 85
Slide 85 text
Contribution accepted
@MaritvanDijk77
Slide 86
Slide 86 text
Contribution declined…
“No is temporary, yes is forever”
https://blog.jessfraz.com/post/the-art-of-closing/
@MaritvanDijk77
Slide 87
Slide 87 text
@MaritvanDijk77
Align
Slide 88
Slide 88 text
TL;DR
•Contributing to open source doesn’t have
to take a lot of time or programming skill
•If you want to contribute, but don’t know
how – ask the community!
•Please go and collaborate!
@MaritvanDijk77
Slide 89
Slide 89 text
TL;DR
•Contributing to open source doesn’t have
to take a lot of time or programming skill
•If you want to contribute, but don’t know
how – ask the community!
•Please go and collaborate!
@MaritvanDijk77
Slide 90
Slide 90 text
TL;DR
•Contributing to open source doesn’t have
to take a lot of time or programming skill
•If you want to contribute, but don’t know
how – ask the community!
•Please go and collaborate!
@MaritvanDijk77
Slide 91
Slide 91 text
Collaborating on
Open Source Software
@MaritvanDijk77
github.com/mlvandijk
https://maritvandijk.com/
https://maritvandijk.com/presentations/collaborating-on-open-source-software/