Since the beginning of my Open Source journey it has been important to establish closer ties with the community. One of the great opportunities to do so is to participate in various events and challenges related to the Open Source. Thus, I decided that Hacktoberfest would be a great match for me. Throughout the month I am going to try to achieve to following:
- Get involved into the projects and companies that I use or interested in
- Obtain experience in problem solving skills over a range of different programming languages
In order to accomplish this, I have done a preliminary research on a number of repositories that have open issues in them. I have to admit that due a to a number of reasons it turned out to be a notorious and timely process.
First of all, when looking for the first issue to take on, you are supposed to find the issue that sounds interesting, but yet manageable for you. You have to give yourself a heads-up to what the process is like.
After long hours spent on researching the GitHub, I decided to stick to the issue in this repository:
There was a number of factors that I considered to be valuable in determining this repository. To begin, it was a completely new language to me – Ruby. I have heard about it before a number of times, but have never actually done anything using it. Secondly, it was a manageable issue. What had to be done was to change a function in specific module, which also resulted in a duplicate conditional statement that had to be removed from the code. Thirdly, it was important for me to do something that would make me go into the project at least at some degree and actually study the code in order to understand why and what has to be done.
The process starts as usual:
- Indicate that your are interested in contributing to the issue through posting a comment to the feed
- Fork repository
- Clone the project to your machine
- Review the code and get familiar with the project
- Find the desired place of fix
- Implement the fix and ensure it is correct
- Save changes
- Add the file to the staged area of your local git repository
- Commit changes
- Push commit to your forked repository
- Create a pull request to the base repository through providing a clear explanation of your work
- Wait for the review to be completed
- Implement any requested changes / updates
The contributor of the project who created the issue was very welcoming and responded in timely fashion. I was all set to go. After reviewing the basic structure of the project and completing a number of readings about Ruby on Google, I was able to fix the issue. Now the updated is pushed and the pull request is created, awaiting for a review.
After continuing my research on GitHub I decided to look for issues from some companies that I have heard about. Thus, I firstly checked Mozilla’s GitHub account and I was able to find the bug that seems quite interesting to me:
As mentioned in a description, DeepSpeech is an open source Speech-To-Text engine, using a model trained by machine learning techniques based on Baidu’s Deep Speech research paper. It is exceptionally cool that they have a list of detailed instructions on how to use the project and get yourself familiar with it. The issue that I found is related to an outdated documentation in the project, which needs to be updated according to the new code version. Through implementing this task I hope to learn more about the project and its functionality, which might be a great asset to have in the pocket!
Going further, I was eager to look up more companies, whose products I use on a regular basis, and which are a part of an open-source community. Saying that, I bumped into the following issue from Adobe:
Spectrum CSS is stylesheets that are used in the Adobe Common Extensibility Platform (CEP). It is a cloud platform that allows you to extend your experience in Adobe Creative Cloud suite, which includes applications like:
I have decided that this would be a good opportunity to learn more about the way this popular programs are organized. Looking forward to leveraging this opportunity!