This is targeted at existing developers who are intimidated or lack knowledge about contributing to open-source repos. They should come away:
inspired to contribute
aware of CONTRIBUTING.md, forked repos
aware of the perspectives of maintainers
Why?
You are here, because you're already interested in open-source. Yes! Amazing!
Why are you doing your job for free or very very cheap?
You are not. You're building something cool and amazing with a number of other contributors with no need to compromise on the vision for financial gain.
You are learning new skills and gaining experience.
You are building a library of examples that travel with you from job-to-job.
You're making the acquaintance of incredible people across the industry.
"Your time and attention is a precious gift."
You can make a difference.
What? - Let's sprinkle these.
(baby steps)
PR Definition: code changes that are attached to a description
Issue - not necessarily an issue. Could be a bug. Could be a change or feature request. Could be an environment or infrastructure change.
How?
Find an issue
Most people say to find something labeled Good First Issue, but I think that's the wrong way to go about it.
https://goodfirstissue.dev/https://goodfirstissues.com/
Dev Environment Setup is HARD. Getting up to speed on a codebase is HARD.
Find a Good First Repo
Your values will vary.
Interested in the tech or is it useful?
Prompt PR Reviews
Clear Issues
Experience with the stack?
Docker Setup
"I've got Rails experience"
RubyForGood | Forem | Rails
Todo: identify Ruby only repos and contribute during Hacktoberfest to try them out
(Not for RubyConf > )"Hacktoberfest was Ruby on Rails last year and they're morally required to tag good-faith PRs."
Find a good issue
Hardest
Changing setup/framework/etc
I have to maintain your preferred setup.
Harder - Do you have a problem?
Convince maintainers this is a good idea or common problem.
Easiest - Pick an existing Issue
You understand the description
Can you reproduce it?
Is it small in scope?
Step-by-Step
Read the Contributing Guide (It's at CONTRIBUTING.md or in the README.md of smaller repos.)
Create a Forked Repo
Create an upstream remote to pull changes from the original repository
Run the tests
Reproduce the issue
Go code, document, or translate!
push to your forked repo
Create a PR that points to the original repo
point to upstream or using gh pr create
Review
YOU DID IT! You made a PR!
This is enough. Your PR lies in the hands of the maintainers now. I had a PR on BlaysMod that sat untouched for YEARS. I've had 2 PRs expire under stalebot's wrath on Rails. This is okay. Your effort was not wasted. The act of creating the PR built muscles and knowledge that are valuable, whether others see that or not. If you never hear a reply, this does not reflect poorly on you. Maintainers are busy people. Human people who have preferences and imposter syndrome and feelings.
make sure CI passes
give it a good description
closes #issue
respond to review comments quickly
maintainers have to live with your code
Reasons your PR has no review
Maintainer is on vacation
they don't work on this repo anymore
they've been really slammed with a project at work and now they have 20 PRs to review, and it feels overwhelming, so they're going to curl up on the couch and watch the Office for the 7th time instead of reviewing anything.
Types of Contributions:
PR review and reproducing bugs
Creating Issues
Code
Documentation (Harder than you think)
Translations
If you create something cool and contribute, please let me know!!
(me slide)
Thank you! Any questions?
Pre-Talk
[x] Create the talk on Google Slides
[x] Add the talk to the talks folder in ChaelCodes Google Drive
[x] Create a Talk promo image (1280x720) or (1920x1080)
[x] Create a short talk promo bio
During the Talk
[x] Record the Talk at 1920x1080 for YouTube
After the Talk
[x] Upload the Talk to YouTube
[x] Add it to the Talks playlist
[x] Release a Talk page with RSS update
Talk Page
[ ] Does it generate a good looking Twitter Image?
[ ] Have you embedded the YouTube video?
[ ] Have you added it to the /Talks page?
[ ] Is there a description of the major points?
YouTube Video
[ ] Thumbnail good?
[ ] Description?
[ ] 10-15 tags?
[ ] Do you have chapters?
Assets
Talk Thumbnail Promo imageTalk Description Short30s clip for Twitter/Promotion of the intro of the talk
Takeaways
This is targeted at existing developers who are intimidated or lack knowledge about contributing to open-source repos. They should come away:
aware of the perspectives of maintainers
Why?
You are here, because you're already interested in open-source. Yes! Amazing!
Why are you doing your job for free or very very cheap?
You are not. You're building something cool and amazing with a number of other contributors with no need to compromise on the vision for financial gain.
You can make a difference.
What? - Let's sprinkle these.
(baby steps) PR Definition: code changes that are attached to a description
Issue - not necessarily an issue. Could be a bug. Could be a change or feature request. Could be an environment or infrastructure change.
How?
Find an issue
Most people say to find something labeled Good First Issue, but I think that's the wrong way to go about it. https://goodfirstissue.dev/ https://goodfirstissues.com/ Dev Environment Setup is HARD. Getting up to speed on a codebase is HARD.
Find a Good First Repo
Your values will vary.
(Not for RubyConf > )"Hacktoberfest was Ruby on Rails last year and they're morally required to tag good-faith PRs."
Find a good issue
Hardest
Step-by-Step
gh pr create
Review
YOU DID IT! You made a PR!
This is enough. Your PR lies in the hands of the maintainers now. I had a PR on BlaysMod that sat untouched for YEARS. I've had 2 PRs expire under stalebot's wrath on Rails. This is okay. Your effort was not wasted. The act of creating the PR built muscles and knowledge that are valuable, whether others see that or not. If you never hear a reply, this does not reflect poorly on you. Maintainers are busy people. Human people who have preferences and imposter syndrome and feelings.
Reasons your PR has no review
Types of Contributions:
If you create something cool and contribute, please let me know!!
(me slide)
Thank you! Any questions?
Pre-Talk
During the Talk
After the Talk
Talk Page
YouTube Video
Assets
Talk Thumbnail Promo image
Talk Description Short
30s clip for Twitter/Promotion of the intro of the talk