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

Collaborating on Open Source Software

Collaborating on Open Source Software

Slides for my presentation at Cukenfest, London on April 3rd, 2019.

Marit van Dijk

April 03, 2019
Tweet

More Decks by Marit van Dijk

Other Decks in Programming

Transcript

  1. How I got started •Learn: Looking for a real life

    project to learn in a more useful way •Contribute: Give back / Feel useful @MaritvanDijk77
  2. Reasons to contribute •Learning •Give back / Feel useful •Build

    CV •“Scratch an itch” (fix something you need) •Other? @MaritvanDijk77
  3. What to contribute: Code •Fix bugs •Add new features •Refactor

    https://github.com/cucumber/cucumber-jvm/pull/1590 @MaritvanDijk77
  4. What to contribute: Code •Fix bugs •Add new features •Refactor

    •Add unit tests https://github.com/cucumber/cucumber-jvm/pull/1194 @MaritvanDijk77
  5. What to contribute: Code •Fix bugs •Add new features •Refactor

    •Add unit tests •Upgrade dependencies •Review PR’s @MaritvanDijk77
  6. What to contribute: Code •Fix bugs •Add new features •Refactor

    •Add unit tests •Upgrade dependencies •Review PR’s @MaritvanDijk77
  7. Documentation •Fix typos •Fix dead links •Edit for clarity •Add

    missing info •Point out what’s unclear / missing (issues) •Review PR’s @MaritvanDijk77
  8. Documentation •Fix typos •Fix dead links •Edit for clarity •Add

    missing info •Point out what’s unclear / missing (issues) •Review PR’s @MaritvanDijk77
  9. Documentation •Fix typos •Fix dead links •Edit for clarity •Add

    missing info •Point out what’s unclear / missing (issues) •Review PR’s @MaritvanDijk77
  10. Documentation •Fix typos •Fix dead links •Edit for clarity •Add

    missing info •Point out what’s unclear / missing (issues) •Review PR’s @MaritvanDijk77
  11. Documentation •Fix typos •Fix dead links •Edit for clarity •Add

    missing info •Point out what’s unclear / missing (issues) •Review PR’s @MaritvanDijk77
  12. Documentation •Fix typos •Fix dead links •Edit for clarity •Add

    missing info •Point out what’s unclear / missing (issues) •Review PR’s @MaritvanDijk77
  13. Help the community •Answer questions •Slack •Gitter •Mailing list •Etc

    •Protip: Consider adding that info to the documentation! @MaritvanDijk77
  14. Issues •Report issues • Ask if not sure • Check

    for duplicates • Provide relevant information: use template (or add one!) • Create an MCVE (https://stackoverflow.com/help/mcve) •Reproduce and add info (or tests!) •Triage & label issues @MaritvanDijk77
  15. Testing •Test a bugfix •Test a new feature •Test a

    new release •”Test” documentation / tutorials @MaritvanDijk77
  16. What to contribute: Not time •Most projects run on volunteers

    •You (or your employer) can donate money •Cucumber uses Open Collective: https://opencollective.com/cucumber @MaritvanDijk77
  17. How to get started •Find a project •Check how to

    contribute to that project •Pick a task •Set up tools (if needed) •Have fun! @MaritvanDijk77
  18. Get started: Find a project •A project you use •Websites

    •https://github.com/collections/choosing-projects •https://hacktoberfest.digitalocean.com/ (oktober) •https://www.codetriage.com/ •https://up-for-grabs.net/#/ •https://www.firsttimersonly.com/ @MaritvanDijk77
  19. Get started: Guides / Tasks • How: • CONTRIBUTING.md •

    README.md • What: • Solve your own problem J • Check for “Good first issue” or similar • Ask! @MaritvanDijk77
  20. Get started: Tools •Git •Markdown •Programming environment • JDK /

    tools for your language • Package manager (Maven, npm, etc) @MaritvanDijk77