How to Contribute to Kuberntes - Kubernetes Days India

How to Contribute to Kuberntes - Kubernetes Days India

Practical tips about how to contribute to Kubernetes and grow up the contributor ladder to become a reviewer and an approver.

Bb8ed71cd77d9da995685ca872b303e7?s=128

Nikhita Raghunath

March 23, 2019
Tweet

Transcript

  1. How to contribute to Kubernetes! - By Nikhita Raghunath

  2. Who am I • Software Engineer at Loodse • Technical

    Lead for SIG Contributor Experience • You can find me on: ◦ Github - nikhita ◦ Twitter - TheNikhita
  3. Contributing to Kubernetes is @TheNikhita

  4. Contributing to Kubernetes is scary. @TheNikhita

  5. Contributing to Kubernetes is intimidating. @TheNikhita

  6. Contributing to Kubernetes is hard. @TheNikhita

  7. It doesn’t have to be. @TheNikhita

  8. How can we make it easier? @TheNikhita

  9. How can we go from @TheNikhita

  10. How can we go from to @TheNikhita

  11. How can we go from to @TheNikhita

  12. Let’s Dive In! @TheNikhita

  13. Community Groups • Special Interest Groups (SIGs) - own code

    and consist of subprojects. • Working Groups (WGs) - temporary cross-SIG groups. • User Groups (UGs) - for facilitating communication for long standing topics for users. • Committees - group to taken on sensitive topics @TheNikhita
  14. Community Groups @TheNikhita

  15. How to pick a SIG • Related to your job

    @TheNikhita
  16. How to pick a SIG • Related to your job

    • Topics of Interest @TheNikhita
  17. How to pick a SIG • Related to your job

    • Topics of Interest • Which SIGs have the most documentation @TheNikhita
  18. How to pick a SIG • Related to your job

    • Topics of Interest • Which SIGs have the most documentation • Which SIGs have clear roles defined @TheNikhita
  19. How to pick a SIG • Related to your job

    • Topics of Interest • Which SIGs have the most documentation • Which SIGs have clear roles defined • Language you are comfortable with @TheNikhita
  20. Get to know the SIG • Slack channels • Mailing

    Lists • Meetings • Meeting notes @TheNikhita
  21. Use lots of emojis! @TheNikhita

  22. Lurk Around Ok to feel intimidated! Start small! @TheNikhita

  23. Lurk Around Ok to feel intimidated! Get an idea of:

    • Who is working on what • What tasks are being worked on • What’s on the roadmap Start small! @TheNikhita
  24. Local environment hack/local-up-cluster.sh to get a cluster up and running!

    More details here: https://git.k8s.io/community/contributors/deve l/running-locally.md @TheNikhita
  25. Docs 1. User docs - https://kubernetes.io/docs/concepts/ Play around and understand

    what a feature does @TheNikhita
  26. Docs 2. Contributor friendly docs • Developer Guide ◦ Code

    conventions • Contributor Guide ◦ Community conventions @TheNikhita
  27. Docs 3. KEPs - Kubernetes Enhancement Proposals • Still a

    new-ish concept • Useful to understand design decisions behind features @TheNikhita
  28. Docs 3. KEPs - Kubernetes Enhancement Proposals • Still a

    new-ish concept • Useful to understand design decisions behind features • Interested in Project Management? ◦ Help SIG PM improve the KEP process! @TheNikhita
  29. Docs 3. KEPs - Kubernetes Enhancement Proposals • Still a

    new-ish concept • Useful to understand design decisions behind features • Interested in Project Management? ◦ Help SIG PM improve the KEP process! • Interested in Memes? ◦ Help us create more of them! @TheNikhita
  30. Introduce and Ask Questions! • Who you are • What

    part you are interested to contribute to • What documentation you have read • What problems you are facing Help others help you @TheNikhita
  31. Docs (again!) But this time YOU write it! @TheNikhita

  32. Docs (again!) But this time YOU write it! BOOM....YOU HAVE

    ALREADY CONTRIBUTED NOW!! @TheNikhita
  33. None
  34. WHAT DO I WORK ON???????

  35. Scratch an itch • Want to a feature -> implement

    it • Found a bug -> fix it • Could also be smaller things like: ◦ Code isn’t clear -> refactor and add comments ◦ Script doesn’t work on your OS -> fix the script @TheNikhita
  36. Look for labels • Easier to get started with •

    Mentorship is available @TheNikhita
  37. Look for labels • SIG Labels • Kind Labels @TheNikhita

  38. Participate in roadmap planning Show up in the beginning of

    the release cycle @TheNikhita
  39. Shadow someone Join the release team! Form for shadows for

    v1.15 will be out soon!! @TheNikhita
  40. Ask away • Look at what people are working on

    and offer to help on subtasks • Ask on slack channels @TheNikhita
  41. Other (slightly ambiguous) ways Refactor, write tests and help fix

    flakes! @TheNikhita
  42. Non-code contributions @TheNikhita

  43. Non-code contributions • Issue triage @TheNikhita

  44. Non-code contributions • Issue triage • Writing blog posts @TheNikhita

  45. Non-code contributions • Issue triage • Writing blog posts •

    Community Management @TheNikhita
  46. Non-code contributions • Issue triage • Writing blog posts •

    Community Management • Moderation @TheNikhita
  47. Non-code contributions • Issue triage • Writing blog posts •

    Community Management • Moderation • Organizing events @TheNikhita
  48. Non-code contributions • Issue triage • Writing blog posts •

    Community Management • Moderation • Organizing events • Note taking https://git.k8s.io/community/contributors/guide/non-code-contributions.md @TheNikhita
  49. Code Reviews • Read code reviews @TheNikhita

  50. Code Reviews • Read code reviews • Useful to understand

    the why behind a decision @TheNikhita
  51. Code Reviews • Read code reviews • Useful to understand

    the why behind a decision • Make notes about what you learn @TheNikhita
  52. Code Reviews • Read code reviews • Useful to understand

    the why behind a decision • Make notes about what you learn • Incorporate into docs @TheNikhita
  53. Code Reviews • Read code reviews • Useful to understand

    the why behind a decision • Make notes about what you learn • Incorporate into docs • Review others’ code @TheNikhita
  54. So you found what to work on and created a

    PR. Now What? @TheNikhita
  55. Say Hi to k8s-ci-robot! @TheNikhita

  56. Sign the CLA • Individual Contributor CLA • Corporate Contributor

    CLA @TheNikhita
  57. OWNERS files 2 stage code review process: 1. /lgtm 2.

    /approve @TheNikhita
  58. Bot suggests reviewers • /cc @nikhita ◦ Requests review •

    /assign @nikhita ◦ Adds assignee Use #pr-reviews if your PR doesn’t get attention! @TheNikhita
  59. http://gubernator.k8s.io/pr/lavalamp Gubernator to check reviewer bandwidth

  60. Testing • If author is not a member: ◦ /ok-to-test

    from member • To retest failed tests: ◦ /retest • To test a single test: ◦ /test pull-kubernetes-verify @TheNikhita
  61. Understand why your PR hasn’t merged @TheNikhita

  62. Your PR gets merged!!!! @TheNikhita

  63. Contributor Ladder @TheNikhita

  64. Mentorship Opportunities • Meet Our Contributors ◦ 8pm first wednesday

    of each month ◦ #meet-our-contributors • Group Mentoring • Google Summer of Code ◦ Kubernetes is participating in GSoC 2019! ◦ APPLY!!! • Outreachy @TheNikhita
  65. India-specific slack channels • #in-dev - for contributors • #in-users

    - for users • #in-events - for events happening in India @TheNikhita
  66. Contributors from India Reach out to these folks if you

    want to know more! Table can be found here.
  67. None