Trying to do Larger contributions to Open Source
Bregwin Jogi
Posted on November 20, 2024
This week, I worked on several open-source projects trying to work on larger issues and making better contributions. While I completed some of the issues, I realized some others were beyond my current skill level. It taught me a lot about how to gauge the scope of work and knowing what to contribute to.
One example was an issue in the Brave Browser project to add a policy for disabling a feature. The documentation provided clear instructions, so I decided to give it a try. After cloning the repositories, one for the whole project and the other containing the actual browser code which is a fork of chromium (it was HUGE). I installed the necessary tools (like depot_tools) and packages needed by Chromium. Despite realizing early on that the project was massive, I decided to give it a shot.
However, when I tried to implement the policy, I discovered I needed to trace all instances of the feature and understand where the policy flags needs to be applied. Ultimately, I lacked the experience and knowledge to proceed, so I decided not to continue. This was a good reminder that I have a long way to go, but it was also exciting because I know there are so many cool things I never worked with. The project's documentation and instructions were excellent, and I hope to revisit this task when I’m better prepared.
Next, I focused on smaller issues in other repositories:
VS Code Python Extension by Microsoft
The issue involved preventing test coverage from running a second time if it had already failed. I located the GitHub Actions workflow file and found the step responsible for running test coverage. By using the needs
argument, I made the step depend on the earlier test steps to be completed. After updating the workflow and creating a pull request, I was happy to see it accepted and merged.
Detect-Secrets by Yelp
This project scans codebases for exposed secrets. There was a feature request (labelled as good first issue by the repo authors) to display the total number of secrets found after a scan. I added functionality to count and display the number of secrets in the terminal.
Restler-Fuzzer by Microsoft
The issue was to add some kind of validation to ensure that the dictionary used by a function doesn't have non string values. I wrote a validation function for it and added test cases to confirm it worked without breaking existing code.
These experiences reminded me how much I still have to learn. While I couldn’t complete everything I started, I’m grateful for the opportunities to contribute and improve my skills.
Posted on November 20, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.