@ignasi35
Contributing to OSS
Ignasi Marimon-Clos (Lightbend)
@ignasi35
Contributing
• Code (my PR’s)

• Issue

• 3rd party PR review

• …
@ignasi35
Contributing
• Project Site

• Docs

• Forums

• Chats

• Stack Overflow
• Talks

• Workshops

• Blogposts

• Tutorials

• …
@ignasi35
Task 1
Get a GitHub account: https://github.com
@ignasi35
Impediments
@ignasi35
Impediments
• It’s all in your head

• Really

• Even pros make mistakes

• Yeah, just do it

• It’s all in your head
@ignasi35
Impediments
https://github.com/akka/akka/pull/29623
Do this:
@ignasi35
There’s people on the
other side
@ignasi35
Impediments
https://github.com/akka/akka-persistence-dynamodb/pull/74
Or this:
@ignasi35
Impediments
https://github.com/akka/akka-persistence-dynamodb/pull/74
Or this:
@ignasi35
https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition/issues/488
Don’t do this:
@ignasi35
Fighting the Impediments
• Allocate fixed weekly time

• Sign up to Hacktoberfest
@ignasi35
Fighting the Impediments
• No-one is watching. And if someone is watching, that’s even
better! You will mess things up, but after 3 years and 200 PRs
your successes will exceed your messes.
@ignasi35
There’s people on the
other side
@ignasi35
Hacktoberfest
• Contribute

• Get SWAG
@ignasi35
Task 2
Register to Hacktoberfest: https://hacktoberfest.digitalocean.com/
@ignasi35
Hacktoberfest 2020
• Abuse

• Only counts PRs

• Misses the point
@ignasi35
Task 3
Start a Contribution
@ignasi35
Tips
@ignasi35
Tips
• Don’t do it for the t-shirt
https://hacktoberfest.digitalocean.com/hacktoberfest-update
https://twitter.com/domenic/status/1311355857465225218
@ignasi35
There’s people on the
other side
@ignasi35
Tips - code
• How To Write a Git Commit Message

• How to write a PR (to OSS) Message

• Manage expectations (newbie, need-help, low dedication,
seek-guidance, “WIP - …”)

• Why did you do this PR? Related issues? Related discussion
(SO/forums/chat)? Why solve it like this (trade-offs)?

• Read CONTRIBUTING.md

• Follow steps in PR template (if exists)
@ignasi35
–me
“Docs are code.”
@ignasi35
Tips - code
• How To Write a Git Commit Message

• How to write a PR (to OSS) Message

• Manage expectations (newbie, need-help, low dedication,
seek-guidance, “WIP - …”)

• Why did you do this PR? Related issues? Related discussion
(SO/forums/chat)? Why solve it like this (trade-offs)?

• Read CONTRIBUTING.md

• Follow steps in PR template (if exists)
META
@ignasi35
Tips - code
• Start small

• Really small

• Or automated (lint, automated replace, …)

• There’s always time for a bug fix or even a new feature. You’ll
get there. Know the irks, the layout and the team first.
@ignasi35
https://github.com/akka/akka/pull/29623
Do this:
@ignasi35
Task 3
Start a Contribution
Akka repos
Akka core (actors, streams, cluster,…)
Akka HTTP
Alpakka and Alpakka-Kafka
Akka Persistence plugins
Akka gRPC
Akka Management (ops)
Akka Meta
Akka Projection
Akka Platform Guide
Akka Samples
…
Akka repos
Akka core (actors, streams, cluster,…)
Akka HTTP
Alpakka and Alpakka-Kafka
Akka Persistence plugins
Akka gRPC
Akka Management (ops)
Akka Meta
Akka Projection
Akka Platform Guide
Akka Samples
…
@ignasi35
How to choose?
• Find out what the team is focused on

• Contribute an area you are familiar with already

• Find out where the team requested for help already
@ignasi35
How to choose?
• Find out what the team is focused on
@ignasi35
How to choose?
• Find out what the team is focused on
@ignasi35
There’s people on the
other side
@ignasi35
How to choose?
• Contribute an area you are familiar with already
@ignasi35
How to choose?
• Contribute an area you are familiar with already
@ignasi35
How to choose?
• Find out where the team requested for help already
@ignasi35
How to choose?
• Find out where the team requested for help already
https://github.com/akka/akka-management/issues/643
@ignasi35
I chose, now what?
• Create an issue (if none exists) to discuss details

• Let other contributors know you are working on it

• Hack, hack, hack
@ignasi35
Ready? PR!
• When you think you are done, send a PR

• Make sure you signed the CLA

• Make sure code is formatted, tests pass, etc…

• Await 1 or 2 approvals (depends on repo)
@ignasi35
Task 3
Start a Contribution
@ignasi35
Thanks!

Contributing to Akka (Hacktoberfest 2020)