Navigating GitHub Universe


1. Why do open source
2. How GitHub works
3. GitHub best practices
What does "Open Source"
even mean?

It's like making a pizza

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."

inspecting
the source code
inspecting
your recipe
=
modifing
the source code
commenting on
your recipe
=
enhancing
the source code
giving you suggestions
=

There's a person behind the screen


Why should I care?
¯\_(ツ)_/¯


All software organizations are depended on open source software

Our world is running on open source software

Why should I still care?
¯\_(ツ)_/¯
Improve skill
Learn people skill
Build resume
Feel good
How does it work?


Version Control

It's like writing
an essay


Git
Terminology
git
GitHub
Repository

Where the history of a given codebase is stored.
Issues

Fix or feature enhancement sought by the maintainers and/or users
Fork



You
Bob


"You can do A, B, and C"
"Like this"

Commit
Saved version of code at a given point in time.

Bob

How can you recreate
what Bob did?
Pull Request
Submission of your changes in a forked repository to the original repository



You
Bob


"You can do A, B, and C"
Receipe2.0
Fork
Commit
Pull Request
Merge

Make your contribution!
but before that ...
OSS Myths

"I need to code"
NO

"I need to code"
Start small + early PR
"I'm not good enough"
NO

"I need to code"
Start small + early PR
"I'm not good enough"
NO
Find a project + ask
"I'can't code"

Project maintainer is human too, and
they care
"How to find a thing
to work on?"

The goal is to find a task that you can do
Strategies
Ask a friend
Go through your starred repos
Look through Issues



Text

http://up-for-grabs.net


Exercise
https://github.com/startupstorm/git-tutorial/issues
Which issue is the easiest?
GitHub Best Practices

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?

Project maintainer is human too, and
they care
PR
Specify what it fixes
Don't get mad
Think of it like a collaborative process

Project maintainer is human too, and
they care

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
- 902