Join us for a virtual meetup on Zoom at 8 PM, July 31 (PDT) about using One Time Series Database for Both Metrics and Logs 👉🏻 Register Now

Skip to content
On this page
Community
January 24, 2025

From Good First Issue to OSPP - How Students Can Navigate the Open Source Journey

From learning big data to diving into open-source database projects like GreptimeDB, gradually becoming a committer to open-source projects, this article tells the story of a beginner's journey into the world of open-source.

p.s. This interview was led by GreptimeDB community core member (i.e., Greptime engineer) Weny, and co-organized by community operations Beryl, and is told from the perspective of GreptimeDB internally, with the interviewer, GitHub 🆔 CookiePieWw, or Cookiepie for short in the text.

An Interview with Community Committer Cookiepie

The story of any open-source community often begins with a single attempt. Cookiepie's open-source journey started with a Good First Issue on GreptimeDB, eventually leading him to become a committer, participate in the Open Source Promotion Plan (OSPP), and contribute to the GreptimeDB project. After an entire year of experiences, he now continues his internship within the community. This journey has not only deepened his understanding of the data storage domain but also allowed him to grow continuously in the open-source world.

The Open-source Journey of Cookiepie
The Open-source Journey of Cookiepie

All Started with a "Good First Issue"

In March this year, Cookiepie began self-learning Rust during his spare time while studying at university. He was pondering how to apply a language and related knowledge to real-world practice—after all, programming, like foreign languages, requires hands-on experience.

"I was really interested in Rust and wanted to find something practical to practice with," Cookiepie recalls.

While searching for projects to get started, he came across a recommendation from an open-source influencer pointing him to an issue in GreptimeDB.

"I initially considered trying tasks from other communities, but then I saw a recommendation for a GreptimeDB issue, which seemed more suitable for me and would allow me to get started quickly."

The task involved refactoring code for Procedures. For someone just getting into Rust and database projects, this was no small challenge.

"I looked at other implementations and spent quite some time understanding the process," he laughs.

Starting anything requires an investment of time, and this early effort significantly improved his practical skills with open-source databases. This task not only gave him a basic understanding of data storage but also allowed him to get a deeper insight into the project's structure. Most importantly, it helped him experience the collaborative warmth of the community (📢: responses in the GitHub community are generally quick and friendly).

"The atmosphere in the database community is really great—people are always willing to help newcomers."

From Contributor to Committer

In the third round of GreptimeDB's community promotion nominations, Cookiepie's name appeared. With consistent PR contributions and code quality widely recognized within the community, he was nominated as a committer. Although technically he had already contributed a lot to the community, receiving the email still took him by surprise. For someone who had only started working with Rust in March, being promoted to committer in just four months was a genuine recognition from the community.

"The community's developer relations manager sent me an email explaining why I was being made a committer. At that moment, I couldn't quite believe it."

Thanks to the positive feedback from the community and the continuous hands-on experience, and considering that the committer role wouldn't impose any significant burden, Cookiepie accepted the promotion. As a committer, he not only became more involved in project development but also continued learning within the community, rapidly advancing his skills. He views this transition not only as recognition but also as a responsibility.

The Promotion Invitation from GreptimeDB Community
The Promotion Invitation from GreptimeDB Community

"The community is very inclusive, but as a committer, you need to have more intrinsic motivation and autonomy in contributing."

The Days of Open Source Promotion Plan

Strictly speaking, Cookiepie's promotion to committer coincided almost exactly with the start of his OSPP's project. As he accumulated more PR submissions, Cookiepie quickly began working on his OSPP project, aiming to develop JSON type support for GreptimeDB.

"At first, I was really lost—I kept writing benchmarks, and then realized I was heading in the wrong direction and had to adjust."

Through communication with his mentor @Weny, Cookiepie gradually found his rhythm and learned how to better collaborate with the community and mentors. "When you're stuck on a project, it's helpful to look at how others have approached it, and if you're still stuck, reach out to the community for help with debugging."

Cookiepie and his mentor Weny followed this mindset throughout their open-source project journey. The JSON type implementation for GreptimeDB had many strong candidates, but perhaps it was their similar thought processes and efficient execution that made them the perfect team to complete the project. The spirit of mutual help within the open-source community is a consistent practice, making it an ideal environment for anyone eager to dive into projects. After sustained contributions to the GreptimeDB community, the project was successfully completed.

In his view, the essence of open-source isn't just about completing code—it's about learning how to ask for help and how to share knowledge.

On one occasion, when he encountered a difficult problem, he briefly described it in the community’s Slack group, and several community members quickly responded. Weny even helped analyze the issue step by step. This open and collaborative atmosphere gave him a sense of security and motivated him to actively engage in the project.

Open Source: A Hobby or Something More?

Before choosing his OSPP project, Cookiepie didn't have a clear career direction, as the broader computer science field includes many domains, and the direction of employment may not necessarily match his academic background.

"Big Data is somewhat related to CS, but I was initially more interested in AI."

However, he soon realized that AI research was more theoretical, whereas he preferred hands-on project work and solving real-world problems. Through the GreptimeDB project, he was introduced to the depth and challenges of the database/data storage domain, which gave him a new focus for learning. Participating in more projects before graduation seemed like a good idea.

"Databases are a fascinating field, especially when combined with projects like GreptimeDB, which integrates Rust. It’s a domain with both technical depth and vast application potential."

Advice for Aspiring Open Source Contributors

When asked for advice for beginners, Cookiepie said, "You have to start boldly. Issues in the community, especially Good First Issues, are perfect for newcomers." He emphasized that there's no need to be afraid of asking questions when participating in open source.

"When I first started, I would use tools like Grammarly or ChatGPT to check my grammar, afraid that I might make a mistake and cause misunderstandings. But then I realized that the community is really friendly. As long as you're earnest, no one minds the small details."

For those new to open source, he suggests starting with projects that interest you and tackling simpler tasks to gradually build your understanding of both the code and the community.

"Any long journey starts with getting your hands dirty."

Let’s Connect!

Cookiepie on GitHub: https://github.com/CookiePieWw

Help out with GreptimeDB: https://github.com/GreptimeTeam/greptimedb

Interviewers: Weny, Beryl

Interviewee: Cookiepie


About Greptime

Greptime offers industry-leading time series database products and solutions to empower IoT and Observability scenarios, enabling enterprises to uncover valuable insights from their data with less time, complexity, and cost.

GreptimeDB is an open-source, high-performance time-series database offering unified storage and analysis for metrics, logs, and events. Try it out instantly with GreptimeCloud, a fully-managed DBaaS solution—no deployment needed!

The Edge-Cloud Integrated Solution combines multimodal edge databases with cloud-based GreptimeDB to optimize IoT edge scenarios, cutting costs while boosting data performance.

Star us on GitHub or join GreptimeDB Community on Slack to get connected.

Join our community

Get the latest updates and discuss with other users.