 Hello everyone and welcome to Contributor Experience. We are one of 24 special interest groups in Kubernetes. In this talk, we're going to go over who we are, what we do, and how we do it. First things first, introductions. I'm Allison. I'm a co-chair of Contributor Experience. I'm based over in the UK in London, and I work as a developer advocate for WeWorks. Hello. My name is Bob Killen, also known as Mr. Bobby Tables across all the things. I am another co-chair of Contributor Experience. I am based out of Ann Arbor, Michigan, and I am a program manager here at Google. Hey everyone. I'm Nikita. I'm one of the technical leads for Sec Contributor Experience. I live in Mumbai in India, and I work as a senior engineer for VMVed. Hi everyone. My name is Kristoff. I am the other technical lead for Sec Contributor Experience. I'm based in British Columbia, Canada, and I work as a principal engineer for Red Hat. We are going to break this up into sections and talk to you today about who we are and what we do. No matter how you slice it, Kubernetes is a large project. At the core of it is the contributors that really bring this project to life. With all the numbers on this page, that's the one that I draw your attention to. That brings us to what is Contributor Experience? Summed up, we're a cross-cutting special interest group that focus on the experience and workflow of all contributors to the project, both experienced or brand new. We're made up of folks with different backgrounds, companies, and interests, but all with the focus to make Kubernetes a better place to contribute. If you have no idea where to contribute, then we'd be honored to be your first SIG. It's not uncommon for folks to hang out with us while they learn how the project works, and then eventually move on to a SIG that is more closely tied to a specific part of the project that they're interested in. Okay, but like, what do you do? Well, most of the other SIGs are focused on a specific part of the project. Contributor Experience spans the entire scope of Kubernetes and how folks contribute to it. We interact with contributors at all levels, both those just starting out with us and humane the assistants learning how to contribute, as well as folks in leadership positions, providing them with the tools and processes to be successful. A lot of what we do is centered around defining policies and providing consistent guidance for folks. We strive to give contributors a consistent experience across the project, no matter which SIG or piece of code or documentation you're interacting with. Like any SIG, we have meetings and details about how to reach us on the contributor site. No matter which SIG you're wanting to get involved with, this is a great first spot to go look for information. Next, let's talk about how we organize our work. With the size and scope of things that we do, we've established some teams of folks to help organize bits and pieces. For example, we have people like our moderation teams to help keep our communications channels, like mailing on a Slack, spam free. Or we have the contributor marketing team that helps communicate out information to that large contributor base. We organize the work we need to do into various sub-projects. These allow us to split up the things we do and delegate work out. Some examples include our contributor site and community repo, which house details like the central SIG list and our community calendar. Or a mentoring sub-project that helps organize our participation in external mentorship programs as well as our internal programs like meet our contributors. So now that I've explained a bit about the type of work that we do and how we organize, let's dive into some of these sub-projects, which will give you all a better picture of what we've been up to. Community management is really at its core community operations. First, we have mailing lists and calendars. All of our mailing lists and calendars for all the different SIGs are hosted on Google Groups. Collectively, we have over 50 different calendars and mailing lists, all of which play an important role in the running of the entire project. A SIG mailing list provides a place for SIG-specific communication. It's a place to ask questions, facilitate decision-making, have discussions and share meeting notes. By subscribing to a SIG mailing list, you will be automatically invited to the meetings on that SIG calendar. SIG contributor experience maintains these mailing lists providing plumbing and infrastructure so that you as a contributor only have to worry about signing up for the mailing list you're interested in, then filtering out your emails as needed. YouTube.com slash Kubernetes community is a channel home to all of our YouTube videos. Here you will find recordings of SIG meetings as well as top-level meetings, which includes our monthly community meeting, instructional videos and code walkthroughs. We also from time to time do live streams of special events and meetings. This includes things like meet our contributors and the events from the contributor celebration held in December last year. Subscribing to this channel will keep you up-to-date of what's happening in the community. So make sure you go to YouTube.com slash Kubernetes community, hit that subscribe button and smash the bell button. Also, if you're confident we're streaming and would like to help out with our channel, we would love to hear from you. Kubernetes community is where our community repo lives. Here you will find things such as governance, election procedures, values and our code of conduct. Any project that revolves around the Kubernetes project as a whole is owned by this project. We also help out with Zoom. We help with managing the licenses needed for SIG chairs so that they can use Zoom to record their meetings. If you're not a SIG chair or lead, you don't need to worry about this. But if you know how to administer these tools, we can always use more help. If that's not your forte, you as a contributor can still help us out by keeping your Zoom client up-to-date. This makes it easier for us to use new features in Zoom and helps keep you secure. Discuss.case.io is our end user forum, powered by discourse. It's a more user-friendly way to have discussions and a great resource if you want to learn more or have questions about operating Kubernetes. With all these different platforms, we rely on moderators. We strive to make our communications platforms a safe and inclusive space. We would not have a wonderful community like we do today without our moderators and are always looking out for more moderators across all time zones. If you're an experienced community moderator, we would love to hear from you. You just heard about all the different communications platforms that we have, but with so many different platforms, it can be challenging to reach our contributors. This brings us to the comms team who help us engage with our upstream community. Contributor comms used to be a small group under community management and has since grown becoming an official sub-project in November of last year. There's a talk linked here in the slides about the marketing team if you'd like to learn more. Our contributor documentation is a set of living documents which cover two broad areas. The contributor guide provides the base set of knowledge for a contributor to effectively help out in the community. If you're involved with Kubernetes or wanting to get involved, this is something you should definitely take the time to read and be familiar with. Our developer guide provides contributors with information on how to contribute to six specific areas of the project, things like setting up your development environment, API convention, style guides are all covered here. It's currently undergoing audits and updates to ensure that the information provided is accurate. Thank you to Joel Barker and Eric Arnston who helped restructure the guide and updated some most needed areas. And thank you to all the SIGs who have been proactive of updating their documentation. On both these areas, we're always looking for help revising, especially from new contributors who can approach them with a beginner's mind. There's always details that we as more experienced contributors overlook and would be of massive help to other new contributors. This brings us to the contributor site at kates.dev. The contributor site, which went live towards the end of August last year is a hub for contributor docs and information. It contains our contributor guide, the community calendar, release information and much more. At the moment, the developer guide isn't surfaced on the website but we hope to have it there in the future. DevStats is a tool to help visualize GitHub activity. It uses the GitHub archives to crunch a bunch of data and calculate GitHub events. This can give us things like PR velocity and how many and who are contributing. It's where we've got some of the numbers for the intro slide, such as the number of contributors. We've been revisiting the board so that we can get more actionable metrics. For instance, if we can find out if a repo has got a bunch of open PRs and then relay the message that we need more reviewers, you can find this at kates.devstats.cncf.io. Now I'm going to hand you over to Bob to talk about events. With the pandemic impacting everyone, we've had to adjust our strategy for hosting and managing contributor events. We actually polled our contributors and only 10% of the respondents were interested in doing something sort of like more regular structured content with 80% of them actually preferring to do something social. People honestly missed the holy track and sitting on another call is just not something anyone really wants to do. So we decided to put together a contributor celebration, an event that was focused on fun and letting people sort of get together and hang out in a stress-free setting. We offered multiple ways for people to participate if they wanted to chat or just watch, that was perfectly fine. For those that did want to participate, we had trivia, video and board games and even had things like contributor awards. We wanted to be even hosting a bake-off and the bake-off itself is actually the number one video on the YouTube channel, at least within the past couple of years. Now, we aren't quite sure what we're going to do for 2021 but you can bet we'll wind up doing at least something. Now with that out of the way, that takes us to GitHub management. This sub-project along with the GitHub admin team manages how contributors interact with the GitHub along with things like creating and managing repos. One of the things that, achievements we've had within the past year. If you happen to watch our KubeCon EU session last year, you know that we are working on retiring the Kubernetes incubator org. Incubator was an idea sort of several years ago. Do you like try out some things and they decide to accept those projects into Kubernetes or spin them back out again? That process had a slope issues. So the incubator process was replaced and that was, I think, three years ago now. Now, those three, that three years ago thing is true. It's taken us that long to actually sort of like deprecate the process and whether to go through the repos and either accept them into the project, archive them or spin them back out. As it stands, honestly it makes more sense for many of these projects to look at say joining the CNCF rather than being adopted by Kubernetes directly. The other big initiative that has honestly been on everyone's mind is the renaming of the default branch. And GitHub has made it easier, but with our CI scripts and a slew of automation, not to mention it's for like 200 plus repos, that's a significant amount of effort for us. We have worked out a lot of the kinks and are now moving forward with it, but it's still a little complicated. And we've put together a guide for our contributors that you can find at keys.dev, our contributor website. Now, we really aren't quite sure when we'll be able to complete the migration for all our projects, but it is certainly something on our minds and something we are moving forward on. The next area I'm gonna be covering is mentoring. But I actually have to give a little bit of a background before we can dive directly into it. And that's covering the contributor ladder. The ladder or this diagram sort of refers to the process in which people sort of graduate through being a contributor. They're sort of contributor life cycle. You go from being a non org member to contributing a bit and then possibly doing enough to become a member. And over time, you become a bit more familiar with like certain areas of the code base. You start reviewing PRs and eventually you get PRed into an owner's file as a reviewer. You start getting work assigned to you. You start getting more familiar with a specific area of that code base. You become a subject matter expert in that area. So you've reviewed a bunch of PRs. At that point, you're sort of ready to become an approver. You start to learn after that, you start to learn more about other areas under that SIG. You may become a higher level approver for that entire sub project. And at that point, you are starting to help set goals, outline the milestones and sort of set the, just sort of lead that area of the project. And this is sort of the top end of the ladder but for many, the first big hurdle is making the jump from non-member to member. But through our mentoring initiatives, we have a whole slew of different methods for people to help sort of climb this ladder. So mentoring is really how we bring on new contributors and help our current contributors grow into roles and become some project owners or future SIG leads. Some of our programs haven't been as active as they once were just within the general seat of the world, but it's something that's still like very important to us. I'm gonna go over some of our programs now. So our first is meet our contributors. And that's sort of a one hour AMA type thing with a panel of current contributors. And the audience that tends to be like 50-50 between like new and current contributors, they'll often ask questions like, how do I get started or how can I get my PR reviewed faster? How do I hunt down a flake? Lots of like questions across the board. It's a great thing to tune into. It was recently rescheduled. You can check it on the contributor calendar keats.dev slash calendar. The next thing we have is our group mentoring cohorts. These are where we kind of like look at and like work more the SIGs to build a program targeting active contributors. So people that are already members in growing the number of say reviewers or approvers in a specific area. This is usually over like a three month period where they'll meet at least once a week and sort of collectively review or go over things with some peer help and some mentor help. We also have a shadow program. And honestly, this is actually one of the best ways to build paths for it for a sustainable contributor base. You wind up like specking out various like teams and roles. These are often like a very well scoped with a lead and one or more shadows with the assumption that at least one of the shadows will eventually take over for a lead sort of creating this self-sustaining cycle. This has actually been used to like great effect within our release and events team. We also have three major internship programs, Google Summer of Code, Outreachee and LFX Mentorship. We are also looking to expand our engagement and engage with other groups to improve our outreach and sort of streamline some of our other mentorship and internship programs. The next thing we have is the actual new contributor workshop. So in the before time, we'd hold the new contributor workshops alongside our contributor zones. But they had a lot of issues with things like hotel wifi, corporate laptops being locked down and a whole slew of other things that obviously didn't lead to the best experience. Not to mention we haven't had an in-person summit since, you know, 2019. So with that, we decided to turn the new contributor workshop into a course. And that course will be hosted on our contributor website, keys.dev. This is sort of taking what we would normally teach into and turning it into a self-paced course, making it much more globally accessible. You no longer need to attend a summit or event to sort of go through it. Now, if this is something you're interested in helping with us, or helping out with us, please reach out to us in this Sig at Contrarex Slack channel. Now, I have one last sub-project for us to go over and that is Slack Infra. Maintaining a safe space for 120,000 Slack users can definitely be a challenge. Slack is not really designed for open communities. They just expect you to go to HR if you have a problem with someone and that really doesn't work well for us. So we've built out a lot of moderator functionalities such as reporting messages and we've now even sort of like extend this a little bit with some various like word detection. So soon, if you happen to say, like say guys in Slack, it'll send you a direct ephemeral message. It's like saying, hey, can you think about using Folk instead? The other thing is more focused for our contributor comms is we've now rolled out an announce bot that lets us send messages to like out to a big list of channels. And going forward, we'll be using this thing for like various release and announcements and other like sort of community-wide deadlines or other just like community-wide interesting things. And with that, I've covered everything and I will hand it over to Nikita to wrap things up. So we looked at what Contrabex does and the different kinds of sub projects in the same. Let's not try to understand how you can jump in and start contributing to all of these many, many sub projects. Before I talk more about this first things first, I want to call out that no matter what, people are the center of Kubernetes. And especially for this sick, so Contrabex, it is our mission to make contributing to Kubernetes easier and to ensure that we have a diverse and sustainable contributor space. So with that, let's see how you can actually get involved. I'd really recommend joining the SIG meetings to get an idea of who is who and what people are working on. If you join the SIG mailing list, you will automatically get an invite for the meeting. And also like since we're spread across the globe to ensure that meetings stay accessible for everyone, SIG Contrabex has asynchronous meetings on Slack every alternate week as well. And if you miss any meeting, don't worry because they're all recorded on YouTube and there's honestly only so much time in the day. So usually end up watching other SIGs meetings most of the time on YouTube as well. When you join a meeting, you are definitely going to feel overwhelmed. There are so many people having discussions about absolutely foreign concepts and nothing makes sense to you. So my advice in this case is to take it slow. Don't rush it and don't try to understand everything in one go because chances are that you will not be able to and you'll mostly end up feeling discouraged if that's where. So my advice is to look around and try to get an idea of who is who and what they're working on. So understand the broad ideas behind the tasks that people are working on that they're talking in meetings. For example, like try to understand like maybe Bob is working on a feature called X and Matt is working on another thing. So something like that. And in the meetings people will mostly be talking about the current tasks or make plans of what to do next. So keep an eye out for those and try to understand what's on the roadmap and reach out to people if there's something that you find interesting. This also helps make the information more digestible and helps you not feel incredibly overwhelmed with everything. Another easy way to jump in and participate more in these meetings when you feel comfortable is to volunteer to take notes because we're always looking for note takers and also helps in getting a better understanding of what's being talked about. Additionally, we have plenty of non-code related opportunities like the stream team, the Slack administration team and the very highly active contributor marketing team. I really recommend joining them. So please don't feel like you'd necessarily need to know how to code to contribute to the six non-code roles are also available. So finally, I'll try to keep this short. If you want to reach out to us you can find us on GitHub and on the community Slack at these handles. You can also join the Sick Country Bex channel on the community Slack to reach out to us. Our homepage also has details and more that we signed with this presentation already. And I look forward to see you on the Country Bex mailing list and Slack channel and I hope you decide to contribute to a wonderful site. Thanks everyone for coming and hope you stay safe.