 Okay, welcome to GSOC office hours. This is the first Q&A session for students and we will have just a quick question and answer session with all students. And then, yeah, probably somebody will start the drop and go because we hit the limit. Currently, our tool will be used automatically at a media limit of 10 participants. Yeah, I think we will be moving to another tool soon if somebody... Olex, should I drop out of the meeting? If you want, I guess students are... Yeah, you're already familiar with how GSOC works. If you just stay around and let the students join, it will be much appreciated. Okay, so I'm dropping out and I will follow on YouTube. Bye. Thank you. Bye. Okay, so just to quickly introduce myself and the program. Jenkins GSOC is driven by a team of Jenkins or Karmins. Now we have four Karmins. It's me. My name is Oleg Nanshov. We also have Martin D'Anju, Jeff Pierce and Lodzhan. So they will be participating in other meetings. We will be coordinating with each other. But the plan that you will have at least one or Karmina at every student for any session. And the purpose of these sessions is to actually answer any questions you may have about the GSOC organization and Jenkins project, about timelines, about submissions, about nice to have, etc. So this is the main goal. We do want to specifically discuss project details, unless there are mentors on the call, but we will help to coordinate it. For example, if you have a question and you are unable to reach out to mentors, we can use this call in order to agree how to proceed. And our partners will be able to help. So that's the plan. Any questions so far? Hi, Oleg. Hi. This is Parichai. I'm from India. Yeah, so actually, like I was trying out the tutorials. I was checking out like multi-brand support. And like I found a couple of bugs, like not exactly bugs, like some sort of, you know, like some, you know, hello. Yeah, so, so like, should I pull up an issue on the GitHub page? Yeah, it would be highly recommended. Just a second, I'll share my screen. So since you work in the Jenkins project, you're considered as a contributor. It means that you are welcome to follow all the links, community processes. And of course, if you hit any issues, there is a big page describing how to report the issue. Okay, Jenkins. Do you see my screen right now? Sorry? Do you see my screen now? I can hear you. Yeah, do you see my screen? Yeah, I can see your screen. Okay, so I printed the link to the chat. So there is a weak page which describes how to report the issue. So if you see any issue, you're welcome to report it in Jenkins Jira. And that's why we recommend that every student will create accounts as part of the preparation. And yeah, if you hit security issues, whatever reason, there is another process. But yeah, in such case, you can use Jenkins IO security and there is a page for important vulnerabilities. So if you hit a security issue, follow this process. If no, follow this process, which is just creating each and describe how to reproduce it in general. So there is no strict requirements and you can just do whatever is needed. Okay. Yeah, I'll do that. Okay. Okay, thank you. So yeah, you're more than welcome to ask any questions about the GSOC about the program. And once there is no specific questions about it, we can proceed with project-related questions. So did everybody have a chance to go through student guidelines? Is everything clear or do you have any questions you would like to be answered? So Oleg, can I ask a few questions? Yeah. Hello, I'm Barkay. And so during the project selection, should we commit or solve some issues to be chosen to solve that project? There is no strict requirement to do commits to Jenkins as a part of your project application. It's very welcome because it helps you to study the area. And of course, when you will be selecting projects, we will be also taking a look at all contribution experience as a part of the application period. But it's not a strict requirement. Your main objective is to create a good project proposal. I mean, explore the area, define what needs to be done, estimate times, think a bit about design, how it would be integrated in the Jenkins system. This is the main objective. If you can do it without doing any commits and if you can create a good project proposal after that, it will be perfect to find. Okay. And also, so there are projects and there are some mentors with that project. Should we ask them privately or should we ask them in the glitter chat? The recommendation is to use public channels the way possible. So which project idea has a reference to the Gitter channel? There are different Gitter channels for project ideas and there are also many tips. The advice is to follow public channels as long as it's possible. Of course, if you have a private question to the mentor, you can reach out privately. But the general recommendation is to use public channels for any project related question. So private channels is something like, for example, if you have a concern, for example, about your availability in particular period and you want to get a mentor's advice, or if you have some issues, for example, with other mentors, it happens sometimes. Then you're welcome to use private channels, for example, with awkward needs. But all project discussions, technical discussions, it's better to do it in public channels. Okay. So for Jenkins project, JSOF is firstly an open source activity. So it means that all kinds of communications is also a part of open source contribution for you. Yeah, there are some concerns from students about competition part. So some students usually are concerned about the fact that they do a proposal in public. And then somebody takes their proposal in his own project proposal. Yeah, it happens sometimes. But yeah, be sure that that's why we try to follow public communications. Because, yeah, we have a track of these communications and we will be reviewing proposals carefully. Hopefully, we will discover all these pieces. So yeah, we will keep track of distributions and technical discussions, report the issues, whatever, also contributions to the project. So they make the difference for you first. And if you collaborate with other students, for example, we have one piece in an old strategy plugin where we already have multiple students who are interested in the project. It's perfectly fine for students to collaborate with each other. So for example, if you see that there are two or three or four students working on the same project, you're more than welcome to collaborate with each other and see how you could split the area so that your project proposals do not intersect. And in such case, all projects can be accepted at once. It's not possible for all projects. But if such help needed, mentors can help you, is it? Yeah. And so I do quite understand the part of what happens if a number of students apply to the same project? How is it going to choose them? Does Google choose them or does someone in Texas choose them? Yeah, I can briefly describe the process because it's not written in detail in GSOC timeline. There are other documents like Mentor Guidelines which describe that in detail. Oh. Well, projects GSOC. So you can find details about the process here. So we have information for Mentor's page. And here there is GSOC Mentor Guide which actually documents all these questions including... Yeah. Just a second. And we'll look... Yeah. So student selection process is described some way here. Mentor Guide, not in the student guide. Yeah, in the Mentor Guide because... I see the student guide and have a look at the Mentor Guide. Okay. Yeah, right. So I can briefly explain how the process happens. So we have GSOC timeline. I hope this is the correct... Yeah, this is the correct thing. So you may see that there is... So for you the application finishes on every lines. So by this time you're expected to submit a final application through the GSOC website. And by this time you're expected to submit a disability documentation. So this is a time when student application finishes. But you may see that there is almost one month gap between this thing and accepted project proposals. So yeah, this is a magic part when the selection happens. And how it happens actually GSOC organizations select students on their own. And actually they don't select students, they select projects. So you can submit for example two projects to the same organization if you really want to do so. How the selection happens. So once everything is finished, we receive a list of submissions. So usually it's about dozens and hundreds of submissions per organization. And then the organization starts filtering these project ideas. So we just review them, I filter out ideas which have no relevance, etc. And our main goal is to submit a number of project slots we would like to get. And the organization sends to numbers. Minimum number of project slots we want to get and maximum number. So these two slots, these two numbers are submitted to Google. And then Google processes this application from the organization. And then returns us the number of project slots we actually get. Just to be clear, we are guaranteed to get at least one project slot as an organization. But yeah, we are not guaranteed to get a minimum number of projects. But usually it happens that you will get a number which is pretty good. And so yeah, this is what Google does. They return us the number of projects we can take. And then again, the organization and the mentors work on these project proposals. So what we do, we create mentors teams. Our goal is to select students, select projects and select at least two mentors in our organization and to form this team. So for example, we get 10 project slots, we need to create 10 such teams. And we do that and we have to do it by May 6. So this is how the final selection happens. So it will be a collaboration on the Jenkins organization level and on the mentors team level. And that's how we will get to the final decision. So there are some maybe not expected pitfalls there. But yeah, depending on mentors availability, depending on students availability. Yeah, projects maybe, so we try to find solution for good project proposals always. We look for additional mentors. So if you see a project here, projects. So if you go here, you may see that there is different number of potential mentors in each project. So it means that these people are interested in this project. Maybe it doesn't guarantee that maybe your mentors find them. But as an organization, we will be looking for additional mentors if needed. And we will try to form these mentors teams. So for you, you can apply to any project. Sometimes when you see more mentors in the project, it could be a more sustainable call. But again, it's just a rough estimation. So for each project we have now, I'm pretty sure you'll be able to form mentors teams. So you can probably apply to anything. Okay, I hope it answers the question about projects. So just to be clear, so yeah, project selection happens only once. And yeah, after that community bonding starts. And if you have second approach, for example, about your availability, if you're selected for organization, there will be no way to cancel the application and to select another student after the announcement. So that's why when you apply and when you make submission, think about your availability because JSOC is a pretty big time commitment. And if there is any risk that it will collide with your study, for example, or if you plan to take internship during the summer. So internship in many cases is just no go for us. Especially if you didn't explicitly communicate about it in your project application. So the application we asked you to list your commitments for the summer. So for example, if you plan internship, it's better to mention it. Because if you do not mention that and then we discover that, then you may be at risk. Because it's really difficult to combine these things and mentors should be able to adjust that. On the other hand, again, it's not a blocker. JSOC, if you need a week or two during JSOC, for example, for personal matters, it happened many times in Jenkins JSOC and other organizations. So it's not a blocker. But again, it's better to let mentors know about that in advance so that they can plan accordingly and that they can take account of their own plans. Mentors also have vacations during summer. So yeah, it's just a part of the JSOC and it's a part of how we organize collaboration. Okay, so yeah. Do you want to ask a question? Because maybe your audio broke. Sir? Did you want to ask a question? Any other questions about, I believe, something that's going on with your audio? Because we don't hear you. If you have a question, could you please write it in the chat? By the way, is my audio okay now? Maybe it's on my side. No, I couldn't understand. It happens sometimes. Be ready to not work issues. Well, it happens every time in JSOC. Because it's a part of the distributed work. We just need to be ready to that. And this is also why we recommend to use chats and main entries. Because communications may be unstable. It may be in the time zone issues. You may have noticed that the many mentors are actually from the United States, from Europe, and from our Asian and Pacific region. So it means that we will be forced into mentor teams and we will try to take time zones into account. But yeah, there is no guarantee that we will be able to form a team in the same time zone. Usually it's not how it happens. So be ready to distribute it to all kinds of communication programs. It's how communities work. We should also be a part of the experience. Okay. Are there any other questions? Yeah, so there is a question in the chat. I'd like to ask whether it's polite to mention potential mentors when I have questions for it may disturb them. So the advice here would be that if you use a project-specific chat, for example, if you have a chat specifically created for, for example, a remote in projects or coverage API or machine learning, we have many project ideas which have dedicated chats. The advice is to avoid mentioning people directly unless you need a specific response because whomever is interested, they will still read the chat. If you use a generic channel like JSOC, then your mentioning mentors would be advised because otherwise it may be missed in the communication. Okay. What we can do within... Yeah, so if you use JSOC GitterChannel heavily, then better to mention mentors. And if it becomes uncomfortable to you or to mentors, we can create separate chats. So we did it, for example, for Docker image program project idea recently for machine learning. And for other projects, if there is high traffic, we will just create new JSOC, new GitterChannels right away. Is there any page we can see the open glitter chat for projects? No, there is no such centralized Viki page. Just a second, I can show you what you have now. And if you have a proposal how we could improve it, it's something we could do. Okay. So what we have now? We have a list of project ideas. So if you navigate to each project idea, you may see that there is a chat. Yeah, so for each project idea, on the right side you can see mailing list, if relevant, Gitter, if relevant, and meetings. For example, here it references to JSOC office hours because there is no dedicated meetings. But if you go to another project idea, for example, if we take configuration as code one, configuration as code is a sub-project and they have their own Gitter channel. So for example, you may see that it links to the configuration as code plugin in Gitter channel. The same for meetings, they have separate meetings. Okay, the link is broken. That's interesting. Projects, I'm not sure why. Oh, yeah, projects was duplicated. So I'll fix the link, but what happens here that there is configuration as code sub-project. So they have Gitter chat, they have meetings, and if you're interested in configuration as code related project, you can just join this meeting in order to chat with stakeholders and discuss how to proceed. And all contacts are here. So this should be your entry contacts for each project idea. On the community level, we have some pages like, for example, Jenkins.io chat. But to be honest, this page needs some refactoring before it becomes really helpful. So you may see that it doesn't offer much information right now. So yeah, and it will be also expanded in these pages because yeah, there is a huge reward going on for Jenkins resources nowadays. And you may have seen in the developer magazine that the Jenkins project is about to move to continuous delivery foundation. It's a part of Linux foundation. So most likely there will be some changes on Jenkins.io and channels after that. So yeah, but if you have any feedback on how to better organize chats and meeting please on the JSOC level, please let us know because it will be a feedback which is available for us. And yeah, we still have more than one month to adjust the framework for your feedback. Olym, I would like to ask a question about development of Jenkins plugins. So like I have a bit of experience in Java like some REST APIs and Node.js. So I want to work on this multi-branch support for GitLab. So is it sufficient if I go through the existing codebase of other SCMs or like should I, before that should I learn some particular tech stack for that or will going through the codebase would be sufficient? Well, going through codebase could be fine. So if you're familiar with Maven, all projects we have here are currently Maven based. So in Jenkins project we have some Gradle based plugins. But yeah, I believe that all plugins here are based on Maven because Maven is a default stack. So yeah, if you have IDE you can just start a project and it's a standard Maven project from the architecture standpoint. So you can study the code here. There are some documents for example introduction to plugin development. I keep forgetting that I moved to the new laptop. So yeah, you may see that there are some links here. You can actually just google for the links. But yeah, what would be the correct approach? There is a link link from student guidelines. It's Jenkins IO participate. This link is actually a link page for all newcomer contributors. Here you may see that there is a right code section and here you can just find some more experience about contribution and there are also links to some guidelines including plugin tutorial and other things. Again, yeah, this page is still working progress after the migration but if you miss particular documentation we are able to help. But you can find all generic documentation here. For example, how to build the plugin, how to publish the plugin and it should be the entry point for you if you look for documentation. You may see that conference is pretty slow sometimes. But yeah, after it opens you may see that, for example, this page provides a full guide on how to set up your environment in order to build Jenkins. So you can just go through this page and after that you will be able to build your project in MyMedian or in ADS. So yeah, you can use documentation. Sometimes it takes time to find it. But yeah, it's a part of open source contribution. Okay. Any other questions? So generally we conduct these meetings till the last question or till the term runs out. If you have any questions about the process about the projects just asked and if no we can probably close the meeting. My advice would be to just start exploring project ideas start building something exploring the area or just try out Jenkins because you have six weeks till the, maybe five weeks till the petition deadline, but at some point you may realize that it's only five weeks because yeah, creating a project idea, you can do it in 15 minutes, you can spend one week or two weeks on that and it may really input the quality of the project idea and as a part of GSOC we don't want you to just forget about your study. So we know that everybody on the school has commitments outside GSOC and we need to spread these commitments and first advice for you would be that the study first. So GSOC is important, but GSOC is addition to your study, so if you have exams, if you have other things, again we will try to organize GSOC schedule accordingly, if your project is accepted but during the application period also take it into account. So it's better to start early so that the GSOC deadline doesn't input your other commitments. Shengyu, are you on the call now? Yeah, maybe you would like to share some... Oh, yeah. So what we are thinking about is organizing a special session maybe in a few weeks with all former GSOC students so that the students can share their experience with you guys and you provide some information how it's organized and what would be tips and tricks for those ones who participate in GSOC first time. So I guess on this call we have several people who used to be GSOC students before and now the GSOC mentors maybe we have a second year students as well on the call and if you have any experience please feel free to share that in community channels. It will be much appreciated. So any advice you can put just drop it to the chat feel free to send a message to the mailing list. It's also part of the contribution and we will much appreciate that. Yeah, so we will get it organized. I'm not sure what would be the format but be sure that this session will happen. We usually do this session as a part of community bonding but maybe we will be able to do this at this time. Okay, so do we have any other questions left? Okay, if not then see in the GitHub chat and yeah, thanks again for the interest in Google Summer of Code and thanks for the interest in Jenkins project specifically. Jenkins is a really big organization maybe 500 active contributors nowadays but yeah, since we have hundreds of different components and you may have seen that there are thousands of plugins having more contributors and having people who are interested in the project is a really helpful cause and yeah JSOC is one of the ways and that's why we appreciate all ideas coming from students and all contributions coming from the part of the JSOC. So yeah, thanks again and see you next week. Okay, bye. Yeah, bye. Bye.