 Well, today we have a short go somewhere, of course, to office hours to come to the person on the call. And since we don't have so many people, we will just go through Q&A, and Milma had a question about how many participants we accepted just so, right? Okay, so to answer this question, we can just go to the website, just, yeah, let me stick the same type of, okay. So here you can find history of our GSOC participation. So you can see that in two previous years, we've had seven student projects, how these numbers are formed, based on the capacity of ORCAD means and mentors and on the applications. In Jenkins GSOC, we intend to have not so many projects. We mostly focus on finding high quality applications and formal strong mentor teams. Last year, we had a strong requirement that we have at least three mentors for each project. And yeah, it's a common the limits, the number of projects we are going to accept. So for example, here, if you take and go to GSOC's online and project ideas, you can see that we had quite a long list. And actually we've got quite a lot of good applications for this project, but we were unable to form our mentor teams for all applications. And we just requested seven slots that here and we got seven projects from Google. So that's why we had seven projects. There is no particular hard number we set. So we will be working with potential mentors with ORCAD means and based on that, after the applications, we will apply for a project's number. But the reasonable expectation that we will have a relatively low number of projects. So there are organizations which have 50 projects, mostly foundations. In the case of the Jenkins project, we are looking approximately at the same numbers in previous years, maybe a bit less, maybe a bit higher depending on how many mentors and project ideas we get. Does that answer your question? Yeah, thank you, sir. Another one is I'm a beginner. I'm like, I haven't participated to GSOC before. So can we contribute to the past projects of yours? You have mentioned three or four projects to be continued in next. Yeah, in next year, should we contribute to them? Or can we contribute the past project of yours? Yes, so basically you can contribute anyway within the Jenkins ecosystem. So when you do contributions, there are multiple objectives you may have. Firstly, studying the subject area. So Jenkins is a huge project. It includes multiple technologies, multiple components. And if you can see the particular project, then the best opportunity is to focus on something along the lines of your project idea or along the lines of your personal interests. So for example, yeah, this is just a sketch. We will have more project ideas. So now we have three, but for example, you want to work on automatic specification generator. You go here and yeah, there is a description which needs a read. But here you can find some references to existing components to new com-friendly tickets. You can start exploring this area. For example, take something which is referenced, for example, ticket or take a look at similar implementations like I'm not sure what skillet generator is here, but for example, Swaggy Jenkins, et cetera, you can just take a look at these implementations, maybe contribute there, or maybe take a small error within this project and try doing that. So for example, yeah, you can have automatic specification generator, or you could start from doing specifications for particular parts of Jenkins REST API, and it would still help you to understand the subject area. And it would also help you to make trust contributions in the project. Because for example, yeah, there is a lot of plugins which would benefit from REST API specification, even if it's generate manually, or you could already play with some automatic annotation processing. So yeah, basically that's the idea. You take an interesting career and just look at small contributions. Okay, thank you. Yeah, so regarding previous projects and project ideas, you can definitely take a look at these areas because all projects in all these projects, there are a few future work sections, so you can just go and even if it's not listed right on the project page, you can take a look at the presentations. All students make presentations after phase three and you can find a list of tasks to be completed, or for example, here there is just a roadmap link, which references a few tickets. So again, it's something you could take a look at, because if we had a project last year, continuation of this project is definitely a potential project idea, even if it's not on the list at the moment. If you have a student who is asking about this particular project idea, if you could contact past mentors or other contributors and see whether we could have a project which continues to this idea. It's definitely a good opportunity if you want to explore past projects. Yeah. And also, in 2021, there are like three or four new projects over there. Are you going to increase the number of projects and those three or four projects are to be continued? Do you mean these projects? Yeah. Yeah, so these are basically projects I took from the previous year. Which didn't have a student working on them. And since I am a potential mentor interested in this project, I put them as draft project ideas for this year. We still haven't announced GSO 2021 in wider developer community. So basically these project ideas don't represent a final list at all. Usually in September, we should reach out to stakeholders, to active contributors, to GSOC participants to create a project ideas list. We will actually need it for our project application in January, but we try to build a list in December. So this list will definitely grow and there will be more potential mentors and more project ideas. Okay. Thank you. Yeah. And again, these project ideas are just project ideas. If you have your own project idea, it's totally fine to discuss it and explore it. Though in this case, it's good to reach out to the community earlier so that we could look for potential mentors for your project idea. If we have a new project idea, it's like a solution for our own problem. Is it okay to present to you? Yeah, that's okay. Like it is not a public problem or a common problem. Or it is not relevant with your Jenkins technology or like that. I mean, it is a solution for our own problem. And is it okay to present as a new project idea? Okay. So let's break it down. Jenkins, Google Summer of Code is about the Jenkins. So what it means that we are looking for projects which are somehow related to Jenkins because system and for example, in 2020 we also participated together with Jenkins X. So we were also looking for project ideas which were relevant to Jenkins X. What does it mean relevant? If you have a problem, so if you're a Jenkins user, if you want to address it, it might be valuable to the rest of the community and might be a totally relevant project idea. If you have such an idea in mind, my recommendation would be to reach out to the community in the mailing list or in the Gitter Chat and to discuss it so that we could see whether we could have this project idea. So in order for this idea to happen, the multiple additional requirements which need to be met, just need to meet the GSOC timeframe. So this idea should be around 12 weeks of coding, 10 weeks of coding this year. And also we should find mentors for this project idea. If there are interested mentors, if the idea is valuable to the community and if it fits the timeframe, then it can become a GSOC project. Okay, thank you. So do you have any specific idea in mind? Still I don't have, I don't have many. I have had a little idea that means in my university, in our software project we built in software and I need to actually improve it like develop it to FOD. So as you said, it is better to put my idea on the Gitter Chat, right? Yes. If I had something new. Yes, it would be good because you can get quick feedback whether it could fit GSOC or not. So there is a lot of generic problems which could definitely hit GSOC. There might be some discovery topics. So for example, this year we had a project focusing on machine learning and there was a group of mentors which was interested in this topic and there were users who were interested in this topic. So although there was no existing plugin for this particular case, it was still valuable to the community and it was considered as a great GSOC project idea because it would allow Jenkins system to expand there. Or you just may have, for example, a specific tool chain. Let's say you develop something for embedded, for automotive and you have particular tools you want to integrate with Jenkins. It could be also a project idea and actually it was, there was such project idea in 2020 integration for EDA tools or for example, plugins for electronic design automation. So again, somebody who's interested in this area could come and propose a project idea for particular tools and we would find mentors who would be interested and then this project idea would happen. So it's not a problem if the project idea addresses a particular subset of the Jenkins community of users. This subset shouldn't be limited to just you. If it's a wider community value, then it's potentially a good project idea. Okay, thank you. The problem I had is like if the beginners have not much knowledge about the technologies that project used like Docker, I have not much knowledge on Docker. If our project proposal is selected, is Jenkins ready to mentor us or give us a workshop like to improve our knowledge? Or should we self-learn about that technologies? Okay, so how do we commonly do that? So when you apply for a project, it's definitely not a requirement that you have deep knowledge of that. Firstly, because you're a student, you expect to study during this project. Secondly, because there is a lot of various specific topics which still need to be discovered. So for example, Jenkins development, Jenkins test tools, you will still need to study that. And when you apply, we definitely don't require you to have a lot of expertise in that. Then if the project gets accepted, there is community-burning phase. And during community-burning phase, we organize additional trainings for students. So how we do that usually just ask students what additional information they need, work with the mentors as well. Then we schedule some training sessions usually for a wider Jenkins community or just for a particular student. So that we can have these sessions and we could record them. And our expectation that by the time the coding begins, you get at least the basic information for technologies you would be using. So from day one of the coding phase, you should be able to touch the work on the project. Of course, study in parallel because there will be still things to study and discover. But for basic knowledge, we definitely try to provide it in advance. Okay, thank you. Yeah, sorry. Yeah, do you have any other questions? How should we prepare a proposal for this? Like, there is a timeline, right? Are you a company aware of the proposal, preparing proposals about in the GCHAD chat? Okay, so firstly, the Jenkins project is not a company, it's a community. It consists of multiple company contributors and individual contributors. Our main endpoint for GCHAD is indeed this chat. And if you have any questions about your application, you can ask there. Moreover, particular project IDs as you may have seen the link to other chats because there are special interest groups and other supporting positions within the Jenkins community. For example, external fingerprint storage, if you go there in Connect, you can find channels. And you can see that they point actually to cloud native special interest group. So in addition to GSOC channel, you can use the channels defined here to get more information and to get in contact with contributors who are interested in this domain. The GUTL timeframe. So this is the official timeframe for Google Summer of Code. So here you can see that the application period begins on March 29 and it ends on April 30. So what it means that between these dates, you will need to submit a final proposal through the Google Summer of Code website. It doesn't prevent you from exploring the project in advance. And for example, here you can see that the list of other organizations will be discussed on March 9. But effectively, we already have GSOC 7.21 running and you can start discussing your proposal even now. You can discuss your IDs even now. And if you're ready to start working on a project proposal draft, again, you can start at any moment. So you're not limited by a much nice deadline. You can start doing it later. You just need to keep in mind that not all contributors are able on 24-7 basis. So some contributors take vacations, some contributors are busy with their projects at work or other responsibilities. But in principle, nothing conflicts you from exploring projects and submitting proposals even now. Yeah, thank you. One last question. Actually, I heard about Jenkins from a senior student of our university. Can you please give me some more information about Jenkins? Okay, so for Jenkins in general, you can just go to the Jenkins site website. So Jenkins is a generic automation server. It can be used for multiple purposes. It's mostly known as a continuous integration and continuous delivery tool. So if you deliver developed software or it was hardware or any other project, you can, for example, automate testing and verification of your project or you can automate publishing of your project to market places or whatever. But yeah, these are just the news cases of what Jenkins is. Jenkins can support various automation flows. So in the nutshell, it's basically just the Java web application is distributed build system and this Java application is extensible. So there are more than 1700 plugins integrating these different tools, supporting different use cases, and it helps you to build your automation pipelines with this system. Okay, thank you so much. Okay, so if you want to explore more, you can just go through the website. For example, there is some documentation including guided tour. So if you just started with Jenkins, you can just go through this guide and create your first job using Jenkins, install Jenkins on your system. And yeah, just get introduced to it. So yeah, again, I'm putting links to the meeting calls. So yeah, this information could be a good starting point for you. And then you can go through additional tutorials if you want to try something advanced and some tutorials point to particular plugins, which you again might want to explore for your use cases. So just start from our documentation, try out something. And if you have feedback, do not hesitate to submit it. So for example, if you experience a problem in the documentation, there is report a problem button, which actually just goes to our mid-hop issues tracker and submit this feedback because you'll be also available in the revision to the community getting your feedback from somebody who just starts with Jenkins. Okay, thank you. Okay, so any other questions? No questions from me. There is one another participant there. Hello. Do you have any questions? No, I'm Hirosh. I'm from the University of Toronto. This is my interest time. This is my interest time. Sorry, I didn't answer that. Interesting. You are coming, I request some details. Sorry, I still didn't get the question. If you could write it in the chat, it's fine. All the technologies, what are you using in your company? Yeah, I'll post this link. So yeah, you can just put a question here. I'll go to the Zoom chat. I'm sorry, I really didn't get the question. If I try again, I will try to answer. Do you want to type a question somewhere or just try again asking? I can't find the place that you are typing. I'll just put it anywhere, either in this dog or in chat where I sent to the link or maybe just in the Gitter chat, if you prefer, I will be able to answer from there as well. What are the most used technologies in Jenkins, right? Okay. So Jenkins itself, it's mostly written in Java as a core engine. So if you go to Jenkins, you can see break down by language and technology. So you can see that Java is 85% and JavaScript is 3%. Actually, it's not exactly true because we also depend on a lot of external libraries, et cetera. So if you talk about the Jenkins core and the majority of the plugins, it's Java for backend, Java script for front-end. There is also some Groovy code here and there. But these are the core technologies within the Jenkins core. There are also other components. So for example, our website uses Ruby engine. So even if, so Jenkins is basically a lot of additional information. We also have our components which are written, for example, in Go. So let's say Jenkins Kubernetes operator is written in Go. And there are many other languages. So for example, if you want, you can write Jenkins plugins in Kotlin. There was also support for Python and Ruby. We deprecated it. But still, if you go across the Jenkins ecosystem, you can find many different languages. Because again, even on the main repository, we have more than 2,000 projects, mostly plugins. But there are development tools. There are other components. We have infrastructure, which is heavily about Kubernetes at the moment. And there is also a lot of different technologies and tools being used there. Is there any particular technology you're interested in? I'm interested in. I'm just kidding. I'm the real deal for inside. I also do a Java. I haven't used it. So you said you're looking for NPM. Is that right? Yeah. Yes. NPM. I'm just not 100% sure. So NPM is basically a JavaScript ecosystem, right? Yes. Okay. So yeah, we use NPM a lot. For example, our packaging, including Jenkins components are packaged with NPM and WebPark at the moment. Also, there is, for example, plug-in site, which is again packaged by NPM. It uses Gatsby under the hood. But the engine itself is NPM1. So again, you can just take it. It's NPM React. Gatsby uses a lot of front-end technologies being used. There are other components like that. Basically, we try to build new front-end and new services using JavaScript stacks. Excuse me. I have one more question. Can you suggest me a project for a beginner like I can do my best with least kills? Which skills? Sorry. You're looking for a project for beginner. So by using your existing skills or just to get started. So projects for beginners, you may have seen this page. Jenkins will participate. So this page provides links for contributors interested in particular topics. So for example, if you want to write some code, Google Summer of Code is about code. Here you can find some overall introduction and links to different guidelines and steps. And also there is a section for newcomers. So here there is a beginner guide to contribute some presentations or outreach programs we organized. And there are newcomer friendly issues which you could start looking at. For example, if you're querying GitHub, you can see that there is around 50 issues at the moment in different components. So you can see that some issues are related to documentation. Some issues actually related to the code. There is a lot of documentation issues at the moment in the query. Because we need to update the query so that it excludes the documentation label. But you can still find some coding tasks here. Also, for example, there is Jenkins Jira. And here again you can find, I guess, a few hundreds of issues which have been marked by maintainers as newcomer friendly. So what it means that you as a first-time contributor can get started with them quickly because there is clear description of what needs to be done and sometimes links to how to do that. Does it answer your question? Okay, so just to check out these guidelines, there is some starting confirmation. And the same for project ideas. On the project ideas page, we also have some links to newcomer friendly issues. So for example here, for example, Jenkins remote and monitoring. And still uses Google layout. But here you can find newcomer friendly issues. So if you're interested in this project, you can just click this link and let's see what we see here. So here we see some issues. The filter needs to be being updated. So let's see. We actually need more issues for those who are interested in this project. But you can still find some links in the project ideas. That's probably enough information for you. Yeah, thank you. Can you put the link to the data chat? Just a second. Okay, so I will just put the link to the entire document. Okay, thank you so much. Thank you. So you can start from exploring these links. And again, if you don't see any issues which would be interesting to you, you can just ask. Because your maintainers usually have some ideas about what could be done. We don't always create issues for that. Because even creating conditions creates time. And sometimes it just stays waiting for with opportunity. Anything else for today? Any questions you would like to ask? That's all for me for now. Rosh, anything from you? I am also in all your questions. Then thanks a lot for your time and thanks a lot for your questions. So if you have any follow-ups, let's discuss that in the main piece. And I will publish the recording tomorrow. So if you wanted to revise the discussion, you will be able to see this recording. Okay. So that's all. And yeah, thank you. We will do the next meeting next week. So if you have more questions, you can also join this meeting. Okay. Thank you so much. Bye.