Introduction to Hacktoberfest
Hacktoberfest is a month-long(Oct 1 - Oct 31) celebration of all things open-source yearly.
Why should you participate?
Participating helps you learn new skills, collaborate with others, improve your coding abilities, and give back to the developer community.
Who organizes Hacktoberfest?
Hacktoberfest is organized by DigitalOcean in partnership with GitHub and other companies in the tech community. It has been running annually since 2014.
Organizations participating in Hacktoberfest 2024
- DigitalOcean
- GitHub
- GitLab
- CNCF (Cloud Native Computing Foundation)
- Major League Hacking (MLH)
- Appwrite
- EddieHub Community
- The Linux Foundation
- Open Source Collective
- freeCodeCamp
đź’ˇ Join Hacktoberfest Discord Community
How Hacktoberfest Works
Rules and guidelines for 2024:
To participate in Hacktoberfest 2024, you must register on the official website. To qualify for rewards, you need to make four 4 valid pull requests to public repositories. Only quality contributions count, and spammy PRs will be disqualified.
Key dates and timeline:
Registration opens: Early October 2024(23 Sep)
Event start: October 1, 2024
Event end: October 31, 2024
Final review and PR count: The PR counts and review are done on the go and hacktoberfest analyzes the PR every 15 minutes on their official website.
What counts as a valid contribution?
Valid contributions include:
Code Contribution
Non-Code Contribution like design, translations, etc.
Contributions should follow the repository’s contribution guidelines and shouldn’t be spammy or repetitive.
Setting Up for Hacktoberfest (Prerequisites)
You should have a GitHub/GitLab account to participate in hacktoberfest.
Should be familiar with Git and GitHub
Git is a version control tool that tracks changes in your code. GitHub is a platform that hosts Git repositories and allows collaboration.
Essential tools for contributing
Git: Set up Git on your local machine.
Code editors: VSCode(recommended) or any other text editor.
đź’ˇ Learn Git & GitHub easy way
Understanding Open-Source
What is open source?
In general, it's free to use, access, and modify depending on the licenses. It's an inclusive community and you get to collaborate with people around the world.
đź’ˇRead more about Open-Source
Ways to find projects for Hacktoberfest 2024
- Good First Issue label: good first issue is the best way to start your Open-Source journey. You can find all of these on GitHub by doing a label search. Here is how:
Link:https://github.com/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22
- GitHub Topics: It's a very cool feature on GitHub. With the help of this, you can find a particular project with a topic. The topic can be languages, events, tech, etc.
Link: https://github.com/topics/javascript
- GitHub's advanced search:
GitHub advanced search provides tons of filters to find repository and issues according to our preferences. You can filter by language, extension, issue labels, number of stars/forks, etc.
Link: https://github.com/search/advanced
- Finder by EddieHub Community:
It finds good first issues from all over GitHub and gives you a list of them. You can further filter down the issues by clicking on the labels.
Link: https://finder.eddiehub.org/
Resource to find project to contribute
How to contribute to open-source repo of freecodecamp
Step-by-Step Contribution Guide
- Forking a repository:
Go to the repository you want to contribute to on GitHub, click the "Fork" button in the top-right corner. This creates a copy of the project under your GitHub account.
- Cloning a repository to your local machine
After forking, clone the repository by using the command:
git clone <URL of your forked repository>
Making your first change (committing and pushing)
Atiquette of writing a good commit message(good practices):
Here are common commit message types in short:
feat: Adds a new feature.
Example: feat: add user login
fix: Fixes a bug.
Example: fix: resolve login error
docs: Documentation changes.
Example: docs: update README
style: Code style changes (e.g., formatting).
Example: style: format code to match guidelines
refactor: Code refactoring (no new feature or bug fix).
Example: refactor: simplify login logic
test: Adds or updates tests.
Example: test: add unit tests for auth
chore: Routine tasks (e.g., updating build scripts).
Example: chore: update dependencies
perf: Performance improvements.
Example: perf: improve API response time
Key Guidelines for Writing a Good Commit Message:
Use a Clear Structure:
Subject line (max 50 chars).
Body (optional, explain why).
Footer (references issues, if any).
Present Tense:
Write as if the change is happening now (e.g., "Fix bug" instead of "Fixed bug").
Be Brief but Specific:
Summarize the change concisely (e.g., "Add user authentication" rather than "Update stuff").
Explain Why, Not Just What:
Give the reasoning behind the change, not just the action.
Bullet Points for Multiple Changes:
If the commit involves several tasks, list them clearly.
Reference Issues/PRs:
Mention related issues or pull requests for clarity (e.g., "Closes #123").
Active Voice:
Write directly and clearly (e.g., "Add feature" vs. "Feature added").
Example:
Fix user logout bug
This fixes a bug where users were not fully logged out.
Closes #456
Opening your first pull request:
Push the changes to your forked repository using:
git push origin main
How to write a good pull request description
Be clear about what changes you made and why. Link to any related issues. Use a concise and descriptive title for your PR.
A complete guide to open source live (29-9-2024).
Common Mistakes to Avoid
- Understanding issues and PR guidelines
Always read the project’s contributing guidelines before submitting PRs. Follow the maintainers' instructions on formatting and coding style.
- Avoiding low-quality or spammy contributions
Don’t submit trivial changes just for the sake of completing Hacktoberfest. Only meaningful contributions will count.
- Properly communicating with maintainers
When opening an issue or PR, be polite and respectful. Ask for feedback or clarification when necessary.
Navigating Hacktoberfest Challenges
Solving merge conflicts
A merge conflict happens when two people make changes to the same line of code. To resolve it, edit the conflicting file, remove the conflict markers, and commit the changes.
Dealing with rejected pull requests
If your PR is rejected, don’t get discouraged. Review the feedback, make improvements, and resubmit. It’s part of the learning process.
How to ask for help (community forums, GitHub discussions, ask to maintainers etc.)
If you’re stuck, don’t hesitate to ask for help on community forums or GitHub discussions. Be specific about what you need help with.
Completing Hacktoberfest
Tracking your progress:
Once you register for Hacktoberfest, your contributions are automatically tracked on the official website. Make sure your pull requests are accepted before the deadline.
Submitting the required pull requests:
Complete 4 valid pull requests to qualify for the rewards. Contributions across multiple repositories count.
What happens after you complete Hacktoberfest? (swag, certificates, etc.):
Once you successfully complete Hacktoberfest, you will be eligible to claim swag (like a digital badges) or donate a tree. You’ll also receive a digital certificate of completion.
Post-Hacktoberfest: Continuing Your Open Source Journey
How to stay involved in open source projects
Keep contributing to projects that interest you. Hacktoberfest is just the beginning of your open source journey.
Finding new projects to contribute to
Explore GitHub’s Explore tab or join open source communities to find new projects. Most open source projects welcome year-round contributions.
Link: https://github.com/explore
Building your portfolio through contributions
Your GitHub profile is like a resume. Keep working on meaningful projects and build a strong portfolio that showcases your skills.
Join our community:
Github:
Discord:
Conclusion
Whether you're an experienced developer or just starting out, Hacktoberfest is a great way to get involved in open source. You’ll learn, grow, and make meaningful contributions to the developer community.
Open source is more than just Hacktoberfest, It more than that and you can contribute to any open source project any time based on your interest.
Thanks for reading
Top comments (2)
Awesome resource for anyone getting started with open source and hacktoberfest.
Btw Devcanvas is open to hacktoberfest contributions.
Devcanvas is an open source Codepen.
How to contribute: dev.to/abdulmuminyqn/devcanvas-rea...
GitHub repo: github.com/Abdulmumin1/devcanvas
Thanks @abdulmuminyqn