Hacktoberfest is back!
The month long celebration of open source gives you a chance to brush up on your git, help open source projects and get yourself some stickers or a t-shirt!
Digital Ocean runs Hacktoberfest in partnership with Github every October. The event is open to everyone with a Github account. If you don’t have one, sign up. The four simple rules to get a t-shirt are:
- You must make four pull requests to any public Github hosted repositories / projects;
- Pull requests must be made between October 1 and October 31 2017;
- The pull request must contain commits made by you;
- Pull requests reported by maintainers as spam or that are automated will be marked as invalid and won’t count towards the t-shirt;
If you don’t manage to make four pull requests you will get stickers instead of a t-shirt so it’s still worthwhile signing up if you have sticker space free on your laptop!
While you can make pull requests to any public Github repo or project, you can easily find a list of PowerShell project participating in the month long event.
What is a Pull Request?
A Pull Request is a change to the project files, that you submit to the project maintainers. This change can be to any of the files - code or documentation. It can be to fix a typo or add a new feature. It can be large or small.
That all sounds very simple but as with everything in life it’s more complicated than that. But only slightly.
A pull request usually involves you forking the repo, making the change to your own copy and then creating a request to have the maintainer of the original project ‘pull’ your changes into theirs. Hence the name ‘Pull Request’.
When looking to contribute to a project look out for a CONTRIBUTING.md file in the project root. Some projects provide this but the vast majority do not. Inside you will find details of how to contribute, what the project maintainers expect from you and your contribution and what you can expect from them. This is there to help you make the best contribution you can and to give them the easiest job of reviewing and accepting it.
Once you’ve done one Pull Request your second, third and fourth will follow quickly.
Don’t I need to be an expert to contribute to another project?
No. Far from it.
The vast majority of open source projects lack one thing. You. Or more precisely, people resources.
Open source projects need people to work on issues, fix bugs, add new features and help out with the coding on the project. When you think of people working on open source projects this is what most people think of.
But projects equally need people to update documentation, fix typos in help, update the Wiki and generally do the things that coders never have time to do (and it could be argued are not very good at!).
ANd remember not all Github projects are code. A lot of projects are just documentation. So no matter what your skill level is, you’ll find a project that needs your help.
Can you give me some examples?
I’ve made a number of Pull Requests to projects including the Microsoft Windows IT Professional PowerShell Documentation and The Unofficial PowerShell Best Practices and Style Guide and I’ve listed some of those made to the more famous named projects below. I’ve done this not to trumpet my ability but to make it clear that anybody can make a pull request and help out:
windows-powershell-docs: Updated get-fsrmquota.md
Updated the help for the get-fsrmquota cmdlet to correct some typos and remove incorrect references;
windows-powershell-docs: Updating about_requires
Updated the help for the #Requires keyword to clarify what version of PowerShell was required for -RunAsAdministrator. Note for this one I had to complete the Microsoft Contribution Licence Agreement;
Did you notice the pull requests above all have one thing in common? They are all small contributions which make them much easier to review.
How do I get started?
- Go to the Hacktoberfest website;
- Register using your Github account;
- Make those pull requests;
That’s it. Honest.
What do I get out of it?
Git and Github can be a little daunting at first but getting involved in something like Hacktoberfest is great for you and your career. It forces you to learn more about git or to start using it if you’ve never done so before, and gets you involved in open source. All of this is good for your career and CV. And in no time you will have your own repository (repo for short) and accepting pull requests from other people!
Github provides somewhere for you to store your code, presentations and documentation and allows others to see, use and contribute to it. It lets potential employers see what you’re involved in and in an interview situation gives you an edge over other candidates who don’t get involved.
Hacktoberfest is a good opportunity for you to get involved in open source. Don’t pass it up. But more importantly when it’s all over at the end of the month, you’ll hopefully have the bug (pun intended) and will keep contributing!