4 BEST places to find Open Source projects
Tags: opensource, hacktoberfest, community, git
Published: 2023-10-20 13:24:48

## Beginners who are looking to contribute to open source either to improve their skills, include in their portfolio or for whatever reason - they often get confused on where to start to which repositories to work on.

To address these issues, there are some techniques and places where you can pick a project and get started with contributing.

However, there are some criterion to keep in mind before you get started:
- [Know your skills](#know-your-skills)
- [Complexity of the project](#complexity-of-the-project)
- [Maintenance of a repository](#maintenance-of-a-repository)
- [Where to find projects/repositories?](#where-to-find-open-source-projects)

### Know your skills
In order to start contributing, you need to have the skill set necessary to understand the existing project code and workflow as well.
Many people may comment on that you do not need technical skills if you want to work on the **Documentation**. However, that cannot be further from the truth, since working on the Documentation requires you to have a full understanding of the project's workflow. 

Now, to understand whether a project is fit for you can be estimated by looking at the right-hand side of the Github Repository.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2omc8rxdr0jjh025cw7b.png)

If your skill set correspond to these, you may work on the project.

NOTE: You should ideally have knowledge of `Markdown` syntax, if you don't -- you may want to check out [this](https://commonmark.org/help/tutorial/)

### Complexity of the project
Some projects are easy, some are not-so-easy. In order to decide whether you want to delve into a project, you should check out the `Issues` tab in the specific repository.
Ideally, you should read the `README` file carefully and look into the directories and read the code to get an abstract idea of how things are working.

If you feel like _Yeah I might/could solve this problem_ after looking at the issues, you can dive in. 
It's fine if you feel like you cannot fix any of these, you just need some time to learn the missing gaps in your knowledge-base and look more through the codebase.

### Maintenance of a repository
Check the date of the last merge date of a **Pull Request** or the frequency of the responses in the **Issues**
If the repository has not been maintained in more than 3 months, it's most likely that your pull request or issues may not be addressed and get dropped.

Ideally, the activity in a repository should be between few days to a week or two.

## Where to find Open Source Projects?
Finding good open source repositories might be a bit daunting, but there are several resources that can help you find them easily:
- [GoodFirstIssue](https://goodfirstissue.dev/)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jd60brvtxg9yhezj1k6g.png)

This is a good resource that allows you to filter and find repositories open for contribution based on your preferred language.
- [Github Open Source Tag](https://github.com/topics/open-source)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kner3i9g5hd3jxv396yo.png)

Many Github repositories tag themselves open for contribution so that people can easily contribute.
- [Github Good First Issue](https://github.com/topics/good-first-issue) 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/diyleh3kzx43sviwwk75.png)

This is Github's own good first issue tag that many repositories have that are perfect for people who are beginner programmers or first time into open source contribution.
- [First Contributions](https://firstcontributions.github.io/)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dw5fc79hrc501i24h1eo.png)

This is similar to GoodFirstIssue, where you can filter projects or repositories based on the language and technologies used.