GSoC 2022

It’s time to don your shades and sandals! Apache Cassandra will be participating in the Google Summer of Code (GSoc) in 2022 again after a successful project in 2021, and the program itself this year has some changes we are excited to announce.

GSoC is a Google-sponsored program that promotes open source development and enables individuals to submit project proposals to open source mentoring organizations and get paid to work on these projects during the Northern Hemisphere’s summer.

The Apache Software Foundation (ASF) has been a GSoC Mentor Organization for the past 17 years and acts as an "umbrella" organization, which means that applicants can submit project proposals to any subproject within the ASF, including Apache Cassandra.

Announcing GSoC Program Changes this Year

Previously, the program has only been open to post-secondary students, such as university students or recent graduates, but this year it will be open to anyone 18 years and older who is an open source newcomer.

GSoC has recognized that the program can benefit anyone at various stages of their career, and that includes people changing careers, those who are self-taught, and those returning to the workforce and more. The goal is to create a starting point for anyone who isn’t sure how to get started in open source or uncertain whether open source communities would welcome their contributions.

You can find more details about the program on the official GSoC website, including information on stipends.

Announcing Apache Cassandra GSoC Project Ideas

The following project ideas are available this year in Apache Cassandra for Google Summer of Code:

  • Add support to EXPLAIN (CASSANDRA-17380).

    Mentor: Benjamin Lerer

    A project for adding functionality to CQL so that it supports EXPLAIN, which provides users with a way to understand how their query will be executed and some information on the amount of work that will be performed. For more details please refer to Cassandra Enhanced Proposal (CEP) draft 4.

  • Produce and verify BoundedReadCompactionStrategy as a unified general purpose compaction algorithm (CASSANDRA-17381)

    Mentor: Joey Lynch

    In this project the contributor will perform validation and make the necessary code changes required to introduce a new compaction strategy in Cassandra. The prior knowledge required to complete this task are Java programming skills, and optimization algorithm skillsets would be useful. Prior experience with Cassandra is helpful but not needed as compaction is a somewhat isolated part of the code base that can be independently tested and even published as separate jars as compaction strategies are pluggable.

You are welcome to propose other projects if they’re not on this list.

How to get involved

If you are interested in contributing to Apache Cassandra during GSoC, please join the #cassandra-gsoc room on Slack and introduce yourself!

Potential mentors will give you initial instructions on how to get started and suggest you some warm-up tasks.

Getting Started With Apache Cassandra Development

The best way to get started if you’re new to Apache Cassandra is to get acquainted with the project’s documentation and set up a local development environment.

Play around with a locally running instance via cqlsh and nodetool to get a feel for how to use the database.

If you run into problems or roadblocks during this exercise, don’t be shy to ask questions on #cassandra-gsoc.

Google Summer of Code Tips

There are many good resources on the web on preparing for GSoC, particularly the ASF GSoC Guide and the Python community notes on GSoC expectations.

The best GSoC participants are self-motivated and proactive, and following the tips above should increase your chances of getting selected and delivering your project successfully. Good luck!