Back to blog

Introducing Jagruti Tiwari as the GSoC 2023 Contributor Working on Adding Probes to Plugin Health Scoring System

Jagruti Tiwari
Jagruti Tiwari
May 22, 2023

Jenkins GSoC

Background

I started contributing to open-source projects in Jan 2022. I tried setting up well-known projects like Django, Brave browser, and Chromium but failed miserably. I didn’t know that open source is not about projects but about community. Gradually I stumbled upon freeCodeCamp. That’s where I wrote my first test case and fixed minor bugs. I gained the confidence to continue contributing to open source.

Two months later it was time for GSoC. I started late but wanted to make it anyhow. OpenFoodFacts turned out to be the best-suited project for me. I did not make it to GSoC 2022 but built a lifelong relationship with the mentors. They groomed, tutored, and mentored me. They made me the open-source contributor I am today.

Education and Work

I hold a master’s degree in computer application. I work at one of the reputed organizations in India as a Senior Project Engineer. My total work experience is around 4 years.

Why Jenkins?

I have worked for the longest time in Java. I was looking to contribute to Java projects during Hacktoberfest 2022. It was a weekend when the fest started. I decided to give a try to a project that seems difficult from the outside. I commented on different issues and asked for guidance and explanation. That’s when Mark Waite came to the rescue. He was my mentor throughout. After making a couple of documentation fixes I remember writing a simple test to test a constructor. He showed me how it could be done. The next day I remember bragging to my colleagues about contributing to Jenkins.

A few days later Jean-March Meessen set up a call with me. He asked about my experience in open source, contributing to Jenkins, what I do, my future open-source plans, etc. When the call ended I wanted to be a part of a community where there are more people like him.

Why Plugin Health Scoring System?

After Hacktoberfest, I contributed to different plugins. Modernized them, fixed minor bugs, wrote test cases, etc. When Jenkins' ideas list for GSoC 2023 was out, I tried contributing to a couple of projects in the list. Projects required skills like ReactJs, Antora, and Docker. I found I was short of time to pick those skills and make an attempt to write a decent proposal.

I made my first PR to Plugin Health Scoring System. It was merged in 3-4 days. This was my fastest merged PR. I understood Adrien’s instructions and did not stray from the solution. This gave me the confidence to apply to Plugin Health Score for GSoC 2023. Once the PR was merged, I asked the community if I should work on the proposal or make more contributions. Mentors unanimously suggested it’s time I start with the proposal.

I started with the daft proposal in Feb 2023. After multiple rounds of review until the last submission date, I always thought I should add something more to make it slightly better.

How will the community benefit from my GSoC contribution

My project is titled “Adding Probes to Plugin Health Score”. As the title suggests I have proposed to add as many probes as possible to determine a plugin’s health.

What are probes?

Probes are nothing but data that compute the health score of the plugin. The score is computed based on the data collected by the probe. Based on this score, the future contributors and maintainers, adopters decide which plugin they want to invest their time in.

What will I do during this GSoC period?

  1. Designing the probes

    1. Identify the key features and functionality of the plugins.

    2. Define the metrics that would contribute to the Plugin Health Score.

    3. The more probe criteria the plugin meets, the higher the health score of the plugin.

  2. Deciding the probe’s interaction with other probes

    1. Decide the order in which a probe should be executed by the scheduler (Which probe should be executed first, second, and so on).

  3. Determining how the probe would contribute to the score

    1. Give each probe a weightage (coefficient).

    2. If the probe criteria are met with a plugin. Increase the score of the plugin. Otherwise, leave the score as it is.

    3. If a probe weight is negative, adding the negative value will decrease the score; eventually decreasing the health of the plugin.

  4. Adding unit test cases for each probe and scoring implementation. If time permits, I will add some integration test cases too.

  5. Delivering 10 new probes to the Plugin Health Scoring System.

    1. These probes will contribute to calculating the overall health of a plugin.

    2. By the time the project ends, the tool will approximately have 24 probes in all (10 new + 14 existing probes)

Sharing a few links so that everyone is abreast of my progress throughout the GSoC period.

Conclusion

The GSoC Community Bonding period will end next week. I have attended two project meetings until now and am on the threshold of completing my first probe as a GSoC contributor.

In 2022, GSoC opened doors for every interested contributor. Irrespective of the fact whether they are a student, working professional, or a self-learner. I plan to make the best use of the opportunity.

I wish to stay with the community long after GSoC. Hope to have their guidance and support as always.

About the author

Jagruti Tiwari

Jagruti Tiwari

Jagruti works as a Senior Project Engineer in one of the reputable firms in India. Her open-source journey started in Jan 2022. She has a strong background in Java, JavaScript, and an intermediate knowledge of Python. Jagruti’s association with Jenkins started in Hacktoberfest 2022. This year (in 2023) she has been selected in the GSoC project titled "Adding Probes to Plugin Health Score System" which is her first GSoC. She hopes to continue being involved in the community and someday help mentoring new open source enthusiasts in the near future.