CNCF Project Paperwork Working Session: TDQH-8469 - events@cncf.io - Thursday, November 19, 2020 4:03 PM - 22 minutes Participant: wordly [W] English (US) Transcription for wordly [W] 00:00:00 [W] Donna we lie. We lie. 00:00:01 [W] It's happening. 00:00:03 [W] We made it we made it don't would like to kick us off and introduce. Well, I think we can have Josh kicks off. 00:00:16 [W] He's invisible, but he's here. 00:00:23 [W] Hi there, as you might have guessed from I the lack of a presentation. We are having some serious technical difficulties with this, but for those of you who have actually been patient, we did want to 00:00:38 [W] For the mean point of this session, which was to do qa4 cncf projects. 00:00:45 [W] We've spent a lot of time leading up to this preparing various materials for advancing your project along the maturity timeline for the cncf. 00:00:55 [W] So and introduce us, my name is Josh burkas. 00:01:00 [W] I work for Red Hat. 00:01:02 [W] I'm one of the co-leads of cncf contributor. 00:01:08 [W] Sig contributor strategy and with me are gone and Carolyn don t want to go ahead sure. 00:01:16 [W] So I'm Don Foster. 00:01:18 [W] I am director of Open Source Community strategy within VMware zippin Source program office 00:01:24 [W] Hi, I'm Carolyn van slyke and I'm a software engineer at Microsoft. 00:01:34 [W] so at this point 00:01:40 [W] it's gonna be the best way to share this. 00:01:43 [W] We can we can kind of walk through a couple of things while we wait for questions to come in maybe so we're you know, we're all part of the Sig contributor strategy. 00:01:58 [W] But we actually have a question already. 00:02:00 [W] Perfect Rhineland. 00:02:03 [W] Okay Ranma choose a new creating documentation. 00:01:58 [W] Where did you start and where would you have liked to have gotten start it and that this really sounds like a Carolyn question. 00:02:03 [W] But but any of us containerd, yeah, I highly recommend finding documentation for whatever the task is to try to find an example that is already out there. 00:02:18 [W] Cncf projects. 00:02:07 [W] I'll look to helm a look. Obviously the kubernative. 00:02:09 [W] He's our Envoy and try to figure out how were they speaking first. 00:02:15 [W] Like what's the tone of voice? How do they come across in the documentation? 00:02:18 [W] And what do they bother documenting? 00:02:21 [W] So what is a good contributing guys look like what does the governance document need to look like? 00:02:29 [W] Everything else like that? 00:02:29 [W] These are things that are kind of hard to just pull out of thin air if you don't know. 00:02:34 [W] What needs to be said at all? So you should definitely be trying to crib off of other people but we're making this easier now our group has created a templates repository and also one can put the link into the queue a Navy or the chat. 00:02:49 [W] And what this is is it's a repository that you can clone or just take individual pieces of contact from that gives you out of the box. 00:02:54 [W] This is what a contributing guide should look like. 00:02:57 [W] This is what you read me should look like here's a couple sample government's documents. 00:03:03 [W] What could a contribution ladder look like all the various pieces of documentation that the cncf and the TOC wants to see for your project. We're starting to build up something so that you have a good starting point and lots of 00:03:16 [W] options to get you thinking so you can customize it for your needs. 00:03:21 [W] Is that helping answer your question Ryan? 00:03:29 [W] Hopefully and I think the other the other thing too while we're waiting for more questions to come in is that you know, one of the ways that we look at this. So we're all part of the Sig contributor strategy within the cncf and this is being driven kind of out 00:03:44 [W] Group and there are different documentation requirements depending on which which level of project you're in. So there are different requirements for sandbox for incubating for graduated for example 00:03:53 [W] Waiting for my questions, maybe Caroline if you can talk a little bit about what you just went through for sandbox. 00:03:51 [W] Yeah, I would love to do that. 00:03:52 [W] I'm sorry. 00:03:53 [W] I'm trying to figure out how to publish and do an answer this name is not I don't know. I will say I will send the link I'll send um, yeah, so I work on the porter project and we just went through the brand new process 00:04:08 [W] In the sandbox, which was so much easier. 00:04:09 [W] I don't know if you've watched previous and boxes go through before and been like oh this looks hard and their grasp lots of questions. 00:04:15 [W] It's a simple Google form and you answer pretty much like basic metadata about your project. 00:04:23 [W] Where is it? 00:04:23 [W] What's the purpose of the project? 00:04:25 [W] Do you have any competitors or related Technologies in the cncf ecosystem. 00:04:31 [W] Do you have a contributing guide? 00:04:33 [W] What license are you things like that? And then 00:04:36 [W] When this all gets put in a big spreadsheet and the TOC the technical oversight committee. 00:04:42 [W] I think it's every two to three months. 00:04:43 [W] We'll look at all of them and in a closed meeting it's recorded, but you don't get to watch it happen live. 00:04:49 [W] They'll go through each one of them and go does this meet the requirements for being in the cncf sandbox and the requirements are basically digit fill out the form accurately and does it belong in the cncf sphere. 00:05:01 [W] most people have been accepted using this process, which is great. 00:05:07 [W] You don't need to be reviewed anymore by a Sig or anything like that. 00:05:12 [W] Just that one meeting and then you're in of the that starts the onboarding process then the cncf or contact you and then give you a lovely big checklist of all the things you need to do to be a proper project in the cncf. 00:05:26 [W] So the help you figure out do you have governance right now? 00:05:30 [W] Have you written it down? 00:05:31 [W] Like that in the kind of walk you through it. It took us a month to do all that and that was the hardest part was actually getting Microsoft to release the trademark. 00:05:38 [W] Nothing against Microsoft, but lawyers are slow and signing papers. 00:05:43 [W] So it was it was it was quite painless and was great working with everyone on that. 00:05:52 [W] And now it has a question in the chat as well. 00:05:55 [W] Are there other things besides the template that would fall under preparing a new project to potentially become a cncf project? 00:06:04 [W] The answers that as yes, there's lots of stuff. 00:06:07 [W] I think that we haven't written templates for that are required for for a cncf project. 00:06:13 [W] It depends a little bit on where you where you land as a starting point. 00:06:18 [W] So most most of them start at sandbox. I think some of them start at incubating if I remember correctly and I think Carolyn just went through a lot of the stuff that was required for 00:06:30 [W] For sandbox incubating also has to have at least three independent end users. 00:06:37 [W] So that's another thing that you have to have. 00:06:39 [W] that's not necessarily part of the template and then a governance MD file so leaders how they're selected has to be employer neutral and then you also have to have a clear versioning scheme at incubating 00:06:55 [W] without this thing for sandbox 00:06:47 [W] That's the biggest thing for sandbox. 00:06:49 [W] There isn't a template for is that you have to be ready to assign a bunch of project IP to the cncf. 00:06:55 [W] And if this project was developed by your company, then that's going to involve your company attorneys, and it's not something we can really provide a template for. 00:07:13 [W] And then Austin has a question are there cncf Doc's that the cncf project should include in their onboarding Docs? 00:07:21 [W] The code of conduct is the first one that comes to mind. 00:07:24 [W] I don't know. 00:07:25 [W] Yeah link to the code of conduct actually and then mention who will be handling any reports that are brought up either your own project can accept reports as long as it's not about the person accepting the report and 00:07:40 [W] Provides a mediator who can help handle things and they also provide training. So if you do want to do your own code of conduct handling, but you're not quite sure how to go about it. 00:07:36 [W] There's training that you can take and learn like how to go through a report. 00:07:39 [W] How do you go through this whole process respectfully without hurting anybody? 00:07:49 [W] I'm trying think I think the only real diamond. 00:07:51 [W] what matters is that owners file one thing you'll need is soon as you get into the cncf before you get in there actually is the one and only who are the maintainers for the project who should the cncf be communicating with and who's 00:08:07 [W] Make decisions when the cncf says, you know, do you want to do XYZ who should be communicating with and that's an owner's file. 00:08:06 [W] You'll see it in quite a few like all the cncf repositories and just let us who are the decision-makers for the project as well. 00:08:12 [W] So you'd want to have that figured out. 00:08:26 [W] For the starting point right now to fall question of if we were starting a project today. 00:08:35 [W] You know, is there a template where is it that you would want to start from? 00:08:49 [W] Here's oh that's a documentation question or if that's a larger project Readiness question. 00:08:56 [W] We do have that template repo you can clone it and it will keep you updated over time. 00:09:02 [W] eventually we'll have every single piece of documentation that you need to be in the cncf both the submit and then go through the various stages. 00:09:11 [W] But I think at a higher level I think you need to evaluate if your project is ready, you know, we brought up. 00:09:16 [W] Are you willing to donate the IP? 00:09:19 [W] What does that really mean? 00:09:20 [W] magic today 00:09:17 [W] You know, is there a template where is it that you would want to start from? 00:09:31 [W] I can tell that's a documentation question or if that's a larger project Readiness question. 00:09:38 [W] We do have that template repo you can clone it and it will keep being updated over time So eventually we'll have every single piece of documentation that you need to be in the cncf both the submit and then go through the various stages. 00:09:53 [W] But I think at a higher level I think you need to evaluate if your project is ready, you know, we brought up. 00:09:59 [W] Are you willing to donate the IP? 00:10:01 [W] What does that really mean? 00:10:02 [W] But there's other pieces of that to which is when you get into the cncf you're going to be asked asked and asking yourself a lot of hard questions about governance and 00:10:14 [W] you need to be prepared to start bringing on new contributors and maintainers who aren't in the original group of people who you're working with. 00:10:21 [W] This is usually especially something need to think about if this is like a company has been incubating this and all the contributors are from the same company. 00:10:30 [W] Do you have processes in place access in place things like that, or are you just emotionally prepared to try to onboard a whole bunch of people who are not in that in group. 00:10:40 [W] How do you communicate? 00:10:41 [W] How do you run meetings things like that though? 00:10:43 [W] Things that we try to iron out with Porter before we submitted so that it wasn't a mad scramble to go. 00:10:51 [W] We don't really know how to run a project that's really in the open source versus just incubated inside the company. 00:10:59 [W] And Josh the one thing we haven't touched on yet is the CII best practices badge. 00:11:05 [W] Yeah, as one of the requirements are graduating. 00:11:08 [W] Maybe you could talk a little bit about that. 00:11:09 [W] Yeah, no see that. 00:11:12 [W] That's when the catches people by surprise because within the cncf list of requirements that they single line item and so you kind of assuming it's the same size line item is everyone else if you look at our checklist, it has a link to the actual list of requirements 00:11:30 [W] Questions. 00:11:31 [W] about governance and 00:11:34 [W] you need to be prepared to start bringing on new contributors and maintainers who aren't in the original group of people who you're working with. 00:11:42 [W] This is usually especially something need to think about if this is like a company has been incubating this and all the contributors are from the same company. 00:11:50 [W] Do you have processes in place access in place things like that, or are you just emotionally prepared to try to onboard a whole bunch of people who are not in that in group. 00:12:00 [W] How do you communicate? 00:12:01 [W] How do you run meetings things like that? Those are 00:12:03 [W] Things that we try to iron out with Porter before we submitted so that it wasn't a mad scramble to go. 00:12:11 [W] We don't really know how to run a project that's really in the open source versus just incubated inside the company. 00:12:19 [W] And Josh the one thing we haven't touched on yet is the CII best practices badge. 00:12:25 [W] Yeah, as one of the requirements are graduating. 00:12:28 [W] Maybe you could talk a little bit about that. 00:12:29 [W] Yeah, no see that. 00:12:32 [W] That's when the catches people by surprise because within the cncf list of requirements that they single line item and so you kind of assume it's the same size line item is everyone else if you look at our checklist, it has a link to the actual list of requirements 00:12:48 [W] Your release notes whole bunch of other things and so don't underestimate that particular requirement because for any project I've worked on actually getting the CIA best practices badge has required making process changes 00:13:03 [W] Any project I've worked on actually getting the CIA best practices badge has required making process changes to how we do things in the project particularly around releases and notifications. 00:13:23 [W] I think Carolyn the other thing we talked about in prep was your the idea of having good contribution docks contributor ladders. 00:13:32 [W] Maybe you want to talk a little bit about that. 00:13:35 [W] Sure, so I can't share my screen. 00:13:39 [W] I'm just going to link to this and hopefully people can follow along. 00:13:42 [W] Oh my goodness. 00:13:45 [W] Maybe someone I can drop it and slack slack. 00:13:49 [W] Yeah dropping its lack and I'll put it in the QA. 00:13:52 [W] Why you talking? 00:13:54 [W] So we've been working on a wall of only I could share my screen. 00:13:58 [W] So we were working at a contributing guide and this is in our template repository right now and we've kind of expanded what's the set of things that you'd like to think about as a project when you're bringing on a new contributor, so 00:14:14 [W] Oh my goodness. 00:14:15 [W] Maybe someone I could drop it and Slack. 00:14:18 [W] Slack yeah, drop it in slack and I'll put it in the QA while you talk. 00:14:25 [W] So we've been working on a wall of only I could share my screen. 00:14:29 [W] So we were working at a contributing guide and this is in our template repository right now and we've kind of expanded what's the set of things that you'd like to think about as a project when you're bringing on a new contributor, so 00:15:00 [W] That is one. 00:15:02 [W] What are the different ways to contribute? 00:15:04 [W] We're trying at the cncf. 00:15:05 [W] We're trying to encourage people to think Beyond just a PR and it like a feature enhancement or a bug fix. 00:15:12 [W] We'd like people to also look at how can you contribute to ci/cd to just the general documentation goodness of your Tech writer, please you'll find people like that people were interested in maybe one of the project management side like they'd like to help keep things running 00:15:27 [W] Tribute to ci/cd to just the general documentation goodness of your Tech writer, please you'll find people like that people were interested in maybe one of the project management side like they'd like to help keep things running, but they may not be interested in. 00:16:01 [W] Be interested in actually writing the code for it doing issue triage identifying, you know things as we close things like that answering questions on slack in the mailing list web design communication social media blog posts. 00:16:16 [W] Nice management, like that's an entire group and kubernative. 00:16:19 [W] These are all roles that normally a maintainer just kind of juggles and does will along with their maintainer hat but these are all things that would be incredibly useful to solicit to the community to get help with to kind of take some of the load off of our maintainers 00:16:34 [W] Get help work to kind of take some of the load off of our maintainers and give people new ways to contribute. 00:16:39 [W] other things we like to put in there is how do you find an issue one of the other pieces of documents that we have out there right now is how to encourage new contributors by grooming your backlog and identifying what are good issues that if someone was 00:16:54 [W] good issues that if someone was brand-new the project they could start with and do over the weekend without having to ask for help and then on Monday submit a PR and feel pretty great about things so we have advice for how to go about doing that and in you're contributing guide 00:17:08 [W] And so we do that here are good first issues. 00:17:12 [W] Here are good issues for people who either like a challenge or have been contributing once or twice in their kind of familiar with your project. 00:17:20 [W] call them out. 00:17:21 [W] Let people know that we welcome them and we'll help you out. 00:17:25 [W] A couple other things that we'd love to see in a contributing that we don't always see is set expectations for what it looks like when someone brand-new to your project doesn't have any friends doesn't know anything maintainers or anything like that. 00:17:37 [W] What does it look like when you do your PR will I be talking to a bot the whole time? 00:17:42 [W] What should I do? If the dco is inside if there's a test flake is someone going to help me or do I need to figure that out all sorts of things just to make people feel comfortable with what's about to happen and know what 00:17:54 [W] Norm's are for instance. 00:17:57 [W] Is it okay to bump it after 3 days or can I deceive VM someone our slack or how do I reach out and get help? 00:18:03 [W] These are all things if you put up there people will see like hey when I contribute to your project, it's not going to be a big scary like wall. I'm just throwing my stuff over and helping people like it. 00:18:14 [W] Like I let people know what he collaborative process and how much you're able to help. 00:18:21 [W] A couple other things like I mentioned ecos and cla's. 00:18:25 [W] For instance. 00:18:24 [W] Is it okay to bump it after 3 days or can id ci/cd M someone our slack or how do I reach out and get help? 00:18:31 [W] These are all things if you put up there people will see like hey when I contribute to your project, it's not going to be a big scary like wall. 00:18:39 [W] I'm just throwing my stuff over and helping people like it. 00:18:42 [W] I let people know what he collaborative process and how much you're able to help. 00:18:49 [W] A couple other things like I mentioned ecos and cla's. Those are things that especially if someone's new to contributing in the cncf. They may not have seen before they may have made polar class, but never find anything 00:19:33 [W] Minions, you don't have to explain what a CLA is but say, how do you sign it - you check that you signed it and one of the most important things that we recommend having a new contributing guide is a pull request checklist. 00:19:47 [W] So before someone submits the poll request, can you give them an idea of what they're going to be evaluated against are there going to be linters? 00:19:56 [W] Is there going to be a vet Run? 00:19:57 [W] Is it going to do an end tests? What what exactly is going to happen to my code so that I can check is much of 00:20:03 [W] Of it myself on my local computer before looking silly because my pull request doesn't meet all the requirements. 00:20:13 [W] So the other piece of information that we're still working on at the moment, but will be coming soon is contribution ladder. 00:20:20 [W] So what that means is someone new comes to your project and they start contributing. 00:20:25 [W] How do they move from being a contributor to Navy approver or reviewer and a maintainer or maybe some other roles that are in your project? 00:20:37 [W] What are the roles in your project that people can even be thinking about 00:20:42 [W] If they're a good fit for and then the contribution letter can walk through this is what we expect of you. 00:20:48 [W] This is how you get that role who's allowed to become that role. 00:20:53 [W] For example do maintainers have to be elected. 00:20:56 [W] See themselves contributing your project more long-term and I think helped Foster like a much healthier Community where people feel like they're your peers and eventually could become another maintainer as opposed to someone just contributing 00:21:11 [W] large vendors project 00:21:14 [W] I think we're at the end of our time and I think Josh had a hard stop. 00:21:24 [W] Yeah, I mean I figure up so if people have additional questions, this is what Sig contributor strategy exist for. 00:21:31 [W] So, please take them to slack the cncf slacks and contribute strategy slack parsec conservative strategy Google group or our bi-weekly meetings half of each of which is 00:21:46 [W] For anybody running any project to come and ask questions about how they do self. 00:21:50 [W] And those are 10:30 a.m. 00:21:52 [W] Pacific on Alternate Thursdays. 00:21:59 [W] Thanks everyone for coming to our chaosmesh session. 00:22:04 [W] I hope to hear from you reach out to us.