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 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 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.”
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.