Hey blog!
As I am progressing through my 1st Hacktoberfest, I am excited to share, that I am already done with the first two contributions.
See how I started off in my previous post: Hacktoberfest 2024: 1st contribution.
Looking for an issue
This time around, instead of digging through participating repos in search for typos, I was committed to pick up an existing issue in a larger project.
I have to say that finding a second issue was significantly easier (simply because I already had an idea about what I needed to look for). I went straight to the Issues page, applied the filters, and almost instantly found the issue that fit my criteria.
Tip: New issues are created every day, monitor the Issues page and you will certainly find the right issue for you!
Project & Issue I worked on
The Issue I worked on: Issue #7458
In the second week of Hacktoberfest, I have contributed to the open source project called Mattermost.
Mattermost is an open source platform for secure collaboration across the entire software development lifecycle..
Mattermost is an open source platform for secure collaboration across the entire software development lifecycle. This repo is the primary source for core development on the Mattermost platform; it's written in Go and React and runs as a single Linux binary with MySQL or PostgreSQL. A new compiled version is released under an MIT license every month on the 16th.
Deploy Mattermost on-premises, or try it for free in the cloud.
Learn more about the following use cases with Mattermost:
Other useful resources:
Table of contents
The issue I worked on had to do with updating the project documentation to align with the changes made in the import/export functions of the new version of the app (Mattermost v10.1).
Contribution process & my 2nd PR
My Pull Request: PR #7463
The issue itself was well-documented, listing the target files and changes needed, so the only real challenge with fixing it was navigating the project's structure. At first, I went to the main Mattermost repo, and got overwhelmed by the amount of repositories.
However, after taking a closer look, I was relieved to find a dedicated docs repo containing the files that I needed to modify.
Then, I carefully read through the target files along with the files related to them, forked the repo, branched out and modified the target docs.
After committing the changes, I started preparing my Pull Request. This step stood out to me the most, especially compared to my previous contribution to a smaller project. The process was more structured and formal, reflecting the scale of a larger open-source project. Beyond reading the COTRIBUTING.md
, I had to review the contribution and code review guides, follow the contribution checklist (outlining the expected structure of the PR), and even read through and sign a contributor license agreement before feeling fully prepared to contribute.
If you are also interested in contributing to Mattermost, you can find the links to these resources here:
Finally, I started working on my Pull Request. I made sure to include a descriptive summary, added screenshots and links to the modified files, and referenced the original issue to provide full context for the changes.
After submitting the PR, I also left a comment noting that I had signed the license agreement and suggested updating another documentation file related to the functionality affected by the import/export changes.
My PR quickly got the positive response from the creator of the issue, and I pushed another commit with updates to the mentioned file.
Although my PR hasn't been merged yet, the changes have already passed QA testing in the documentation's preview environment. (I was especially impressed that the contributor who tested my updates even provided a screen recording as confirmation).
Thoughts
I'm glad that I had a chance to contribute to Mattermost. It helped me get a sense of the contribution and code review processes within a large-scale open-source organization (+ signing the contributor license agreement made it feel very official, ahah).
Next time I will definitely make sure to read the contribution guides before taking on any issues.
P.S. Be sure to read any license agreements you sign!