Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Priyanka Saggu, SUSE Madhav Jivrajani, VMware Kaslin Fields, Google Inflections & Reflections from Kubernetes SIG ContribEx on Community Growth & Sustainability

Slide 3

Slide 3 text

Who Are We? Madhav Jivrajani @MadhavJivrajani Kaslin Fields @kaslinfields Priyanka Saggu @_psaggu

Slide 4

Slide 4 text

Before We Start…

Slide 5

Slide 5 text

🚨Help migrate Prow jobs to community clusters! See https://github.com/kubernetes/test-infra/issues/29722 for details.

Slide 6

Slide 6 text

Inflections & Reflections from Kubernetes SIG ContribEx on Community Growth & Sustainability

Slide 7

Slide 7 text

Inflections & Reflections from Kubernetes SIG ContribEx on Community Growth & Sustainability

Slide 8

Slide 8 text

How Does ContribEx… ContribEx?

Slide 9

Slide 9 text

How Does ContribEx… ContribEx? Subprojects!

Slide 10

Slide 10 text

Subprojects Overview ● Community - Owns and manages overall community repo, including community group documentation and operations. https://git.k8s.io/community/sig-contributor-experience#subprojects

Slide 11

Slide 11 text

Subprojects Overview ● 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. https://git.k8s.io/community/sig-contributor-experience#subprojects

Slide 12

Slide 12 text

Subprojects Overview ● 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. https://git.k8s.io/community/sig-contributor-experience#subprojects

Slide 13

Slide 13 text

Subprojects Overview ● 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

Slide 14

Slide 14 text

Subprojects Overview ● Elections - New subproject! Oversees running elections in the community. Maintains documentation and software for elections. https://git.k8s.io/community/sig-contributor-experience#subprojects

Slide 15

Slide 15 text

Subprojects Overview ● Elections - New subproject! Oversees running elections in the community. Maintains documentation and software for elections. ● Events - Creates and runs contributor-focused events, such as the Contributor Summit. Event Teams are part of this subproject. https://git.k8s.io/community/sig-contributor-experience#subprojects

Slide 16

Slide 16 text

Subprojects Overview ● Elections - New subproject! Oversees running elections in the community. Maintains documentation and software for elections. ● 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. https://git.k8s.io/community/sig-contributor-experience#subprojects

Slide 17

Slide 17 text

Subprojects Overview ● Elections - New subproject! Oversees running elections in the community. Maintains documentation and software for elections. ● 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. ● Mentoring - Oversees and develops programs for helping contributors ascend the contributor ladder, including our group mentoring cohorts. https://git.k8s.io/community/sig-contributor-experience#subprojects

Slide 18

Slide 18 text

Subprojects Overview ● Elections - New subproject! Oversees running elections in the community. Maintains documentation and software for elections. ● 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. ● Mentoring - Oversees and develops programs for helping contributors ascend the contributor ladder, including our group mentoring cohorts. ● Slack Infra - Creates and maintains tools and automation for Kubernetes Slack. https://git.k8s.io/community/sig-contributor-experience#subprojects

Slide 19

Slide 19 text

Subprojects Overview ● Elections - New subproject! Oversees running elections in the community. Maintains documentation and software for elections. ● 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. ● Mentoring - Oversees and develops programs for helping contributors ascend the contributor ladder, including our group mentoring cohorts. ● Slack Infra - Creates and maintains tools and automation for Kubernetes Slack. ● Contributor Comms - Amplifying the success of and distributing information to Kubernetes contributors and beyond. https://git.k8s.io/community/sig-contributor-experience#subprojects

Slide 20

Slide 20 text

Code Quality, Stability and Security

Slide 21

Slide 21 text

Code Quality, Stability and Security ● The GitHub Admins collaborate with the Security Response Committee (SRC) to handle security incidents that take place in our GitHub infrastructure. ● Post this, the Admins also provide direct feedback to teams at GitHub. ● ContribEx also assists with Legal Compliance Reviews for design docs (and more), working with K8s CoCC, CNCF, and GitHub.

Slide 22

Slide 22 text

Non-code Contributions ● Recently revitalized initiative on non-code contributions. ● Folks working to make non-code contributions more actionable and developing generalized takeaways for CNCF projects as a whole. ● Join us! ○ Meetings: 2nd and 4th Tuesdays of each month. ● Reach out on #sig-contribex on the Kubernetes slack!

Slide 23

Slide 23 text

Inflections & Reflections from Kubernetes SIG ContribEx on Community Growth & Sustainability

Slide 24

Slide 24 text

Inflections & Reflections from Kubernetes SIG ContribEx on Community Growth & Sustainability

Slide 25

Slide 25 text

Community Growth Graph from the 2020 Kubernetes Project Journey Report

Slide 26

Slide 26 text

Community Snapshot - Nov 2023 83K Contributors 3.9M Contributions 6K Reviewers Stats from Kubernetes Devstats, Nov 5 2023

Slide 27

Slide 27 text

Community Growth - Automation Embracing Growth — our evolving automation tools adapt to our expanding community's needs, ensuring seamless organizational operations, from membership management to collaboration and communication tools.

Slide 28

Slide 28 text

Community Growth - Automation GitHub Org Reconciliation Loop Declared Members Observed Members List Members Invite, Promote, Remove Members Repeat for metadata, teams, et. al. Peribolos – enables the declaration of GitHub org settings, teams, and memberships in yaml format. GitHub is then updated to match the declared Org configuration. Embracing Growth — our evolving automation tools adapt to our expanding community's needs, ensuring seamless organizational operations, from membership management to collaboration and communication tools.

Slide 29

Slide 29 text

Community Growth - Automation Declared Members Observed Members List Members Declare: What GH teams they’re part of, at what level of access, etc. Repeat for metadata, teams, et. al. GitHub Org Reconciliation Loop Embracing Growth — our evolving automation tools adapt to our expanding community's needs, ensuring seamless organizational operations, from membership management to collaboration and communication tools.

Slide 30

Slide 30 text

Community Growth - Automation Embracing Growth — our evolving automation tools adapt to our expanding community's needs, ensuring seamless organizational operations, from membership management to collaboration and communication tools.

Slide 31

Slide 31 text

Community Growth - Automation Embracing Growth — our evolving automation tools adapt to our expanding community's needs, ensuring seamless organizational operations, from membership management to collaboration and communication tools.

Slide 32

Slide 32 text

Community Growth As the community grows, our methods of communication have had to adapt to the pressures of supporting such a large community. The number, type, and scale of each tool has grown accordingly. Sometimes, the purposes of existing communication channels get overloaded. ● New channel for new contributors. ● Explicit channel for org members.

Slide 33

Slide 33 text

Community Sustainability To adapt to our growing community, we’ve had to make some changes as well!

Slide 34

Slide 34 text

Community Sustainability To adapt to our growing community, we’ve had to make some changes as well! ● Inactivity period changed from 21 months to 12 months.

Slide 35

Slide 35 text

Community Sustainability To adapt to our growing community, we’ve had to make some changes as well! ● Inactivity period changed from 21 months to 12 months. ● Criteria for what constitutes an org member is also now more well defined.

Slide 36

Slide 36 text

Community Sustainability To adapt to our growing community, we’ve had to make some changes as well! ● Inactivity period changed from 21 months to 12 months. ● Criteria for what constitutes an org member is also now more well defined. ● Working on automating auditing of all our GitHub orgs ○ Org memberships come with elevated privileges!

Slide 37

Slide 37 text

Community Sustainability We are also in the process of onboarding a new cohort of New Membership Coordinators (NMCs) – friendly faces that help you with your org membership requests. ● NMCs now has clearer documentation for reviewing and adding new community members as org members! (thank you Jason Braganza!)

Slide 38

Slide 38 text

Community Sustainability Named roles are an effective way to drive maintainer sustainability in the project.

Slide 39

Slide 39 text

Community Sustainability Named roles are an effective way to drive maintainer sustainability in the project. ● Formally recognises effort and skill. ● Formally gives contributors ownership. ● Gives contributors another avenue to seek help. ● Increases opportunity to pay it forward.

Slide 40

Slide 40 text

Community Sustainability The comms team has implemented roles to organize work and provide opportunities for contributors to learn, grow, and be recognized. These roles are living things, with handbooks which are updated as the needs of the project change. Each role handbook includes information about shadowing that role - a shadow is in training to become a lead.

Slide 41

Slide 41 text

Inflections & Reflections from Kubernetes SIG ContribEx on Community Growth & Sustainability

Slide 42

Slide 42 text

Inflections & Reflections from Kubernetes SIG ContribEx on Community Growth & Sustainability

Slide 43

Slide 43 text

Inflection Points & Reflections

Slide 44

Slide 44 text

Inflection Points & Reflections ● Open source projects always need help.

Slide 45

Slide 45 text

Inflection Points & Reflections ● Open source projects always need help. ● Outreach! New contributors (NCs) are our lifeblood.

Slide 46

Slide 46 text

Inflection Points & Reflections ● Open source projects always need help. ● Outreach! New contributors (NCs) are our lifeblood. ● Project maintainers are happy to help new folks in ways they best can and know how.

Slide 47

Slide 47 text

Inflection Points & Reflections ● Open source projects always need help. ● Outreach! New contributors (NCs) are our lifeblood. ● Project maintainers are happy to help new folks in ways they best can and know how. ● Some of these NCs make their first set of contributions (yay!) ○ At this point, they are “episodic contributors” (ECs) – folks who still haven’t made “long-term”, consistent contributions, but who still show up.

Slide 48

Slide 48 text

Inflection Points & Reflections ● Ideally, the goal should be to convert ECs to maintainers (you know… sustainability). ○ If this happens ~regularly, we are good.

Slide 49

Slide 49 text

Inflection Points & Reflections ● Ideally, the goal should be to convert ECs to maintainers (you know… sustainability). ○ If this happens ~regularly, we are good. ● But, we see that this isn’t happening as much as it should be!

Slide 50

Slide 50 text

Inflection Points & Reflections ● Ideally, the goal should be to convert ECs to maintainers (you know… sustainability). ○ If this happens ~regularly, we are good. ● But, we see that this isn’t happening as much as it should be! ○ As a result of which - ECs (potential maintainers) leave.

Slide 51

Slide 51 text

Inflection Points & Reflections ● Ideally, the goal should be to convert ECs to maintainers (you know… sustainability). ○ If this happens ~regularly, we are good. ● But, we see that this isn’t happening as much as it should be! ○ As a result of which - ECs (potential maintainers) leave. ● But, we still need new folks! Let’s do more outreach!

Slide 52

Slide 52 text

Inflection Points & Reflections ● Hmm, but maintainer bandwidth is still ~same.

Slide 53

Slide 53 text

Inflection Points & Reflections ● Hmm, but maintainer bandwidth is still ~same. ● Because Kubernetes is as huge as it is, and maintainer bandwidth is stretched thin, the number of NCs also start to drop off.

Slide 54

Slide 54 text

Inflection Points & Reflections This is the inflection point that we are seeing our contributor community starting to reach. https://k8s.devstats.cncf.io/d/18/new-and-episodic-pr-contributors?orgId=1&var-period=y&var-repogroup_name=Kubernetes&var-repo_name=kubernetes&from=now-3y&to=now-1M

Slide 55

Slide 55 text

Inflection Points & Reflections ● Hmm, but maintainer bandwidth is still ~same. ● Because Kubernetes is as huge as it is, and maintainer bandwidth is stretched thin, the number of NCs also start to drop off. We need to spend time nurturing ECs more. Better for the project and for the NCs, which again is better for the project!

Slide 56

Slide 56 text

Inflection Points & Reflections 1:1 mentoring does not scale. However, mentoring cohorts are a great way to target potential maintainers and give them the guidance needed to grow.

Slide 57

Slide 57 text

Inflection Points & Reflections 1:1 mentoring does not scale. However, mentoring cohorts are a great way to target potential maintainers and give them the guidance needed to grow. “We have about 5 active participants, one of which has been able to join as an official kustomize maintainer/approver/…” ~ Natasha Sarkar, SIG CLI Kustomize Maintainer

Slide 58

Slide 58 text

Inflection Points & Reflections ● As a project grows in size and complexity, the amount of undocumented context that comes with it also increases.

Slide 59

Slide 59 text

Inflection Points & Reflections ● As a project grows in size and complexity, the amount of undocumented context that comes with it also increases. ● Undocumented context can prove to be a huge barrier for folks who hope to grow in the community.

Slide 60

Slide 60 text

Inflection Points & Reflections ● As a project grows in size and complexity, the amount of undocumented context that comes with it also increases. ● Undocumented context can prove to be a huge barrier for folks who hope to grow in the community. ● As a result of which, it becomes crucial to try and help document this and create “common knowledge”.

Slide 61

Slide 61 text

Inflection Points & Reflections Creating Common Knowledge ● Last Week In Kubernetes Development ● https://k8s.dev/course ● SIG Spotlights ● Contributor Summits across the globe

Slide 62

Slide 62 text

Inflection Points & Reflections Creating Common Knowledge ● Last Week In Kubernetes Development ● https://k8s.dev/course ● SIG Spotlights ● Contributor Summits across the globe

Slide 63

Slide 63 text

Please scan the QR Code above to leave feedback on this session