Everything You Need to Know About Hacktoberfest 2024

SurajSuraj
7 min read

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

OrganizationOfficial Link
DigitalOceandigitalocean.com
GitHubgithub.com
GitLabgitlab.com
CNCF (Cloud Native Computing Foundation)cncf.io
Major League Hacking (MLH)mlh.io
Appwriteappwrite.io
EddieHub Communityeddiehub.org
The Linux Foundationlinuxfoundation.org
Open Source Collectiveoscecollective.org
freeCodeCampfreecodecamp.org
đź’ˇ
Hacktoberfest Website
đź’ˇ
Join Hacktoberfest community Discord

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)

  1. You should have a GitHub/GitLab account to participate in hacktoberfest.

  2. 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.

  3. 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

  1. 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

  2. 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

  3. 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

  4. 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/

  5. Scoutflo Atlas:
    A curated list of BEST open source projects for Hacktoberfest 2024!

    Link: https://atlas.scoutflo.com/hacktoberfest

  6. Quine:
    It will find the repository with most good starter issues for you in your chosen languages and topics.

    Link - https://quine.sh/contribute

Resource to find project to contribute

  1. Awesome-Hacktoberfest

    %[https://github.com/mattjegan/awesome-hacktoberfest]

  2. How to contribute to open-source repo of freecodecamp

    %[https://github.com/freeCodeCamp/how-to-contribute-to-open-source]

Step-by-Step Contribution Guide

  1. 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.

  1. Cloning a repository to your local machine

    After forking, clone the repository by using the command:

     git clone <URL of your forked repository>
    

  2. Making your first change (committing and pushing)

    1. 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
    2. Key Guidelines for Writing a Good Commit Message:

      1. Use a Clear Structure:

        • Subject line (max 50 chars).

        • Body (optional, explain why).

        • Footer (references issues, if any).

      2. Present Tense:

        • Write as if the change is happening now (e.g., "Fix bug" instead of "Fixed bug").
      3. Be Brief but Specific:

        • Summarize the change concisely (e.g., "Add user authentication" rather than "Update stuff").
      4. Explain Why, Not Just What:

        • Give the reasoning behind the change, not just the action.
      5. Bullet Points for Multiple Changes:

        • If the commit involves several tasks, list them clearly.
      6. Reference Issues/PRs:

        • Mention related issues or pull requests for clarity (e.g., "Closes #123").
      7. Active Voice:

        • Write directly and clearly (e.g., "Add feature" vs. "Feature added").
    3. Example:

       Fix user logout bug
      
       This fixes a bug where users were not fully logged out.
      
       Closes #456
      
  3. Opening your first pull request:

    Push the changes to your forked repository using:

     git push origin main
    
  4. 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 today(29-9-2024).

Common Mistakes to Avoid

  1. Understanding issues and PR guidelines

    Always read the project’s contributing guidelines before submitting PRs. Follow the maintainers' instructions on formatting and coding style.

  2. Avoiding low-quality or spammy contributions

    Don’t submit trivial changes just for the sake of completing Hacktoberfest. Only meaningful contributions will count.

  3. Properly communicating with maintainers

    When opening an issue or PR, be polite and respectful. Ask for feedback or clarification when necessary.

Navigating Hacktoberfest Challenges

  1. 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.

  2. 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.

  3. 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

  1. 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.

  2. Submitting the required pull requests:

    Complete 4 valid pull requests to qualify for the rewards. Contributions across multiple repositories count.

  3. 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.

Appwrite Hackathon in Hacktoberfest

It’s a team hackathon backed by hacktoberfest.

Guidelines: https://github.com/appwrite-community/htf24-hackathon-submissions/blob/main/RULES.md

Post-Hacktoberfest: Continuing Your Open Source Journey

  1. 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.

  2. 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

  3. 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:

DevsDeialogue

  1. Github: https://github.com/DevsDialogue

  2. Discord: https://discord.gg/Q4t66h38

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

22
Subscribe to my newsletter

Read articles from Suraj directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Suraj
Suraj

I'm a passionate developer with a background in web development and a keen interest in emerging technologies. I'm currently expanding my skillset by learning DevOps and Cloud Native concepts. I contribute to open-source projects and share my knowledge as a technical writer on Hashnode. In addition, I'm exploring the exciting world of Artificial Intelligence and Machine Learning.