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.

62b3ae0dcd8e12a5eedd1fbe417bc6c8?s=128

Marit van Dijk

April 03, 2019
Tweet

Transcript

  1. @MaritvanDijk77 github.com/mlvandijk medium.com/@mlvandijk Collaborating on Open Source Software

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

    project to learn in a more useful way •Contribute: Give back / Feel useful @MaritvanDijk77
  3. Why Cucumber? •Started: I liked using it •Stayed: The community

    @MaritvanDijk77
  4. Why Cucumber? •Started: I liked using it •Stayed: The community

    @MaritvanDijk77
  5. Why Cucumber? •Started: I liked using it •Stayed: The community

    @MaritvanDijk77
  6. Reasons to contribute •Learning •Give back / Feel useful •Build

    CV •“Scratch an itch” (fix something you need) •Other? @MaritvanDijk77
  7. What to contribute: Code •Fix bugs •Add new features https://github.com/cucumber/cucumber-jvm/pull/1200

    @MaritvanDijk77
  8. What to contribute: Code •Fix bugs •Add new features @MaritvanDijk77

  9. What to contribute: Code •Fix bugs •Add new features •Refactor

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

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

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

    •Add unit tests •Upgrade dependencies •Review PR’s @MaritvanDijk77
  13. What to contribute: Not code @MaritvanDijk77

  14. What to contribute: Not code •Documentation •Help the community •Issues

    •Testing •Other? •Ask! @MaritvanDijk77
  15. Documentation •Fix typos •Fix dead links •Edit for clarity •Add

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

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

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

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

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

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

    •Protip: Consider adding that info to the documentation! @MaritvanDijk77
  22. 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
  23. Testing •Test a bugfix •Test a new feature •Test a

    new release •”Test” documentation / tutorials @MaritvanDijk77
  24. What to contribute: Not time @MaritvanDijk77

  25. What to contribute: Not time @MaritvanDijk77

  26. 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
  27. 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
  28. 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
  29. Get started: Guides / Tasks • How: • CONTRIBUTING.md •

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

    tools for your language • Package manager (Maven, npm, etc) @MaritvanDijk77
  31. @MaritvanDijk77 github.com/mlvandijk medium.com/@mlvandijk Collaborating on Open Source Software