Contributing to Open Source
Why
- For learning
- For feedback
- For fame
- For a feature you need
Why not
- Because of your github bathroom tiles
- Because you feel you have to
- To make you feel good about yourself
Who's involved?
- Maintainers
- Contributors
- Users
User's interests
- Software should do X
- Silent majority
- Download a tarball :)
Maintainers interests
- Software should KEEP doing A-Y
- Community should work
- Software should work
- Spend little time
Contributors interests
- see Slide 1
How to start
1. Learn basic git (branch, commit, push)
Graphical tutorial http://learngitbranching.js.org/
The Git book https://git-scm.com/book/en/v1
Wait what? @Nusco explains git http://confreaks.tv/videos/gardencityrb2015-keynote-wrapping-your-head-around-git
2. Find a project and feature
- Best if you have an interest (see slide 1)
Lots of links and resources http://www.firsttimersonly.com/
Newbie friendly issue aggregator http://up-for-grabs.net/
3. Read the Issues
- Get a feel for the tone, leave if not friendly
- Search your feature, maybe someone did it already
- Don't forget the closed issues
- Great place to find a feature ("Help wanted")
4. Write an Issue
- Be polite
- Be clear about being new
- Offer to implement, don't write just yet
- Remember, nobody has time
5. Write a Pull Request
- Keep it small!11!eleven!!
- Write a good commit message
- No git commit -m - use your Editor!
- With one commit, your commit message will be your PR description
6. Live PR!
Resources
https://guides.github.com/activities/contributing-to-open-source/