Presented at Open Source 101 2023 - Charlotte
Presented by Keegan Campbell, GitHub
Title: Zero to Open Source Contributor
Abstract: In this talk aimed squarely at newer developers, GitHub's Keegan Campbell will discuss how to be a successful contributor on GitHub's open source projects, skills that will be broadly applicable across the industry. I will open with the basics: read the contributing.md, be kind, and consider the project's goals and directions when submitting. When the project is not well-established or is missing ideal documentation, I'll share strategies for overcoming and espousing a "campground mentality" to leave the project better off because of your interaction. We will discuss the machinations required to contribute (forking, PR submission, merging). I'll describe how to consider testing appropriately from a maintainer's perspective, and detail what we look for in a successful issue or PR writeup. I will conclude by giving tips on how to follow through on a PR, responding to feedback without firing and forgetting, and tricks to speed your PRs along to the approval and release phase. By the end of the talk, attendees will feel empowered and confident when submitting contributions to public repositories.
4. Agenda
● Basic background
● Picking a project to contribute to
● Picking an issue once you have a project
● Break
● Pull request submission "lab"
● Pull request follow-up
● Conclusion
● Questions
5. Open source overview
● Start: Bell Labs ~1970s
● Closed source software companies fight the movement
● Figureheads of the open source movement
● Tidal shift
6. Open source overview
● Start: Bell Labs ~1970s
● Closed source software companies fight the movement
● Figureheads of the open source movement
● Tidal shift
7. Why should you care?
● Altruistic reasons
● Selfish reasons
8. Why should you care?
● Altruistic reasons
● Selfish reasons
9. ● There are repositories
● Repos have issues
● Repos have PRs
● PRs get merged
● Commits get released
Life cycle of an
open source
contribution
Open Source 101 / Zero to Open Source Contributor
@kfcampbell / 2023-03-23
10. ● This is the hard part!
● My first time
● In an ideal world
Picking a project to
contribute to
11. What do you want out of open source?
Open Source 101 / Zero to Open Source Contributor
@kfcampbell / 2023-03-23
12. What do you want out of open source?
Get comfortable with tooling and process
Open Source 101 / Zero to Open Source Contributor
@kfcampbell / 2023-03-23
13. What do you want out of open source?
Build a portfolio
Open Source 101 / Zero to Open Source Contributor
@kfcampbell / 2023-03-23
14. Tips for picking a
project
● Familiarity is best
● Online aggregators
● Events
15. Tips for picking a
project
● Join social stuff
● The hard part is understanding
● It's okay to try and fail (and try
and fail, and try and fail)
16. Pick an issue
Now what?
Open Source 101 / Zero to Open Source Contributor
@kfcampbell / 2023-03-23
17. ● Go small
● Good first issue tags
● @bdougie's take
● Non-application changes
Picking an issue
Open Source 101 / Zero to Open Source Contributor
@kfcampbell / 2023-03-23
23. PR follow up
Be kind
Enable
notifications?
Give it some time Poke them
Maintaining open
source software
is often thankless
Responding quickly
increases your odds
of getting merged
Who needs
immediate
gratification?
Add a comment on
the issue, can also
@-mention them
Open Source 101 / Zero to Open Source Contributor
@kfcampbell / 2023-03-23
24. PR follow up
Take their advice
Multiple rounds of
review is okay
Re-read the entire
PR when
responding
Be kind
Within reason, of
course
Who needs
immediate
gratification?
Save time by
preventing
mistakes
Remember there
are humans on
the other side
Open Source 101 / Zero to Open Source Contributor
@kfcampbell / 2023-03-23
25. Conclusion
● Open source is wonderful
● Picking a project and getting set up is most of the work
● We did a "lab" on the process of contribution
● Tips on following up
Open Source 101 / Zero to Open Source Contributor
@kfcampbell / 2023-03-23