Blog Open Source Google Summer of Code 2024: Contribute to GitLab and Git to prepare
Published on December 20, 2023
4 min read

Google Summer of Code 2024: Contribute to GitLab and Git to prepare

Learning how to contribute to GitLab and Git can help you get ready to apply for Google's program for open source development.

tanukilifecycle.png

Google Summer of Code (GSoC), a program that helps bring new contributors into open source software development, is just around the corner. So now is the time to start learning how to contribute to GitLab or Git and prepare ideas for GSOC 2024. GitLab has participated in GSOC for more than five years of the program's 20-year history, and the mentorship opportunity aligns well with our "Everyone can contribute" mission.

In 2023, GitLab team members mentored GSoC contributors working on GitLab and Git open source projects throughout the 12-week program. One example was the “Unify ref-filter formats with other --pretty formats” Git project.

Implementing new formatting options for Git commands

Kousik Sanagavarapu was selected as a 2023 GSOC contributor and was mentored by Christian Couder, staff backend engineer on the GitLab Gitaly::Git team.

Kousik’s work focused on implementing some new formatting options for Git commands like git branch, git tag and git for-each-ref. These commands use a formatting mechanism called the “ref-filter” format. The formatting options Kousik worked on were already available for other commands like git log, that use a different formatting mechanism called the “pretty” format. So the work involved porting these options from the “pretty” format to the “ref-filter” format.

Thanks to Kousik’s work, it’s now possible to use a number of new placeholders like %(signature), %(authoremail:mailmap), or %(describe) in the –format option of git branch, git tag, and git for-each-ref to get more information about the commits that branches, tags, or refs in general point to. Read the documentation for a description of these placeholders.

These improvements are available in the recently released Git 2.43.

How GSOC works

Open source organizations who participate – such as GitLab and Git – have to propose projects and provide mentors. Selected contributors are helped by the mentors and paid by Google during 12 or more weeks while they work on their projects. Contributors are evaluated three times by mentors: after a “Community Bonding” period, in the middle of the coding period, and after the coding period for a final evaluation.

How to participate as a contributor

To apply to become a contributor for GSOC 2024, check out the GSoC website and the Google Open Source blog. Interested parties should register when selected organizations are announced, which will happen in a few months.

Contributors will then be selected by the mentors after they have made a small contribution and after they have prepared an application document that details how they plan to achieve the proposed project they want to work on.

Prospective contributors can start learning about GitLab or Git right now to be fully ready to make a small contribution and prepare an application. As Google says, “The most successful applications come from contributors who start preparing now.”

GitLab has a lot of documentation and tutorials to learn how to contribute, while Git has a Hacking Git page with a lot of helpful links.

How GitLab team members participate

GitLab participates in GSOC as an open source organization and team members from different functional areas volunteer to mentor contributors and propose projects for them to work on.

In 2023, GitLab team members mentored contributors on a number of GitLab-related projects, including Pajamas Migration with the GitLab Foundations Team and improving the documentation for the contributor journey to GitLab.

How Git developers participate

The Git project also participates in GSoC as an open source organization, and Git developers who are interested in mentoring propose projects, and then select GSoC contributors.

Last summer, in addition to the "Unify ref-filter formats with other --pretty formats" project, Git developers proposed the "More Sparse Index integrations" project.

Mentoring and GitLab

GitLab’s mission is “Everyone can contribute” and we understand that helping potential contributors through mentoring can achieve this goal. In addition to participating in external programs like GSOC and Outreachy, GitLab has internal mentoring programs, including a CEO Shadow program and a Mentorship program for women.

Learn more about mentoring at GitLab.

We want to hear from you

Enjoyed reading this blog post or have questions or feedback? Share your thoughts by creating a new topic in the GitLab community forum. Share your feedback

Ready to get started?

See what your team could do with a unified DevSecOps Platform.

Get free trial

New to GitLab and not sure where to start?

Get started guide

Learn about what GitLab can do for your team

Talk to an expert