Google Summer of Code

Google Summer of Code (GSoC) is Google's mentorship program for bringing new contributors into open source. Participants aged 18 and over are paired with mentors and earn a stipend while working on a real project: small (about 90 hours), medium (about 175 hours), or large (about 350 hours).

Ceph is a GSoC mentoring organization and has taken part in recent years, including the 2026 cycle. This page is Ceph's official project ideas list, linked directly from our organization profile on the GSoC site. GSoC is highly competitive, so start early: read the ideas below, reach out to mentors as soon as accepted organizations are announced each February, and submit your proposal on the GSoC site during the application window in March.

For general questions, contact Vallari Agrawal or reach the mentors through the community channels.

Visit the GSoC site
Google Summer of Code

How to apply

  1. Browse the project ideas on this page and pick the ones that match your skills and interests.
  2. Contact the project's mentors (each listing includes how to reach them) once accepted organizations are announced.
  3. Prepare by exploring the codebase: the contribute page shows how to build Ceph and submit your first patch.
  4. Submit your proposal through the official GSoC site during the contributor application period.

Project ideas for the 2026 cycle

radosgw-admin UX and documentation improvements

Mentors: Yuval Lifshitz (ylifshit@ibm.com), Jacques Heunis (jheunis@bloomberg.net) · Difficulty: Advanced · Hours: 350 · Component: RGW · Skills: C++, maybe Python

Documenting radosgw-admin commands is currently a manual and error-prone process: after implementing a new command, the usage text, man page, and admin guide must each be updated by hand, and they can drift apart. This project takes a programmatic approach:

  • Use a CLI and argument framework that supports auto-generating context-aware usage documentation
  • Investigate auto-generating the man page and admin guides from it
  • Make these command descriptions referenceable elsewhere in the documentation
  • Maintain backward compatibility with existing behavior throughout

The first two weeks involve researching command line frameworks and learning the internals of radosgw-admin. See the tracker issue, applicant evaluation steps, and rules for AI usage.

Calls a mentee could attend: RGW standup, RGW refactoring meeting.

Kafka security for bucket notifications

Mentor: Yuval Lifshitz (ylifshit@ibm.com) · Difficulty: Advanced · Hours: 350 · Component: RGW · Skills: Python and C++

Bucket notification integration with Kafka is a very useful RGW feature, but some security capabilities needed for such integrations are missing: GSSAPI, OAUTHBEARER, mTLS, and passing in a CA without a file (useful for Rook integration). The main challenge is automating the tests so they run easily in local environments, with a stretch goal of running them in teuthology.

The first two weeks involve getting to know the bucket notifications code and learning about Kafka security. See the applicant evaluation steps and rules for AI usage.

Calls a mentee could attend: RGW daily standup, RGW weekly refactoring meeting.

RGW tcmalloc profiling

Mentor: Yuval Lifshitz (ylifshit@ibm.com) · Difficulty: Advanced · Hours: 90 · Component: RGW · Skills: Python and C++

All Ceph daemons use tcmalloc as their memory allocator, and a recent PR added the ability to profile how tcmalloc performs inside RGW. This project uses that profiling data to tune tcmalloc for RGW's memory patterns: making better use of thread-local caches for small allocations, keeping overall memory consumption low, returning unused memory to the OS, and exploring further runtime or compile-time parameters.

The first two weeks involve understanding the different RGW workloads, simulating them, and establishing a performance baseline. See the applicant evaluation steps and rules for AI usage.

Calls a mentee could attend: RGW daily standup, RGW weekly refactoring meeting.

Carbonization and UX consistency improvements for the Ceph Dashboard

Mentors: Afreen Misbah, Abhishek Desai, Dnyaneshwari Talwekar (reach them as @Afreen, @Abhishek Desai, and @Dnyaneshwari Talwekar on the Ceph Slack) · Difficulty: Easy · Hours: 350 · Component: Dashboard · Skills: Angular, TypeScript, CSS, jest, cypress, Carbon library

The Ceph Dashboard is Ceph's web-based management and monitoring interface, built with Angular and TypeScript on the frontend and Python on the backend. While feature-complete, several parts of the UI are not yet standardized on the Carbon Design System and show inconsistent UX patterns across layouts, forms, typography, and overview pages.

This project completes the dashboard's carbonization: standardizing the remaining UI components, extending the existing routed resource page pattern consistently across all relevant resources, improving usability, and expanding frontend test coverage. The expected outcome is a fully carbonized, UX-consistent frontend that is easier for future contributors to extend.

Calls a mentee could attend: 1:00 PM IST Monday to Wednesday and 3:00 PM IST Thursday at meet.jit.si/ceph-dashboard.

More for applicants

  • Past projects

    See what previous mentees built: the 2025 showcase covers five completed projects across RGW, Teuthology, smartmontools, and the Dashboard.

    GSoC 2025 showcase
  • Start contributing

    The strongest proposals come from applicants who have already built Ceph and sent a small patch. The contribute page walks you through the workflow.

    How to contribute
  • Meet the community

    Join the Ceph Slack, the mailing lists, and the open developer calls to meet mentors and other contributors before you apply.

    Community channels