How to select a project to contribute to?
There are several way to decide if you’d like to contribute to a project.
Project that you use, that you need, maybe even like
Probably the best way to select a project that you really need. That will give you a motivation to contribute to that project. However the problem is that these projects tend to be relatively mature meaning the easy issues are probably mostly solved. On the other hand there are probably more users so more questions to answer.
A project in the field of your interest
Another direction is to find a project in the field that interests you. This might mean the programming language you are already familiar with or the programming language you are currently learning. The framework you are already familiar with or the framework you are learning.
GitHub Topics allows you to filter based on topic and programming language. Then sort by number of stars, number of forks, and the recentness of its update.
If a project has not been update for a long time, then it is likely abandoned. Your contribution will probably not integrated. On the other hand you might be able to become the maintainer of such project. That’s a much bigger investment than a single contribution.
If a project has a lot of stars it means it is very popular which probably means that code contribution will be difficult. There might be a lot more need for other types of contributions.
If a project has a lot of unhandled Pull-Request then it probably means your Pull-Request will also go unhandled. Especially if you see that the project has not been updated for a long time.
If there are recently closed Pull-Request and Issues then probably there is some activity on the project.
Last commit made?
Issues tagged with Good first issue
Projects managed by people in your country (people speaking your language) can make the communication easier. e.g.