Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

How I got started •Learn: Looking for a real life project to learn in a more useful way •Contribute: Give back / Feel useful @MaritvanDijk77

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

Reasons to contribute •Learning •Give back / Feel useful •Build CV •“Scratch an itch” (fix something you need) •Other? @MaritvanDijk77

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

What to contribute: Not code @MaritvanDijk77

Slide 14

Slide 14 text

What to contribute: Not code •Documentation •Help the community •Issues •Testing •Other? •Ask! @MaritvanDijk77

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

Help the community •Answer questions •Slack •Gitter •Mailing list •Etc •Protip: Consider adding that info to the documentation! @MaritvanDijk77

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

Testing •Test a bugfix •Test a new feature •Test a new release •”Test” documentation / tutorials @MaritvanDijk77

Slide 24

Slide 24 text

What to contribute: Not time @MaritvanDijk77

Slide 25

Slide 25 text

What to contribute: Not time @MaritvanDijk77

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

Get started: Guides / Tasks • How: • CONTRIBUTING.md • README.md • What: • Solve your own problem J • Check for “Good first issue” or similar • Ask! @MaritvanDijk77

Slide 30

Slide 30 text

Get started: Tools •Git •Markdown •Programming environment • JDK / tools for your language • Package manager (Maven, npm, etc) @MaritvanDijk77

Slide 31

Slide 31 text

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