Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Contributing to Open Source

Contributing to Open Source

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/

Avatar for Martin Meyerhoff

Martin Meyerhoff

August 03, 2016
Tweet

More Decks by Martin Meyerhoff

Other Decks in Technology

Transcript

  1. Why not? • Because of your github bathroom tiles •

    Because you feel you have to • To make you feel good about yourself • To change the world (doesn’t happen with computers)
  2. Maintainer interests • Software should KEEP doing A-Y • Community

    should work • Software should work • Spend little time
  3. Learn basic git • http://learngitbranching.js.org/ (Graphical tutorial) • https://git-scm.com/book/en/v1 (Graphical

    tutorial) • http://confreaks.tv/videos/gardencityrb2015- keynote-wrapping-your-head-around-git (@nusco explains git internals)
  4. Find a project and feature • Best if you have

    an interest • http://www.firsttimersonly.com/ (Lots of links and resources) • http://up-for-grabs.net/ (Newbie friendly issue aggregator)
  5. Read the Issues • Get a feel for the tone,

    leave if not friendly • Search your feature, maybe someone asked already • Don't forget the closed issues • Great place to find a feature („Help wanted“) • Look at the recently merged Pull Requests
  6. Write an Issue • Be polite • Be clear about

    being new • Offer to implement, don't write just yet • Remember, everybody has a life, loved ones, and maintains often in their free time
  7. Write a Pull Request • Keep it small!11!eleven!! • Write

    a good commit message (http:// chris.beams.io/posts/git-commit/) • No git commit -m . Use your Editor! • With one commit, your commit message will be your PR description