First Open Source contribution
The task at hand:The first Release 0.1 was all about learning and navigating around open source contribution. In lab 2 a week prior to this release. We were tasked to create a Web Notepad. This time we had to read and search through our peer's code which is publicly available on GitHub. The learning curve for me was creating branches on forked repositories. Once I got past the initial struggle of setting all this up. Committing to the forked repository was easy. Another important aspect of this assignment to keep a watch on my own repository for contributors wanting to make pull requests.
First Issue: The bug
The first issue request was to find
another student's code and fix or improve any bugs that come across. I searched
through my peers Musa's "Micro-note" code
and found that he throws an error in his fs.write function which is tasked to
automatically save what is written in the note pad.
The thrown error fails to display a
message for the user or the programmer. I sent Musa an issue-1
request on GitHub explaining my
findings and the solution, I came up with. He accepted my issue request. So I
added messages to display on to the console if the function fails to save or
not save automatically. Finally, After my code implementation was a success. I
sent Musa a pull request. He accepted my changes and
merged my branch with his master repository.
Second Issue: Adding a new featureThe second issue request was to add a new feature to a fellow classmate's Note pad. I sent an issue-3 request to Manan's "My_Note" asking if I could add the PaperCSS library to his UI. I had to convince him the changes will make his user interface none traditional paper drawn. He loved the idea and gave me the go-ahead. So I forked his repository and made the necessary change to the index.html file. Tested out his new look. I sent him a pull request and he accepted the merge.
This exercise challenged me to learn the process of contributing and accepting a contribution to my own code. I can't wait to start contributing to big open source projects like RedHat OpenShift.