blob: 64ad4104b7d8a6fa1002643e8e86f08780d8996f [file] [log] [blame]
---
layout: post
title: "Join Apache Cassandra for Google Summer of Code 2021"
date: 2021-03-10
author: Paulo Motta
categories: blog
excerpt: Getting involved with Apache Cassandra @ Google Summer of Code 2021
---
<p align="center">
<img src="https://developers.google.com/open-source/gsoc/resources/downloads/GSoC-logo-horizontal-800.png" style="width:40%;"/>
</p>
I have been involved with Apache Cassandra for the past eight years, and I'm very proud to mention that my open source journey started a little more than a decade ago during my participation at the Google Summer of Code (GSoC).
GSoC is a program sponsored by Google to promote open source development, where post-secondary students submit project proposals to open source organizations. Selected students receive community mentorship and a stipend from Google to work on the project for ten weeks during the northern hemisphere summer. Over 16,000 students from 111 countries have participated so far! More details about the program can be found on the [official GSoC website](https://summerofcode.withgoogle.com/).
The Apache Software Foundation (ASF) has been a [GSoC mentor organization](https://community.apache.org/gsoc.html) since the beginning of the program 17 years ago. The ASF acts as an "umbrella" organization, which means that students can submit project proposals to any subproject within the ASF. Apache Cassandra mentored a successful GSoC project in [2016](https://summerofcode.withgoogle.com/archive/2016/projects/5429448547500032/) and we are participating again this year. The application period opens on March 29, 2021 and ends on April 13, 2021. It's a highly competitive program, so don't wait to the last minute to prepare!
### How to Get Involved
#### Getting Started
The best way to get started if you're new to Apache Cassandra is to get acquainted by reading the [documentation](https://cassandra.apache.org/doc/latest/) and setting up a local [development environment](https://cassandra.apache.org/doc/latest/development/ide.html). Play around with a locally running instance via [cqlsh](https://cassandra.apache.org/doc/latest/tools/cqlsh.html?highlight=cqlsh) and [nodetool](https://cassandra.apache.org/doc/latest/tools/nodetool/nodetool.html) 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 via the [community](https://cassandra.apache.org/community/) channels like the developers [mailing list](mailto:dev-subscribe@cassandra.apache.org) or the #cassandra-dev channel on the [ASF Slack](https://s.apache.org/slack-invite).
#### GSoC Project Ideas
Once you have a basic understanding of how the project works, browse the [GSoC ideas list](https://issues.apache.org/jira/browse/CASSANDRA-16456?jql=labels%20%3D%20gsoc2021%20AND%20project%20%3D%20Cassandra) to select ideas that you are interested in working on. Browse the [codebase](https://github.com/apache/cassandra/) to identify components related to the idea you picked. You are welcome to propose other projects if they’re not on the ideas list.
#### Writing a proposal
Write a message on the JIRA ticket introducing yourself and demonstrating your interest in working on that particular idea. Sketch a quick proposal on how you plan to tackle the problem and share it with the community for feedback. If you don't know where to start, don't hesitate to ask for help!
#### Useful Resources
There are many good resources on the web on preparing for GSoC, particularly the [ASF GSoC Guide](https://community.apache.org/gsoc.html) and the Python community notes on [GSoC expectations](https://wiki.python.org/moin/SummerOfCode/Expectations). The best GSoC students are self-motivated and proactive, and following the tips above should increase your chances of getting selected and delivering your project successfully. Good luck!