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.
Top comments (0)