What is Hacktoberfest?
Hacktoberfest is a month-long celebration of open-source software that encourages developers of all levels to contribute to various projects on GitHub. It is a great opportunity to learn new skills, network with other developers, and support the open-source community.
Tips to start with Hacktoberfest
But how do you find the best open-source tools to contribute to? Here are some tips and suggestions to help you get started.
Choose a project that matches your interests and skills. There are thousands of open-source projects on GitHub, covering different domains, technologies, and languages. You can browse through the Hacktoberfest website or use the GitHub Explore feature to discover projects that appeal to you. You can also filter by topics, such as
good first issue, or
beginner-friendly, to find projects that are welcoming to new contributors.
Read the project documentation and contribution guidelines. Before you start working on any project, make sure you understand its purpose, features, and requirements. Most projects have a README file that provides an overview of the project and a CONTRIBUTING file that explains how to set up the development environment, run tests, and submit pull requests. Some projects also have a CODE OF CONDUCT file that outlines the expected behaviour and etiquette of the contributors. Follow these instructions carefully and respect the project's rules and norms.
Find an issue that you can work on. Most projects use GitHub Issues to track bugs, enhancements, and tasks. You can browse through the open issues and look for ones that are labelled as
help wanted, or
up-for-grabs. These are usually issues that are suitable for beginners or external contributors. You can also look for issues that match your skills or interests, such as
frontend. If you find an issue that you want to work on, leave a comment on it and ask the maintainers for permission or guidance.
Fork the project and create a branch. Once you have chosen an issue to work on, you need to fork the project repository to your own GitHub account. This will create a copy of the project that you can modify without affecting the original one. Then, you need to create a branch from the main or master branch of your forked repository. A branch is a separate version of the code that you can work on without interfering with other changes. Give your branch a descriptive name, such as
Make your changes and commit them. Now you can start working on your issue and make the necessary changes to the code or files. Use your preferred code editor or IDE and follow the project's coding style and conventions. When you are done with your changes, you need to commit them to your branch. A commit is a snapshot of your changes that you can later push to GitHub. Write a clear and concise commit message that summarizes what you did and why.
Push your changes and create a pull request. After you have committed your changes, you need to push them to GitHub. This will upload your branch and its commits to your forked repository on GitHub. Then, you need to create a pull request from your branch to the original project's main or master branch. A pull request is a request for the project maintainers to review and merge your changes into their codebase. Write a detailed and informative pull request title and description that explain what you did, how you did it, and what issue it resolves.
Wait for feedback and make any necessary revisions. Once you have created your pull request, the project maintainers will review it and provide feedback or suggestions for improvement. They may also ask you to make some changes or fix some errors before they accept your pull request. Follow their instructions and make any necessary revisions to your code or files. You can update your pull request by pushing new commits to your branch on GitHub.
Celebrate your contribution and keep learning. If everything goes well, your pull request will be approved and merged by the project maintainers. Congratulations! You have successfully contributed to an open-source project and earned a Hacktoberfest point (you need four points to get a free T-shirt or plant a tree). You can also share your achievements on social media and thank the project maintainers for their support. Don't stop here though; keep learning new skills, exploring new projects, and contributing to open source.
Open source projects to contribute*
Preevy is a command line interface (CLI) tool that simplifies the process of creating ephemeral preview environments from Dockerized applications. It integrates with your CI flow to deploy pull requests as preview environments, using your existing cloud provider or Kubernetes cluster. You can learn more about Preevy on its GitHub repository and don't forget to contribute and make your first PR in this Hacktoberfest.
Pathway's LLM (Large Language Model) App is a Python library that helps you create and launch AI-powered applications based on the most up-to-date knowledge available in your data sources. You can use it to answer natural language queries asked by your users or to run data transformation pipelines with LLM's.
Configu is a simple, modern, and generic standard for managing and collaborating software configurations. It is built to provide a common, flexible, and extensible process for storing, mutating, and orchestrating configuration data across different environments and systems.
browserless is a web service that allows remote clients to connect, drive, and execute headless work; all inside of docker. It offers first-class integrations for Puppeteer, Playwright, Selenium's webdriver, and a slew of handy REST APIs for doing more common work. On top of all that it takes care of other common issues such as missing system-fonts, missing external libraries, and performance improvements. Check out their GitHub repository.
Aiven Open is where all open source projects made and maintained by Aiven and the Aiven Open Source Program Office (OSPO) live. These projects are actively looking for external contributors (individuals, as well as organisations). In some cases (like Karapace), the project might see contributions from their Product teams as well. This is where you'll find the Klaw project, the Prometheus-Exporter for OpenSearch, all their Kafka Connectors, and more.
Flagsmith is an open source, fully featured, Feature Flag and Remote Config service. Use their hosted API, deploy to your own private cloud, or run on-premise. Flagsmith makes it easy to create and manage feature flags across web, mobile, and server-side applications. Just wrap a section of code with a flag, and then use Flagsmith to toggle that feature on or off for different environments, users or user segments. Check out their GitHub repository.
Komodor: Komodor is a web-based platform that provides a unified, actionable control plane for monitoring, troubleshooting, and optimizing your Kubernetes applications. It offers a visual timeline of all events and changes, a root cause analysis for each issue, and a cost-performance optimization algorithm. You can learn more about Komodor open source projects on its GitHub repository and don't forget to contribute and make your first PR in this Hacktoberfest.
BioDrop is a platform where people in tech can have a single hub to showcase their content in order to accelerate their career, whilst contributing to an Open Source project and being part of a community that has a say in where the project is going.
Your profile will have links to your social media and content. You can also add your timeline, testimonials, and upcoming events that you are participating in.
Kubeslice is a framework that enables Kubernetes pods and services to communicate seamlessly across clusters, clouds, edges, and data centres by creating logical application boundaries called Slices. It offers a service connectivity layer, simplifying interservice communications across multiple Kubernetes clusters. You can learn more about Kubeslice on its GitHub repository and don't forget to contribute and make your first PR in this Hacktoberfest.
Litmus Chaos: Litmus Chaos is an open-source chaos engineering platform that enables teams to identify weaknesses and potential outages in infrastructures by inducing chaos tests in a controlled way. Based on modern chaos engineering practices, Litmus Chaos is easy to use, scalable, and fast. It supports cross-cloud scenarios and integrates with other tools to create custom experiments. Litmus Chaos is also a CNCF incubating project with adoption across several organizations. You can learn more about Litmus Chaos on its GitHub repository and don't forget to contribute and make your first PR in this Hacktoberfest.
In conclusion, Hacktoberfest serves as an excellent way to initiate one's journey into open-source contributions. However, it's essential to remember that the spirit of open source and collaborative development extends far beyond this one-month event. While Hacktoberfest provides an exciting starting point, it's crucial to maintain the momentum and continue making meaningful contributions to open-source projects throughout the year. By doing so, we not only enrich the open-source community but also grow as developers, fostering a culture of innovation and collaboration in the ever-evolving world of technology. So, let Hacktoberfest be the beginning, not the end, of your open-source journey.
* Shoutout to our community sponsors!