So it’s no doubt this was the most daunting assignment for me thus far for HFOSS. We were tasked with finding an open source project and contributing to it. Now, this is something completely new to me (which is why I’m taking HFOSS!). I wasn’t sure where I should contribute. I’m most comfortable with PHP so I wanted to find a PHP project to contribute to. Unfortunately, I had trouble finding a project that I myself use regularly enough to know of any bugs; furthermore, never really looking at the code of projects much in the past caused me even more trouble because I wasn’t even sure where in the code to start looking for a bug if I had even found one. I did ask on the PHP subreddit for some ideas: http://www.reddit.com/r/PHP/comments/1mu8we/looking_for_a_beginner_open_source_project/
People gave me a lot of options but I was still feeling a bit overwhelmed. I ended up searching through OpenHatch and I noticed a ton of posts about MediaWiki, which is the service that Wikipedia runs on, cool! It was actually a service I had used a ton before; however, I didn’t feel like I was in the position to really contribute to the actual functionality of the project (plus it was my fault I waited so long to get started on this, I’ll know better next time). One users post on the Reddit thread I created mentioned contributing to documentation, so this is sort of the route I went. I decided to take baby steps and found the README file for MediaWiki and noticed the formatting issues as well as a typo. I decided to fix these to get a feel for the whole process of doing something like this. I forked the MediaWiki repo, cloned it and make the changes, this is where the headaches started.
I wrestled with GitHub for about an hour trying to push my changes with no luck. I went to the IRC channel for help; unfortunately, I forgot that when you close the window your chat history dissapears, so I’m unable to provide that. I did get some help from oddshocks, ryansb and kGrange though. I didn’t totally get my questions answered but they did get me on the right track of figuring out what the problem actually was. I was initially cloning the MediaWiki git instead of cloning my forked version of it. This explains why every time I would try to push the changes I’d get a message that I did not have valid credentials. I found this nettuts article about GitHub which helped get me on the write track: http://net.tutsplus.com/tutorials/other/getting-the-hang-of-github/
After setting the correct origin and upstream I was finally able to push to my forked repo and submit a pull request which can be found here:
I can’t say I had very much fun on this one. I felt like I was thrown in the deep end for most of it; however, I feel pretty comfortable now that I understand the process a bit more. I could definitely contribute to the functionality of a project now. So while it was frustrating, it did help me figure out some things I wasn’t entirely sure about before.
I believe things will go a bit more smoothly in the future.