@Nicola_Nardella I would suggest picking a project you're interested in, start building and testing the code, and file an issue or two that you find. Based on the feedback on those issues you can start to learn how the code is supposed to work and where you might be able to contribute code. You can also take a look at labels like "help wanted" or "up for grabs" on many repositories to pick something that you think you can tackle. The key is to communicate with the project maintainers and find a good contribution spot for both parties. Have fun!