Google Summer of Code is a global, online program focused on bringing new contributors into open source software development. GSoC Contributors work with an open source organization on a 12+ week programming project under the guidance of mentors.
GNOME + GSoC = ❤️
How to Apply
Make a Small Contribution
We want to make sure that new contributors are familiar with our development workflow and with the tools involved with it. Make at least one small code contribution to a GNOME project (preferribly related to the project you want to work on during GSoC) to demonstrate you can build the application from the source code, make changes to it, and submit a merge request in the project's GitLab repository.
To learn how to contribute code to GNOME, go through our Newcomers tutorial.
Decide on a GSoC project
Our mentors put together a list of project ideas that you can choose. Project proposals are not exclusive to the ones listed in our project ideas page. You can contact the main developers or any GNOME project, introduce yourself, and suggest your own project ideas. Base any ideas you propose on the research about the needs of a particular module and make sure there is a mentor interested in guiding you in implementing this idea before basing your application on it.
You can contact the GNOME community in our Matrix channels.
Fill out the Application
Once the application period has opened, you have to submit your application on the Google Summer of Code website. Your application must be written in English. It should contain a detailed description of your project proposal.
Copy our Google Document template and make sure you answer all of the questions.
Please be factual and clear in answering these questions. Feel free to add anything else that is relevant for your application. It is never too early to start working on your GSoC application! Note that GSoC positions are very competitive (with about 4 applicants for one position in the past) The key to creating a strong proposal is to propose a manageable and agreed-upon project, make a contribution to the module your proposal is related to, and write an application that clearly demonstrates your knowledge, skills, and enthusiasm.
The following things can help you select a project and prepare your idea: