 Buen día, Valencia, y bienvenidos al último día de CubeCon. Hoy día les vamos a hablar sobre cómo cultivar nuestros proyectos. And I'm joined by Josh Burkus, community architect at Red Hat, and co-chair of the Tech Contributor Strategy. And I am delighted to be co-presenting with Catherine Paganini, the head of community at Boyant, and also CNCF contributor Par excellence. OK, so let's talk about what projects need. Of course, there is code and code management like reviews and releases. And then you need docs so you users know how to use your project. And then there are major events, like CubeCon, where we are here today. Most projects are probably here. But these are all things that projects already know they need. And they're already taking care of this generally. But that's not everything, is it, Josh? No, since we're in Valencia, though, the time has come to talk about citrus, specifically the Potted Meyer lemon tree in my backyard in Portland, Oregon. Taking care of a tree is easy, right? You need water, you need dirt, you need sun. What could be simpler? And while those are the main things a tree needs, they're not the only things. And I almost killed my lemon tree finding that out. Did you know, for example, that citrus trees need to get cold in the winter, or they don't bloom in fruit properly? I didn't. I brought my lemon tree inside the house last winter. All the leaves fell off. At the same time, though, the tree needs to be kept above freezing. It's a tricky balancing act. In fact, if you want to get lemons out of your lemon tree, you need to take care of a bunch of other needs the tree has. It needs to get hot in the summer, but not too hot. It needs the right amount of fertilizer. You need to avoid pests and weeds. And one of the biggest things, it needs pollination for those flowers, of course. I'm sure you can see the metaphor here. If you want your project to bear fruit, what else do you need to do? OK, so let's talk about what projects actually need. First thing you need to think about is awareness and user recruitment. You need to market your project. If no one knows it, no one will use it, no one will contribute. You need to get the word out. Let's say marketing work, and you're having users using your project. Now you need to cultivate these users, establish regular communication so you understand who they are and what they want so you can get feedback for your roadmap, and so you can identify who's interested in participating and becoming a contributor. OK, now let's say you have a project that people know and use, and you even have a few contributors. But to scale, you need to grow that contributor base. So how do you go about that? The first thing that you need to do is to develop a contributor guide. That is a self-service tool for users to learn how to contribute and what is expected. After all, they can't help you if you don't tell them how. Next, you'll need to recruit contributors. Reach out to users who seem engaged and ask them. You can also organize contributor-related events such as hack days, test days, and doc sprints, and then mentor them so they are successful and can become long-term contributors. Contributors have expectations, too. One of those is that they have a say in the project how it's run and the decisions that are made. A lot of project managers regard this as a burden, but it's really an asset. New project leaders are new people who can take on responsibilities as your project grows in adoption and complexity. New leaders don't just happen, though. They need to be encouraged and even mentored. An important way to encourage contributors is by providing a framework they can trust. That means your project needs formal, intentional, documented governance. And that governance needs to mature as your project matures. Documented governance provides a safe space for your community to grow their own commitment to the project. They know that they can trust the project because it's clearly seen to be fair. And there are mechanisms to make sure that it remains so. Of course, some have written governance and a lot of that other internal documentation your project needs. It's all about these sort of general documentation requirements, things like security incident procedures, COC reporting instructions, code style guidelines. These things seem boring, tedious, and maybe unnecessary until you actually need them. And then they're very necessary. And you don't want to be making them up on the fly when you already have a crisis. One of the times that you will also need these is advancement within the CNCF to incubating and graduated. There's a lot of these sort of paperwork requirements for the CNCF levels. And those requirements are based on our collective experience running open source projects. Of course, we all love KubeCon. We love KubeCon, yeah? And every cloud native project wants to be part of it. But it's the smaller and more frequent events that often really keep your project going. Your project is already having regular open to the community meetings, right? These are a vital part of making sure that everyone sees themselves as being part of the same team. And small events can be a much better way to spread awareness of your project than a huge convention with 200 other projects competing for everyone's attention. OK, that's a lot. You're probably thinking, I'm a developer. How can I possibly do all that? Well, the good news is you don't have to figure it out all by your own, because, well, for once, the CNCF helps with some of this. You'll get marketing and PR support. If your project has an announcement, the CNCF will write it, will reach out to media, will really help you get the word out. And they even gave us fun little characters like Fibian Friends. And then there's infrastructure support. The CNCF will host mailing lists, provide cloud credit programs for your automated testing, and you will get free accounts, such as Slack, GitHub, and Netlify. You will also get accounts for your community events, such as Zoom, YouTube, and cloud-native community groups. And the CNCF will help promote these events by adding them on the CNCF calendar and through social media. And that's all great, but what about the rest? There is so much more, remember? And for projects to grow, you really need to take care of all of this. You cannot neglect any aspect of it. But don't panic. There is no need to reinvent the wheel. Whatever challenges you're facing today, others have faced before you. So reach out to maintainers who have been there before and learn from them. That is what the TAG Contributor Strategy is about. So we are a group of people from a variety of CNCF projects committed to helping projects succeed. By maintainers for maintainers, we define strategies to define, to build, scale, and retain contributor communities. So if you're a maintainer, we should connect. You can either participate in our effort or use our resources. So let's have a look at the different resources available to you. First thing you should know is there is a website. Here you'll see two options, one for maintainers, one for contributors. If you're interested in contributing to a CNCF project, go check it out. There are lots of great resources there. For maintainers, you will see on the left navigation bar everything we'll be discussing today. One of those resources is the Contributor Growth Framework, where you'll find lots of tips from project maintainers on how to motivate and keep contributors motivated, how to incentivize them to do more, and how to encourage non-code contributions. For any processor document you need for your project, others have been there before you and helped write down examples and instructions. You do not need to start from scratch. Take the examples instead and then customize them to exactly what your project needs. Not only is this easier for you, but it makes for a more consistent experience for contributors across all of the many CNCF projects. For example, one area where we supply a lot of templates is governance. Most project owners don't know where to start with governance structures and contributors ladders and value statements and more. Our templates repo has examples based on the ones used by other projects for you to fork and edit. We're also adding a mentoring working group for CNCF projects to find mentoring resources and support. The key thing about tag contributor strategy is maintainers helping other maintainers. If you watch Stephen Augustus's keynote, you know that being a project maintainer has a lot of shared experiences, and it's up to us to help each other. For direct sharing, join maintainer circle. We had a meeting yesterday on reviewing code. Sign up for future events to discuss experiences that maintainers share. Several CNCF projects, such as Vitas and Flux, have taken advantage of these resources and peer help in making their projects grow. You can learn from them as well as us, and other projects can learn from you. OK, summing it up. Nurture your whole project. There is so much more than code and docs. And start early. These things do take time. The earlier you start, the more likely you'll succeed. Because just like Josh's lemon tree, a project needs time and care to bear fruit. If you want help, can offer help, or just want to share experiences with other maintainers, then join us. You can join our Slack channel, our mailing list, dial into our meetings, and join maintainer circle. You can also learn more about the resources that are available for your project on the recording of yesterday's TagCS maintainer session. Nurturing your project is challenging. Through maintainers helping other maintainers, we can all succeed at it. Thanks. Thank you.