Google Summer of Code/2024/Application Guidelines
This guide is intended to be read by anyone who is interested in applying to Gentoo in the Google Summer of Code. Interested students need not be Gentoo developers; anyone who meets the eligibility requirements of Google is encouraged to apply.
Applying as a student
Students interested in applying to do a project for Gentoo should do the following:
- Join #gentoo-soc (webchat) on the Libera.Chat IRC network and the gentoo-soc mailing list. Announcements related to Gentoo's Summer of Code effort will be relayed to both places.
- Send an Email to Gentoo GSoC Admins with your Full Name, Email Address, IRC nickname, Country, and the desired project idea.
- Once your proposal is ready (it can be shared with mentors and admins first to get feedback), sign up on the GSoC website and upload your proposal to Google. To get your proposal reviewed this must be done before March 22nd. The application deadline through the GSoC website is on April 2nd at 18:00 UTC.
We recommend setting up an IRC bouncer to remain in the channel constantly so that you do not miss messages. We also recommend joining other community channels like:
- #gentoo-dev (webchat) (read-only for users, but GSoC students are welcome to gain privileges there)
- #gentoo-dev-help (webchat)
- #gentoo-proxy-maint (webchat).
We want GSoC students to become a full part of the community, and ideally, remain after their project concludes. They should try to participate before their project begins too.
- Please start using Gentoo if you're not already. This is critical for several reasons:
- Need to have an investment in the project.
- Need to understand the landscape and ecosystem and problems to solve.
- Understand our workflows and available tooling.
- Increases the chance of working on a practically useful project.
- See our Contribute to Gentoo page to learn more about our workflows and how to get started.
- Ideally propose working on a problem that affects you or you have a real interest in.
- Be around on the IRC channels listed above.
What interested students need to do
Get feedback on your idea
Students interested in applying to do a project for Gentoo should review the projects. Each project should have a potential mentor listed, who you should contact to discuss your idea before applying. You are free to apply for a project that is not on our list. In either case, once you have an idea of what you want to work on, find a potential mentor to discuss it with. The gentoo-soc mailing list, #gentoo-soc (webchat) or any of the listed mentors on the ideas page should be able to provide feedback.
Write a proposal
Students should author a proposal that attempts to convince Gentoo why their project should be chosen over other competing proposals. A few sentences are not sufficient in most cases to sway anyone.
- Abstract - What does the project do; try to keep this section to one paragraph. It should not be an in-depth analysis but is helpful when someone desires an overview of the project.
- Objective - What problem does the project solve? This does not need to be a long section. Generally, software tries to help make people more efficient, foster communication, or entertain folks. Any proposed software should have a purpose and applicants should define that purpose here.
- Deliverables - What will the project consist of when it is finished? Source code, documentation, a build system, libraries, and binaries; these should all be enumerated in your proposal. Without a concrete set of deliverables, it is difficult to judge if a student finished their proposal. If it is difficult to judge if the proposal was finished, it is difficult to pay for the work as well.
- Timeline - When will the deliverables be done? This is very important for the mid-term evaluation as the mentor has to determine if a given student has made enough progress to award them money. A student should strive to make this as easy for the mentor as possible by providing a bar to be measured by and then meeting that bar. A student should be careful to make good judgments in time costs and if the student slips behind he/she should alert their mentor to this fact and explain why the estimates were wrong. Your timeline should be at a level of detail of one work item every 1-2 weeks, and the items should be technically detailed.
- Biography - The student should talk about themselves: where they are from what they like to study, what they do in their free time, etc. Part of this contest is to make new friends and learn about each other and this is an important part of that goal. This section should include things like previous jobs, internships, and any educational experience an applicant may have. This section is also intended to promote oneself and convince Gentoo that we should choose a given student over other applicants.
For Gentoo, the coding period should not explicitly include time to learn, research, investigate, etc. Your initial research should be done before writing the proposal, to convince us that you know enough about your project to understand it and complete it successfully. If further dedicated time for research/learning is required, it should happen during the community-bonding period, which comes before the coding period.
We understand that sometimes implementations cannot match the proposal, and further experimentation and research may be necessary while implementing any given week's work, but this falls under the time for the implementation itself rather than devoting a week to research.
We highly recommend having an initial discussion with one of the mentors about your proposal before you submit it.
Submitting your proposal
Next, you must submit the proposal to the Google program site. Google provides documentation for this process.