#Hacktoberfest 2018: Support open source (and earn a few prizes while doing it!)
Open source is a strong movement which encourages collaboration among developers as well as bringing knowledge closer to them. It is an initiative which has been present for around 20 years (and counting!) and that has been adopted by many companies around the world. It means that everyone can help others into creating better technology (and of course, you can open-source your code so others can take a look and help you =) ).
Furthermore, open source is not all about code so you can contribute even if you are not a developer! Documentation plays an important role in software as it is the key to understand the capabilities, limitations and everything you should know about the project. Well, there are code repositories whose documentation can be improved (even fixing a small typo helps!); some others include little or even no information about them, so you can also collaborate to the project by writing the docs.
Hacktoberfest 2018 is an initiative which supports open source and is mainly brought by three companies: DigitalOcean, Twilio and GitHub. It is celebrated during October and it’s currently in its fifth edition. The main idea around Hacktoberfest is to assist the global developer community into building great software with everyone’s help. Newcomers are welcome of course! And you can get a shirt (and other prizes) while contributing to open source!
The rules are simple: Make 5 pull-requests to public GitHub-hosted repositories during October 2018 and win a limited-edition T-shirt. Only the first 50, 000 developers who complete the challenge will get the prize, and it’s not too late to join!
This post is not only about introducing you to the contest, but also about encouraging you to make your first pull-request towards the contest! And it will be a significant one, because you will be helping me and my public repositories in the process.
Are you ready? Then follow the next steps:
Step 1. Visit Hacktoberfest 2018 official website and Sign up to the event.
Step 2. Click on the Register now button.
Step 3. Sign in with your GitHub account (or create one first if you don’t have one)
Step 4. Authorize the app.
Step 5. Confirm and submit your data.
You are all set and ready to start! If you want to check which Hacktoberfest projects need help just click either here or here. But of course, you can help to any public repository… and that’s where my projects (and me) enter the scene.
Today I was reading this tweet.
And yes, I agree with it. I’m pretty sure that almost all of us think that just because we hosted a repository on GitHub it means that the project is automatically open-source and free to use for everyone else. Well, surprise, surprise, that’s actually not true at all.
You can visit this website for more information about licensing a project on GitHub.
I always claim that my public repositories are free to use for anybody, and yeah, I really mean it. If I host something on GitHub, I expect others to take a look at it, to use it and even improve it! So, in order the first step towards having healthy repositories, truly open source repositories I have decided to add a MIT License to all my projects. YAY!
To all my projects…
Yeah, good luck with that ^^’ But, hey! You can help me, right? 🙂 What about making a pull-request to any of my repositories, thus counting your contribution towards the requirement (5 PRs) in order to get a shirt! I consider that including a license to a project is a significant contribution, so yeah why not?
In return, I intend to create some Xamarin projects next week with few small tasks for you, so you can make more pull-requests to them, and learn about mobile development in the process as well.
So, if you are interested, just follow the next really simple steps.
Step 1. Take a look at my repositories on GitHub.
Step 2. Choose any project which is not a fork from other repository (you can filter by Sources on the Type dropdown), for instance I selected my very first Xamarin public project, Ahorcado. Click on it.
Step 3. Click on the Issues tab. Now please check that the project doesn’t have a “License required” issue! If there is one already, just choose another project. If there are no issues related to licensing the project, then submit an issue by clicking on the New issue button.
Step 4. Now write the following information and click on the Submit new issue.
Title: License required
Comment: I recommend you to add a MIT license to your Project. If you need help, I can help you with it.
Now wait for me to assign you the task! From my end, I am going to receive a notification and then give you the task. IMPORTANT. You can request only one “license required” task from me. In order to let others to contribute too, I will not assign someone with two or more tasks, so the tasks will be assigned in a first-come, first-served basis.
I’m getting notified that a new issue on one of my projects was raised by someone.
Step 5. I will try to assign you with the task as soon as possible, so please wait for me. When you find yourself assigned to a task, you’ll see this
Step 6. Great! Now it’s the time for you to add the license to the project. Visit the MIT License description from the Choose a License website and click on the Copy license text to clipboard button.
Step 7. Now come back to the root directory of your assigned repository and click on Create new file.
Step 8. Name this file LICENSE (or LICENSE.txt) and paste the license text in the code section. Replace the year and fullname section respectively with 2018 and Luis Beltran.
Step 9. In the Propose new file section, just add Create LICENSE and MIT LICENSE added to the project and then click on the Propose new file button.
Step 10. Click on the Create pull request button (make sure that the base fork is my repository while the head fork is yours)
Step 11. You are free to either add any information in the textboxes or leave them with the information extracted from the commit. Then click again on Create pull request.
Step 12. That’s it! Most probably you’ll get a no-conflicts-in-branch message which means that the pul-request was fine.
I will then receive a new notification and proceed to review it. If it is correct, I will merge it to my project. Thank you, thank you! =)
Optionally, you can also notify me by coming back to the issues tab and informing me that you added the license to the project. This is not required but it helps me 🙂
Step 13. If you want, you can visit the repository later. If the pull-request was merged by me, you’ll see the license file in my project. Thanks again for your contribution! 😀
Step 14. If you visit the Hacktoberfest 2018 website, click on Check your progress.
Congratulations! You can see that you are on track to complete the challenge with your first pull-request!
Now it is up to you to find other projects and make relevant contributions to them 🙂 Please consider the following recommendations:
- This was a really simple but significant (at least for me) contribution. Of course, if you want to assist larger projects you’ll most probably have to fork it first and then start working on it and create commits before making a pull-request. In that case you can use GUI clients, such as GitKraken, SourceTree and others. (By the way, if you download GitKraken from this link, you enter a draw to win a Nintendo Switch 😉 more information here)
- Try to make relevant contributions to the community. Adding licenses is fine but, diversity is better if you really want to learn. There are projects which may require some coding skills but even a small contribution is useful for the project. If you are in doubt, you can always ask the maintainer of the project, or just check the repository issues. That also helps. Documentation is important as well, just try not to make every a document-only set of pull-requests. Challenge yourself a bit and do some code too 😉
So, what do you think about it? Is it fun? I hope so 🙂 So next week I’ll try to create small Xamarin projects with tasks so you can contribute to them as well and help you progress towards the contest. Please visit my blog next week for details or follow me on GitHub and you’ll receive activity messages on your feed when I create new repositories.
Thanks for your visit to the blog! Please spread the news and share the post if this information was useful to you 🙂 and don’t forget to subscribe to the blog in order to receive a notification when new information is posted here.
See you next time!