$30 off During Our Annual Pro Sale. View Details »

Kubernetes SIG Contributor Experience Deep Dive

Kubernetes SIG Contributor Experience Deep Dive

The Kubernetes Contributor Experience Special Interest Group (SIG) is tasked with developing and sustaining a healthy contributor community. Things like feature velocity, community scaling, mentoring, pull request latency, and more all fall within scope of the SIG. In this talk, we will provide an introduction to SIG Contributor Experience, its role within the project, and dive into the various subprojects that support its mission. Additionally, we will provide a general community update and go over how you can get involved.

Bob Killen

May 01, 2021
Tweet

More Decks by Bob Killen

Other Decks in Technology

Transcript

  1. Welcome to
    SIG Contributor Experience

    View Slide

  2. Who are we?
    Alison Dowdney
    @alisondy
    Nikhita Raghunath
    @nikhita
    Christoph Blecker
    @cblecker
    Bob Killen
    @mrbobbytables

    View Slide

  3. What is the Kubernetes Community
    #2 OSS project by developer activity*
    #3 project by Pull Requests*
    Source: devstats
    Community Stats (March 2021)
    Contributors 56,000+
    Org Members 1,275~
    Repos 320~
    Pull Requests 195,000+
    Slack 120,000+
    * As of 2021-01-11 - Ref: CNCF Velocity Report

    View Slide

  4. Confidential │ ©2020 VMware, Inc.

    View Slide

  5. What we do
    “The Contributor Experience Special Interest Group (SIG) is responsible for
    improving the experience of those who upstream contribute to the Kubernetes
    project. We do this by creating, and maintaining programs and processes that
    promote community health and reduce project friction, while retiring those
    programs and processes that don't. Being conscientious of our contributor base is
    critical to scaling the project, growing the ecosystem, and helping the project
    succeed.”
    - SIG Contributor Experience Charter

    View Slide

  6. First things first
    ● Community Group List:
    https://k8s.dev/groups
    ● Community Meeting List:
    https://k8s.dev/calendar

    View Slide

  7. Teams
    ● Events
    ● Contributor Marketing
    ● GitHub Admins
    ● Stream Team
    ● Moderators
    ● “Community Managers”

    View Slide

  8. How we do it...subprojects
    ● Community - Owns and manages overall community repo, including community group
    documentation and operations.
    ● Community Management - Manages operations and policy for upstream community group
    communication platforms.
    ● Contributor Documentation - Writes and maintains documentation around contributing to
    Kubernetes, including the Contributor's Guide, Developer's Guide, and contributor website.
    ● Devstats - Maintains and updates https://k8s.devstats.cncf.io, including taking requests for new
    charts.
    https://git.k8s.io/community/sig-contributor-experience#subprojects

    View Slide

  9. How we do it...subprojects
    ● Events - Creates and runs contributor-focused events, such as the Contributor Summit. Event
    Teams are part of this subproject.
    ● GitHub Management - Manages and controls Github permissions, repos, and groups, including
    Org Membership.
    ● K8s.io - Creates and maintains shortcuts and automation apps running in the k8s.io domain.
    ● Mentoring - Oversees and develops programs for helping contributors ascend the contributor
    ladder, including the New Contributor Workshops, Meet Our Contributors, and other programs.
    ● Slack Infra - Creates and maintains tools and automation for Kubernetes Slack.
    https://git.k8s.io/community/sig-contributor-experience#subprojects

    View Slide

  10. Community Management
    ● Mailing Lists and Calendars
    ○ All community groups have public meetings with notes
    ○ Join the list of the thing you’re interested in
    ● YouTube
    ○ Check out youtube.com/kubernetescommunity

    View Slide

  11. Community Management
    ● Community Repo
    ○ OWNERs of github.com/kubernetes/community
    ○ “Meta of the meta” - governance documentation, election procedures, values.md, anything
    steering wants us to oversee or janitorialize.
    ● Zoom
    ○ TLDR: Keep your clients up to date
    ● discuss.k8s.io
    ○ Community forum with related k8s topics
    ● Moderators
    ○ Always looking for experienced mods.

    View Slide

  12. ● Broken out as its own subproject!
    ● Manage the Kubernetes Contributor Twitter - @k8sContributors
    ● Focused on Contributor focused content and stories
    ● KubeCon NA 2019 Talk on the Marketing Team: Building Better Communication for
    Kubernetes Contributors with Marketing
    Contributor Comms (marketing)

    View Slide

  13. Contributors Documentation
    ● Contributor Guide
    ● Developer Guide
    ○ Undergoing audit and update
    ● Contributor Site
    ○ Publish contributor guide, community
    calendar, release information and more

    View Slide

  14. DevStats
    ● Toolset to visualize GitHub archives
    (GitHub events) using Grafana
    dashboards
    ● Dashboards have been re-evaluated
    to support the needs of the
    community groups.

    View Slide

  15. Events
    Shifted to virtual events focused on
    community building and fun
    2020 Community Celebration

    View Slide

  16. GitHub Management
    ● Manages and controls Github permissions, repos, and groups, including Org
    Membership.
    ● Kubernetes-incubator Org retired
    ● Working on master -> main default branch rename
    ○ k8s.dev/rename - Guide for subproject owners to migrate their repos

    View Slide

  17. Mentoring Prereq - The ladder
    Subproject
    Owner
    - Set priorities and approve proposals for subproject
    - Responsibility and leadership for entire repository/directory
    Approver - Approve contributions for acceptance
    - Highly experienced reviewer and contributor in subproject
    Reviewer - History of reviewing; reviews frequently
    - Authorship in subproject
    Member - Active contributor to the project
    - Sponsored by two Reviewers
    Non-member Contributors

    View Slide

  18. Mentoring
    ● Programs / Initiatives:
    ○ Meet our Contributors - AMA with current contributors
    ○ Group Mentoring Cohorts - Semi-structured group mentoring initiative with a small group of
    people
    ○ Shadow Programs (Building Teams) - Scalable apprenticeship program
    ○ Google Summer of Code (GSoC) - Internship program
    ○ Outreachy Internships - Internship Program
    ○ New Contributor Workshop - more on this in a bit
    ESSENTIAL TO OVERALL PROJECT HEALTH

    View Slide

  19. Mentoring - New Contributor Workshop
    ● Formerly an all day workshop hosted as a
    part of the Contributor Summits
    ● Being reworked to be piecemeal and targeted
    towards online only
    ● Can be found in the future on k8s.dev

    View Slide

  20. Slack infra
    ● Slack tooling has enabled us to manage a 120k user
    Slack
    ● K8s Moderator bot
    ● Announcebot - send messages to any number of
    channels

    View Slide

  21. How you can Contribute

    View Slide

  22. View Slide

  23. Getting involved...the SIG Meeting
    ● Every SIG/WG/UG has regularly
    scheduled meetings
    ● All meetings are uploaded to the
    Kubernetes Community YouTube
    Channel
    ● SIG ContribEx Mailing List
    ...sometimes we have random hat days too!

    View Slide

  24. Tips on your first SIG Meeting
    ● Find a buddy
    ● Volunteer to take notes
    ● Attend regularly
    ● Small, dependable contributions > volunteering for the world
    ● SIGs should have a list of “good first issues” for you to chew on,
    if they don’t then … start with issue triaging

    View Slide

  25. There are non-code related paths available

    View Slide

  26. Where to find us
    ● Chairs
    ○ @mrbobbytables
    ○ @alisondy
    ● Technical Leads
    ○ @cblecker
    ○ @nikhita
    ● Home page: README link
    ● Slack channel: https://kubernetes.slack.com/messages/sig-contribex
    ● List: https://groups.google.com/forum/#!forum/kubernetes-sig-contribex

    View Slide

  27. Thank you!

    View Slide