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

How to start contributing to Open Source

How to start contributing to Open Source

or "how to become a (good) open source contributor in 1 hour"

Simon Baslé

April 20, 2017
Tweet

More Decks by Simon Baslé

Other Decks in Programming

Transcript

  1. Archetype ugly version of the archetype (don't be that guy)

    bad version of the archetype (try to not be that guy either) fix to the archetype (be THAT guy instead)
  2. the Diva feature X One feature that I'm greatly missing

    in this project is the ability to do X. Here is what I mean by feature X: (...).
  3. Discussion around adding feature X Hi! I'd like to discuss

    the addition of feature X and whether or not you have considered it in the past. If so, I'd like to know more about the rationale around not adding it. Here is a more detailed analysis of my use case and the need for feature X, as well at some implementation idea: (...). I'd be open to starting a PR exploring these too. the Diva
  4. the Riddler Strange bug while running method foo While using

    this project, I tried to apply method foo and I got a strange error about an index that was out of bounds. Did I do anything wrong?
  5. the Riddler IndexOutOfBounds when applying method foo to an empty

    List Using method foo in my code, I ran into a bug where if I pass an empty List to the method, it throws an IndexOutOfBoundsException. Here is the stack trace and a reproducible test case: Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0 at java.util.Collections$EmptyList.get(Collections.java:4454) at some.library.LibUtils.foo(LibUtils.java:54) at my.project.Application.main(Application.java:59)
  6. the Artist I fixed a minor typo in LibUtils.foo javadoc

    and added the missing javadoc for foobar. Fix typo in foo javadoc, add missing foobar javadoc
  7. I fixed a minor typo in LibUtils.foo javadoc and added

    the missing javadoc for foobar. Fix typo in foo javadoc, add missing foobar javadoc the Artist
  8. the Artist I fixed a minor typo in LibUtils.foo javadoc

    and added the missing javadoc for foobar. Fix typo in foo javadoc, add missing foobar javadoc
  9. I fixed a minor typo in LibUtils.foo javadoc and added

    the missing javadoc for foobar. Fix typo in foo javadoc, add missing foobar javadoc the Artist (commit still contains a hundred line changes from spaces to tabs)
  10. the Artist I fixed a minor typo in LibUtils.foo javadoc

    and added the missing javadoc for foobar. Additionally I noticed there was no formatter setting shared in the project but it seemed to follow tab-based formatting, so I used that. Since foo javadoc formatting was off, I fixed it but limited my change to these 2 methods... Fix typo in foo javadoc, add missing foobar javadoc
  11. ...but squash & merge ✒ at the end (maybe as

    controversial as tabs vs space) ⚠
  12. credits • Whiteboard - CC0 (via WikiMedia) • Cork board

    - CC-By-NC-SA (Caitlin Bussey, via Flickr) • Tack - CC0 (via PixaBay) • Sketch of The May House in Avondale - CC-By-Sa (Evan Roshek via WikiMedia) • Joy Oil gas station blueprints - PubDom (via WikiMedia) • Pilots at work on Thai Smile Airbus A320 - CC-By (Max Alpha X-ray via WikiMedia) • Meeting Room - CC0 (via Pexels)