 Mark, so I'm going to start sharing my screen. Thanks, Alyssa. Yeah, and recording has already started, so this is great. Can you see my screen? Sure can. Thanks. Okay, so it's a minute after the hour so we can just go ahead and get started then. Hi, everybody. It's February 18, 2022. This is Google summer of code. Office hours for Asia. On the agenda today, we will go over Q&A for potential from potential GSOC participants and then discuss project ideas that we didn't get to cover in the last office hours for Asia. The plan is to do a hard stop on the at the half hour. There's lots of questions and if everyone is okay with us running over a little bit, we can do that as well. So let's start. Let's begin with the Q&A from our potential GSOC participants. So and just go ahead, Yoraj, what's your question? Yes, I had the same I have the same question as Mark has written down like on building a good proposal. So I'm covered. Okay, so we'll get there. Any other questions? Okay, that I think Mark, we can get started with opening with two of the questions that we had that we thought might help open up the discussion. So one thing is what's the timeline for potential participants. So first and foremost, make sure that you are eligible. So please make sure that you read this portion right here. Make sure that you are eligible and that verify that you are, you know, able to participate in the program with what is required by GSOC. The timeline is here. Make sure that you can accommodate and adhere to what is expected and required from GSOC. I know that they, they are quite strict and they don't make any exceptions if you do not meet their requirements, no matter how talented or, or how much you want to get into this program. So according to GSOC, they said thousands of GSOC contributors apply to the program. And I'm not going to make an exception for you. Won't be fair. So they won't do that. And I've listed here some approaching upcoming. Deadline for from the programs of March. Seven to April 13. It's discussed application ideas with the mentoring organizations. April 4th. The application period begins. And then April 19th is the deadline for your application. So, Alyssa, I'd refine here that note that just because contributed application period starts April 4 does not in any way prevent you. And in fact, it's very healthy for you to start as soon as possible on your preparing your application, preparing your proposal. You don't wait till April 4 to start writing your proposal. You start it much sooner than that solicit requests, encourage people to help you make it better. That's a good point. Thank you, Mark. And they can solicit for suggestions and ideas and for folks to review on our Gitter channel. Right. And we, we were trying to model the same pattern. We've spent a month or more preparing our answers to the questions as an application as an applying organization. Alyssa's been actively recruiting mentors and looking for project ideas and refining and improving those ideas. Well before the start of our date where we were eligible to submit our application as an organization. So you've got the same experience. You prepare your materials well before you're allowed to submit them. Great. Thank you, Mark. So then, okay, so we'll go to the question, the next question, how do potential participants prepare for a good proposal? Yeah, so if you could open that page, Alyssa, let's, let's use that as our outline. So a good proposal commonly starts. Oh, very good question from Veehan. Let's answer that question directly. So what is the preferred platform for writing the proposal? So it's, we've found it most effective. If a person who wants to be a participant here, if they will start with a Google doc and make it publicly allow comments, and they then do their proposal in that publicly visible Google doc, and they solicit comments from other mentors and from other potential contributors. Now, this is quite different from your experience at most universities, right? Most of the time a university program would say, don't you dare take someone else's work? That's cheating. In the open source world, it's not only not cheating, it's expected that we will help each other, that we will give ideas for each other, and that we will give feedback on each other's ideas in public. So you start with a public Google doc, and you outline your proposal in that public Google doc, and you encourage and invite comments and corrections and updates from especially helpful from the potential mentors, from the Jenkins org admins, so from Chris and from Alyssa and from John Mark, and let them help guide you to have your proposal be just as good as you can possibly make it. So a Google doc, Veehan, did that address your question? Yes, Mark, and one more thing, the final draft should be something else, return something else, or that should also be in Google Docs, et cetera. I believe that Google requires the final draft, final doc to go in through their submission system, so you may end up copying and pasting from your Google doc into their system. I'll have to double check that one, Veehan. Alyssa, can you help me remember that, that we need to be absolutely sure we know what format Google takes the final submission in? I believe that's correct. So I know that we had set up a Google doc as a template for our participants, and then you would transfer that, and that's just a template that we helped to provide and prepare for you, but then GSock has their own template. Right, so in fact Alyssa, at step number three in the application steps there, there's the project proposal template. Could you open that, and let's take a look at that. So this gives you a hint, yes, it's a Google doc, and the idea, so the way it's described here is you submit a PDF to Google, and you could do it from a Google doc. If you're a latech user, I guess you could do it from latech, but a Google doc is more than good enough. Yeah, and you should be able to see their application from the Google, the Google Summer of Code homepage. Just like, yeah. We will certainly look at that as soon as the application period opens, we will look at it, and we may even take some time in office hours to look at that together to be sure that we've reviewed the application form, how does it look, how does it feel. We did that as an organization with Alyssa and John Mark, just to be sure we knew exactly what they were asking and how they were asking it. Yeah. Great. Okay, so let's go back to the, how do you get a good proposal? Remember it's do it in public, encourage and invite, start early, and show that you have spent some energy understanding the context. Usually that means you've run Jenkins, you've had some experience exploring Jenkins in that area. You've asked some questions, you may even have contributed some poll requests or some changes that show that you're interested in interacting with the community. Any questions there in terms of writing an effective proposal? Yes, a small one. And it's related to like planning the project. That is architectural view of the project. So any comments on that, like what should we cover? I know it depends on the project specifically. Just wanted to know. Yeah, so, so one of the, one of the, there've been, there've been some relatively common gaps in past project proposals that it may help you to, to watch out for those common gaps. One was a review of the, the sequence in which you intend to do the implementation thinking about do this part first, then this part, then this part, and that lobbies for a block diagram or an architectural view or a, at least a sequence view that will help the reviewers, the potential mentors and the organization, admins to see that you've thought carefully about how this 12 weeks of development will look for you. Yes, sure. Okay. So, and Abdullah has a question, hang on just a minute. So could you briefly explain, explain your expectations from a proposal? Am I supposed to have a detailed plan of solving the issues or only an overview of how I'm planning to approach the project? So the more details that you have considered, the healthier it is. Certainly you haven't implemented the whole project, but the better you have thought about and expressed it, the more persuasive your project proposal is. Abdullah, did that address your question? Just one question. It seems that the project is very detailed in terms of what should be done in the document. Are you supposed to cover all the aspects or is it up to investigation during the GSoc period? Well, so, so there, we certainly know that there will be investigations that will happen during, during GSoc. Last year we had had the experience and the year before that we learned things during implementation that caused us to have to revise the plan. And that's okay. That's accepted. But the more upfront thinking you can do here, the more likely you are to persuade people that yes, you have, you have spent the necessary effort to be ready to do this implementation. All right. Thank you. Okay. And then Sweta has a question. If more than one possible contributors draft a proposal for a given project, will there be filtering after that to select one of them? Or do projects, can projects have two to three student students or contributors? So I would expect that in any organization that's accepted by Google Summer of Code, because there are thousands of students applying for what are only hundreds of positions. So there are going to be multiple, multiple proposals for a single project idea or, or multiple, many proposals for a single project idea is expected. So you will be one of several submitting a proposal. And I would expect that in any organization that's accepted by Google Summer of Code because there are thousands of multiple proposals. And then the organization admins and the potential mentors review those proposals and decide which of those is the best of the proposals. Now, can projects have two to three student contributors? I guess potentially, but they would have to be independent projects. So one of the ways that Google Summer of Code is structured is it intends for the, the contributor, the participant to be able to complete the work with the help from the mentors. They shouldn't have to be working with two or three other participants. It should be an independent project. So I did that answer your question. Okay. Thank you. Great. Are there other questions related to how to do a good project proposal? So we've got an upcoming Google Summer of Code, Jenkins online meetup that will be next week. Right, Alissa, where we'll, we'll give an overview of the project ideas that have been offered and we may use some of that time as well to highlight here are the attributes of a good proposal. Here are the attributes that you should be preparing yourself. Here are some of the actions you should be taking to be actively involved in the Jenkins community so that it's, it's clear to the organization admins and to the mentors that you've already become engaged. So we'll add the link to that online meetup in, in this doc after the meeting. Super. Thank you. All right. Okay. So any other questions related to, to from you as, as potential contributors as potential participants. Then I think we're ready for the next topic. Just one more question. Go ahead. The STEM G service also allowing for a 22 week application is right. So is Jenkins also considering projects in that we are, we are not at this point we're doing the, the, the shorter form rather than the longer form. Okay. Thanks for asking yet right now. Our plan is to, is to go with just the shorter form. I didn't feel like we were ready with any project ideas that were so large that they would demand the long, the longer form. I have. So what do you think makes a project proposal stand out. So for me, the things that have made proposals stand out and be, be more, more visible was that the person writing the proposal had been actively involved in the community by submitting poll requests. By submitting bug reports by participating in code reviews. It made them stand out if they were submitting interesting tests to the thing that they were considering as their project idea, if they were already writing tests for some existing code related to it. I found it more interesting if they had thought carefully about the milestones that mattered to them on this project and how they could take a step wise approach to achieve the final objective. Many times we see a final objective and we don't think enough about what are the small steps we could take along the way to be sure we're going in the right direction. Does the, did those help you to answer your question. He said, thank you. Oh, great. Super. Okay. So, so this, I think we can go on to the. If, unless there are other questions, let's go ahead and go on to discussion of project ideas. Okay. So the first one is plugin installation manager tool improvements and that one is for you to discuss with us Mark. Yeah, so bring, if you could enlarge the font a little bit. So my eyes can see it better. Oh, very good. Thank you. Okay. All right, so, and, and we actually have Kristen what's Kristen who has been involved in some pieces of this already if I remember it as well. So, so here, the idea is that there are a number of improvements that the plugin installation manager tool would would be beneficial. And those improvements are already in wide use inside the jank or those, the tool is already widely used in the Jenkins project. All of our Docker containers now include this tool. All of our Docker controller containers now can include this tool. And so people who are running Jenkins and Kubernetes or Jenkins from a Docker container can now manage their list of plugins by explicit code that says which exact plugin and version they want. And this tool helps them detect new changes and lets them use it. But there are, there are additional improvements that are needed and helpful. So if you can go ahead and scroll down, Alyssa, look at look at the candidate issues in the issue tracker and review suggestions and ideas there to see if any of those ideas inspire you and say, oh yes, I would like to be involved in this. Now we've got relative little time. Are there questions about that? No, I'd say let's go on to the next topic. Okay. Moving on. Pipelines that step documentation generator improvements. Right. And I think Kristen is with us. Kristen, you are, would you like to be voiced for this one? Are you okay if I talk to this one? You can go for it, Mark. I can talk for a long time. You can keep us on schedule. Well, and thanks very much. Thank you so much for joining us today. Thank you so much for being part of this tool. And it's a, it's an amazing piece of work because what this tool does is it reads Jenkins plugins, extracts their documentation from the Jenkins plugin and places it into a format that we can use it on the Jenkins documentation site. So the documentation for Jenkins pipeline steps. And for me, that is an impressive outcome. It's quite amazing what it does. And the way it does it is it actually runs what's effectively a small Jenkins and loads the plugins into Jenkins. And then uses that to extract the documentation. However, there are challenges here. So Alyssa on the page that's, we just scrolled off page. There's a little section up at the top. It says for example, there's a link there when you read the checkout documentation about the middle of the page, if you could open that we're going to see something that so it's top about the top half of your page that you're on right now says checkout documentation. Check out documentation. Right there. Yeah, open that. And what we are going to see is this thing. Thankfully Alyssa has a very fast internet connection. Keep scrolling down Alyssa. This is going to take us a while. Keep scrolling. You keep scrolling. Okay. You can pause now. Now each of those plus signs. Expands into. A very large. So go. Yes, there you go. There's one. And this is a relatively minor SCM. Go up and let's look at the, a really big one. Look a little further up in the letter G section. I'm going to hit SCM as, as the poster child here. And this thing has now generated page after page after page of still more things that can be expanded. To give information. Now this is not friendly to users. It's really hard for them to get. What they need out of this format. It's not just so much here and in so many ways. And all in one single page. So it's an enormous page. The project idea is find ways to make this more friendly for users more easily navigated, maybe by splitting it out, maybe by other refinements. This is a design exercise. It's a coding exercise. And it's a how to present information to users exercise. Kristen, any other guidance there? No, but it is interesting that a lot of this might also be a chance to improve documentation for different steps too, because this one is incredibly like it has a lot of information. So it's very helpful. But there's also the chance to maybe help out some of these other SCMs by committing back to them. Desired. Good, good point. Very, very good point. Thanks. So, Alyssa, I better check to see how we're doing for time. Are we okay for time? We have about six minutes. Okay, good. So let's, let's keep going. All right. Automating plugin build metadata updates. Yeah, so this one. This one is, is just the beginnings of an idea. And, and it's an elegant, really cool idea. So, Alyssa, if you could open community dot Jenkins dot IO. And there, what you'll do is you'll search for the word metadata. So in the top, yeah, the search thing there. And let's see if we can. Okay, so no, so maybe no, do Google summer of code. Let's let's do it that way because I think it's in, in Google summer of code. I'll do some searching here in parallel. Yeah, there it is call for organizers mentors and project ideas the very top most one. And if you'll scroll through this one, I believe we'll find a comment from Basel Crow keep going. Here we go this one pause right here. So what Basel highlights here is that we have learned some patterns that it's very helpful for Jenkins plugins if they will do certain steps, if they will keep themselves updated. The first example he says shows is, be sure there's a Jenkins file that really will build the plugin automatically when any changes submitted. Be sure that the Jenkins minimum version is current. Be sure that the parent palm is current. Be sure that now it goes further down be sure that JSR 305 annotations have been replaced correctly with spot bugs. What these are is a series of refactorings. What Basel envisions is automation that would iterate over all the plugins and attempt to apply these refactorings one at a time. And if the refactoring could be applied successful then submit a poll request proposing that change to that plugin. The idea is, let's do automatically what we know human beings have had to do up to this point to keep plugins current. There's several hints of tools that are already available that can do automated refactoring. So interesting challenging lots of lots of opportunity for code here lots of opportunity to think very creatively. Any, any questions on this one. Okay, then let's let's try the next topic Alyssa. So the next topic is actually. This one will have to do right we'll have to do that and so I could talk to it briefly but but john mark miss and we'll talk about this one a week from now in the Google summer of code office hours during Europe time. It's the configuration is code drift detector and it's, it's again an interesting idea that isn't hasn't yet been fully fully vetted at the same level as the other topics that have been listed there. Right, that's all we have on the agenda so we have about three minutes left and we can use that for any Q&A from our potential potential participants. And if not, we can drop early. Okay. So we will, we will make the video recording available. I apologize, I'm a little bit behind on posting video recordings right now I've queued several, I hope within the next 24 hours to have the video recordings of previous sessions all available on community dot Jenkins that I oh, maybe Alyssa while we're here if you could open community dot Jenkins that I oh again, and we could look at those where we've got the video recordings archive so search for meeting. Oh, there it is. Whoops, it's right there. Second one down. And we'll we'll post the session for today here we'll post the session from the from last week here as well. There's no other questions we can drop. Okay, everybody. Bye bye. Thank you everyone.