[GSoC 2025] Interested in contributing to the PBM project

Hello Percona community members, I am Yash a beginner contributor to open source and I came across the project through PBM I have been learning Golang and would like to bring on hands-on experience by contributing to Open-Source. I am interested in contributing to mostly 3 projects that are in PBM but the complexity still remains a question for me if I will be able to contribute so I would like the help of respective project maintainers to get me started on these projects and give me some insights on these.

  1. The First one is the PBM backup speed throttling project, this seems to be very doable on my part since it only requires Golang which I am trying to be proficient in, so this is what I am confident in and would like to start my contributions in.
  2. The Second one is the PBM golang SDK although a little on the moderate side I think Building a Golang client library (SDK) is a great learning experience. But API design complexity – mapping CLI commands to a proper Go API structure.
    Requires good understanding of MongoDB backups and PMM (Percona Monitoring & Management) which I am not familiar with also I don’t have experience with MongoDB I have used PostgreSQL in my projects.
  3. The Third one that peaks my interest is CEPH Storage support for PBM as it includes Kubernetes which I am fond of the orchestration and large scaling with the help of Kubernetes, but I know very little about Kubernetes almost nothing so I don’t know if I would be able to learn parallely and make significant contributions in the span of 2-3 months to be able to deliver the project and I feel this is the hardest but a great learning experience almost the best one as a beginner also the following challenges:
  • Storage integration with Ceph, requiring deep system understanding.
  • I will need to research storage challenges & Kubernetes workspace setups.
  • Higher uncertainty about unknown issues.
  • **I might have to spend a lot of time learning Kubernetes & storage concepts, potentially delaying actual contributions.
  • Time risk – I might struggle to complete within 350 hours if Kubernetes concepts slow me down.
    Do let me know about your thoughts on this and any help is appreciated, I would also be happy to make any adjustments to my approach if in any way they are wrong and any suggestion would greatly benefit me.
2 Likes

Hi @Yash_Pal ,
nice to meet you in the forum!

From these 3 projects I recommend to you to focus on the SDK. It seems the best fit to you taking your skills and experience. Don’t worry about PMM → the required knowledge is basic - as this part of our software that will consume the SDK at first. You can learn more about PBM in our docs - Percona Backup for MongoDB

Let me know if you have any questions!

As a GSoC contributor you may submit up to three project proposals. One of them could be PBM backup speed throttling. CEPH storage is recommended to contributors that already have some more experience on working on Kubernetes environments.

Once again - welcome to the community!

3 Likes

Thank you @radoslaw.szulgo,
I will start to get familiar with the SDK and Backup project and thanks for the resource I will check out the docs, I would also like to know if there is a specific communication channel where I can join like Slack or gitter where I can maybe interact more easily.
Thank you for welcoming me!

1 Like

We have some ideas for establishing a Slack channel for GSoCcers when the program starts. I suggest using the forum to share the discussion with the community.

I’ve already started to document the scope of the project here:
https://perconadev.atlassian.net/browse/PBM-780

As a first step and a good preparation to the project - it’s needed to review well what PBM CLI commands are available (docs and code) and map them into the SDK GO methods that are or need to be implemented.

3 Likes

Hey Percona Team,

I recently came across the project “Interactive Shell Installer for Percona Software for MongoDB”, and it really caught my interest! Even though it’s marked as medium, I find the idea very exciting and would love to contribute.

I’m Pranith, a beginner in open-source, but I have strong skills in C++ and Go. Since the proposal period hasn’t started yet, I want to get familiar with the codebase and understand how things work.

Could you guide me on how to start?

  • Are there any good-first-issues or specific parts of the repo that would help me understand the structure?
  • Any documentation or past discussions I should go through?
  • Would it help if I started by writing small tests or fixing minor bugs?
2 Likes

Hi @Pranith , nice to e-meet you!
First, I recommend that you start with installing and configuring MongoDB on your own - Quickstart guides - Percona Server for MongoDB 8.0

This lesson should give you more knowledge about what to automate in the project. You can take a look at this repository as an inspiration - GitHub - EvgeniyPatlan/installer

1 Like

Also - if you want to contribute - here’s a simple Percona Backup for MongoDB (PBM) bug to fix :slight_smile:
https://perconadev.atlassian.net/browse/PBM-1494

1 Like

That sounds great! I’ll get started soon.Thanks for providing the resources. :slightly_smiling_face:

@radoslaw.szulgo

Hello

I recently installed and configured Percona Server for MongoDB using the CLI via the apt package manager (following the official documentation ) as you told. While the process is straightforward for experienced users, I realized how an interactive shell-based installer could simplify the setup for both beginners(Can avoid any technical error while setup) and professionals(It will save a lot of time ).It’s cool to get started

My Understanding So Far

  1. From what I’ve gathered, the installer should:
  2. Automate dependency checks and installations
  3. Work seamlessly across major Linux distributions (Debian, Ubuntu, RHEL, CentOS).

I have to also go through regarding:

  1. Interactive prompts for configuration choices (e.g., authentication, replication, sharding) in detail
  2. Logging and validation mechanisms to ensure correct setup.

I am very much intrested now in this project.I’d love to contribute by building such an installer. Before diving into the proposal, I want to ensure I’m on the right track. Could you guide me on:

How to start the implementation?

  1. Which language would be better suited—Python or Go?
  2. Any specific tasks I can work on now to prepare(Basic task)?
  3. Also to mention I am new to Jira software but I’ll keep up with flow

Looking forward to your feedback! :man_technologist:

@radoslaw.szulgo
Hii

I have a few questions regarding the project:

  1. Project Language Choice:

    • The example you provided was in Python, but the project details mention Go or C++.
    • Should I proceed with Python, or would you prefer that I implement it in Go or C++?
  2. Project Execution:

    • Once the language is confirmed, is there any initial task you’d like me to complete, or should I proceed directly with implementation?
  3. Bug Fix Testing:

    • I attempted to fix the small bug you assigned.
    • Is there a recommended way to test whether the changes are working correctly and producing the expected output?

I didn’t receive a response to my previous question, so I wanted to follow up. Looking forward to your guidance.

Please give us some more time to clarify this idea. Recently, we’ve identified a good opportunity to reuse our Terraform and Ansible playbooks and wrap them within a Go CLI. I’ll try to provide some news before Feb 28th.

2 Likes

@radoslaw.szulgo
Okay, thank you for letting me know will be waiting :slightly_smiling_face: for the update.

I am also intrested in another project SBOMs for Percona Software for MongoDB although I am not having much knowledge in Jenkins and automation but this project is quite intresting and motivating me to contribute.May I know how to get started like building any task which gives me idea regarding the context :man_technologist:.

@radoslaw.szulgo

Hii

As I have seen many new projects have been added recently.May I know any update regarding the project Interactive Shell Installer for Percona Software for MongoDB which was on hold.If this project is not included this year then I am intresred in doing any of these projects Percona Backup for MongoDB Golang SDK or CEPH Storage support in Percona Backup for MongoDB I have good knowledge in Go and kubernetes as well can you tell me if anyone is working on any of these projects.

@radoslaw.szulgo
Hii I cannot see Percona in GSOC 2025 organization list. Isnt’t it selected or will there be any update if not can you please allow me to do the shell installer I just need guidance its a quite intresting project to do.Hoping for your reply this time.

Sadly, Google was unable to accept Percona this year as a mentoring organization for Google Summer of Code 2025. This year they received an unprecedented amount of strong applications, many more than available slots.

Still, we welcome all of you in our community and invite you to collaborate on Percona projects. If you’re interested, let us know, and we will support you in collaboration, provide the required help to onboard the project, and provide some mentoring.

We hope for another year when Percona will accepted!

1 Like

@radoslaw.szulgo

Yeah sad to listen. May I know regarding the Interactive Shell Installer for Percona Software for MongoDB as you told me you were using ansible and teraform playbooks are you guys on that or can I try doing it using the repo you gave to me.

Sad to hear about this but still maybe if I don’t get selected in GSOC this year I would surely like to contribute to percona projects those are quite interesting to me and really the community is helpful till now what I have experienced.:blush: