Navigating GitHub Universe
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4150100/logo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/3490789/raise_hands.png)
1. Why do open source
2. How GitHub works
3. GitHub best practices
What does "Open Source"
even mean?
![](https://emojipedia-us.s3.amazonaws.com/thumbs/120/apple/96/thinking-face_1f914.png)
It's like making a pizza
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4183793/pizza.png)
OSS is like that
People help you make (hopefully) better pizza
"Open source software is software with source code that anyone can inspect, modify, and enhance."
![](https://emojipedia-us.s3.amazonaws.com/thumbs/120/apple/96/hammer-and-wrench_1f6e0.png)
inspecting
the source code
inspecting
your recipe
=
modifing
the source code
commenting on
your recipe
=
enhancing
the source code
giving you suggestions
=
![](https://emojipedia-us.s3.amazonaws.com/thumbs/120/apple/96/slice-of-pizza_1f355.png)
There's a person behind the screen
![](https://emojipedia-us.s3.amazonaws.com/thumbs/120/apple/96/slice-of-pizza_1f355.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4259464/stick_figure.png)
Why should I care?
¯\_(ツ)_/¯
![](https://assets.entrepreneur.com/content/3x2/1300/1405612741-airbnb-why-new-logo.jpg)
![](https://cdn.vox-cdn.com/uploads/chorus_asset/file/6466217/fixed-google-logo-font.png)
All software organizations are depended on open source software
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4260477/govuk_launch.png)
Our world is running on open source software
![](https://emojipedia-us.s3.amazonaws.com/thumbs/120/apple/96/person-raising-both-hands-in-celebration_1f64c.png)
Why should I still care?
¯\_(ツ)_/¯
Improve skill
Learn people skill
Build resume
Feel good
How does it work?
![](https://emojipedia-us.s3.amazonaws.com/thumbs/120/apple/96/thinking-face_1f914.png)
![](https://assets-cdn.github.com/images/modules/logos_page/GitHub-Logo.png)
Version Control
![](https://git-scm.com/images/branching-illustration@2x.png)
It's like writing
an essay
![](http://petapixel.com/assets/uploads/2015/07/psdrevisioning.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4260138/crash_course.png)
Git
Terminology
git
GitHub
Repository
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4259774/github_ui.png)
Where the history of a given codebase is stored.
Issues
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4259774/github_ui.png)
Fix or feature enhancement sought by the maintainers and/or users
Fork
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4259774/github_ui.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4259464/stick_figure.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4259464/stick_figure.png)
You
Bob
![](https://emojipedia-us.s3.amazonaws.com/thumbs/120/apple/96/slice-of-pizza_1f355.png)
![](https://emojipedia-us.s3.amazonaws.com/thumbs/120/apple/96/slice-of-pizza_1f355.png)
"You can do A, B, and C"
"Like this"
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4260085/fork_visualized.png)
Commit
Saved version of code at a given point in time.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4259464/stick_figure.png)
Bob
![](https://emojipedia-us.s3.amazonaws.com/thumbs/120/apple/96/slice-of-pizza_1f355.png)
How can you recreate
what Bob did?
Pull Request
Submission of your changes in a forked repository to the original repository
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4260101/pr.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4259464/stick_figure.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4259464/stick_figure.png)
You
Bob
![](https://emojipedia-us.s3.amazonaws.com/thumbs/120/apple/96/slice-of-pizza_1f355.png)
![](https://emojipedia-us.s3.amazonaws.com/thumbs/120/apple/96/slice-of-pizza_1f355.png)
"You can do A, B, and C"
Receipe2.0
Fork
Commit
Pull Request
Merge
![](https://media.giphy.com/media/c5gKu4AQ4Y64g/giphy.gif)
Make your contribution!
but before that ...
OSS Myths
![](http://nerdist.com/wp-content/uploads/2015/10/MythBusterEnd_FEAT.jpg)
"I need to code"
NO
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4260193/typo_fix.png)
"I need to code"
Start small + early PR
"I'm not good enough"
NO
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4260200/early_feedback.png)
"I need to code"
Start small + early PR
"I'm not good enough"
NO
Find a project + ask
"I'can't code"
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4259464/stick_figure.png)
Project maintainer is human too, and
they care
"How to find a thing
to work on?"
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/3741528/confused.gif)
The goal is to find a task that you can do
Strategies
Ask a friend
Go through your starred repos
Look through Issues
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4260223/anyone.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4260225/good_first.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4260536/contributing.png)
Text
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4260523/upforgrabs.png)
http://up-for-grabs.net
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4260457/i_choose_you.gif)
![](https://cdn.shopify.com/s/files/1/1061/1924/files/Clapping_Hands_Emoji.png?9898922749706957214)
Exercise
https://github.com/startupstorm/git-tutorial/issues
Which issue is the easiest?
GitHub Best Practices
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4260445/joe.png)
Coding / Doc
Follow the coding style!
Issues
Be respectful
Specify what went wrong
Give it some time
Exercise
https://github.com/startupstorm/git-tutorial/issues
Which issue is a good bug issue?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4259464/stick_figure.png)
Project maintainer is human too, and
they care
PR
Specify what it fixes
Don't get mad
Think of it like a collaborative process
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4259464/stick_figure.png)
Project maintainer is human too, and
they care
![](https://s3.amazonaws.com/media-p.slid.es/uploads/42150/images/4260607/hacktoberfest.png)
http://up-for-grabs.net
Find your project!
https://github.com/startupstorm/git-tutorial
Git Intro
Navigating GitHub Universe
By Atsushi Yamamoto
Navigating GitHub Universe
- 1,101