If you want to find a job as a programmer, a four year degree may not be enough.Formal education can only tell employers so much about what you know and how you work. Fortunately, most of the internet is now run by open source software, which anybody, and I do mean anybody, can contribute to. In 2015, over 98% of servers are run using some form of Linux, an operating system that was written by community of thousands over the past 23 years. http://www.w3cook.com/os/summary/ Almost every kind of software out there has an open source counterpart that you can download, compile, or make changes to yourself. It’s a great way to teach yourself programming and get the attention of prospective employers. You may think, well that’s fine and good for a genius like you, James, but how do *I* get into open source software? Easy, just follow these 8 steps.
1. Get a Github account
Github.com is kind of like Facebook for programmers. It allows you to post your code and track all of your changes using a handy version control program called git. Just head to github.com and pick a username and password!
2. Find a project
This step is going to be different for each person, but you generally want to pick something that people are using and are contributing to. That way you can get more feedback from people in charge of the project or from the users. You can find new projects by browsing github, sourceforge, or by looking up any old open source product you like to use, like firefox or WordPress. When it comes to web software, my favourite place to find new projects is Refactorcop. It was a winner at the 2014 rails rumble, and it analyzes github projects on Ruby on Rails, and makes sure they comply with the code standards in the Ruby style guide. You can use Refactorcop’s search engine to find projects that need code cleanup, a process that doesn’t change the program’s functionality, but ensures that the code is easier to read and contribute to.
3. Check the issues page
Once you choose an open source project, you should check the issues page on the repository to find out where you can contribute. These may be features, bug fixes, or general annoyances that users have noticed. These issue pages are also a good way to tell if your project is active. Active projects mean that you will be able to get quick feedback on any code you contribute.
4. Fork the project
“Forking” refers to a process where you create your own “branch” of a software project within its version control system, which is kind of like a family tree for computer programs. If you are still confused, I think Github’s help page can do a better job of explaining it then I can.
5. Download and Test the project
This may be the most important step of the whole process. It proves that this program you want to work on isn’t broken. It can also give you some inspiration for changes you want to add yourself. Use the git clone command to download the code.
This is where that four year degree (and a lot of google) comes in. Add your code, make sure it’s readable, test it out, and commit it to your branch!
7. Submit a pull request
Once you are confident that your code has made the software better, send a pull request to the original project. Here is Github’s tutorial on pull requests.
All that’s left is to wait for the project manager to approve your changes, and voila! You are now contributing to the open source community! Sit back, crack a beer, and know that you have made the future just a little bit better! Thanks goes out to Dan Kubb and everyone else in the Fraser valley Ruby Brigade who introduced me to this whole process.