Design a site like this with
Get started

Contributing to “Big” Projects

For my third pull request I decided to try contributing to a “big” project, after a couple hours of looking through a bunch of projects I liked, looking through their issues, I realized pretty quickly I wouldn’t have time it would take to understand how the project worked. Instead, I looked at other very popular projects as they tend to have issues that guide contributors which Mattermost’s webapp project had.

So, I forked their web-app repo and built it and read through the instructions of what they wanted changed. I identified the files to be changed and migrated the function call to a scss variable on a new branch and pushed my changes. This is where this contribution differs from the other contributions I’ve done before, first, the issue is located on their server repo, but the pull request was to be submitted to the web-app repo. They mentioned they wanted the JIRA ticket to be mentioned in the title of my pull request, which was my first time of hearing of such a thing, mine happened to be MM-29842. Finally, the thing that caught me off guard was signing their Contributor’s Licensing Agreement (CLA) which I initially didn’t want to sign because it required more than just your full name, but after a bit of thinking, it wasn’t going to hurt me so I decided to sign the CLA. Once the checks were complete my code was reviewed and after both my reviewers cleared it for merging, I had a merge conflict last second.

The conflict happened due to someone migrating a call to one of the functions on the same line as me as we had different commit histories. I ended up reintroducing the function they migrated and had to get rid of it, after fixing it I made a comment on the pull request page and after a day it was merged into their fix branch.

After this small contribution, something tells me working on larger projects must cause a lot of stress…


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: