We are happy to see a lot of questions on how to prepare efficiently to submit a powerful project submission. This is key to be selected and participate in the coming Google Summer of Code (GSoC). This blog post is addressed to those who ask these questions.
First of all, welcome to the Jenkins Community! Thank you for your interest in Jenkins in general and for GSoC 2023 in particular.
Only a limited number of GSoC slots are made available by Google. We will select the best proposals with the highest chance for a succesful outcome. It is thus a wise step to prepare early. It will put all the chances on your side. You will find hereafter some advice about activities to build the muscle required to be selected.
The objective is to build
functional knowledge of Jenkins,
understanding of the basics of plugins and Jenkins core internals and development,
improvements of your java development skills (the main programing language of this project),
practical experiences by contributing to an Open Source project.
First of all, install and run your own Jenkins server. You can install it on your own machine, on a spare server, or even in the Cloud (some Cloud vendors offer free tiers). Configure it to build a real application, preferably using descriptive pipeline syntax. Install, configure, and use a couple of plugins. This will help you to get a functional understanding and a practical experience of the product.
To build your Java/Jenkins "development muscle", start proposing fixes or enhancements in the form of pull requests. You can find open newbie friendly issues via this query. Issues describe problems that need fixing or enhancement ideas. To move forward, use the documentation available on Jenkins.io (https://www.jenkins.io/doc/developer/) or ask for advice/help on the developer mailing list, Discourse, or the Gitter channels (see https://www.jenkins.io/projects/gsoc/#contacts for the details).
Another way to get experience is to follow the suggestions of the "Improve a Plugin Tutorial".
And of course read the rules and general advice specific to Google Summer of Code: https://www.jenkins.io/projects/gsoc/students/ and https://opensource.googleblog.com/2022/11/get-ready-for-google-summer-of-code-2023.html. Also a useful reading are previous year’s submission and recorded meetings.
Remember it is always a good idea to let others know about your contributions to the community especially via IRC conversations, GitHub issues, as well as pull requests. Be sure to ask questions when and where appropriate. Open-source software development is a group endeavour, and we are here to offer guidance to help you to become a part of the community. Therefore open and honest communication is always encouraged and is highly appreciated.
We will hold an online meeting where we will come back on these advises and answer any question you might have. The meeting will take place on Tuesday December 20, 2022 at 16:00 UTC. The Zoom meeting link is https://zoom.us/j/92664728323. It will be recorded.
Next steps
The jenkins GSoC team is currently assembling project ideas for candidates to explore and submit. We are also recruiting mentors and preparing our application.
In January, we will organise one or several meetings where the project ideas will be explained in details. Candidates will have the possibility to ask questions to clarify any doubts. We will also explain how to proceed to prepare a good submission.