Hello! I would like to know which are the requirements for contributing to Rust. I’m not talking about the code standards because I know that’s available on documentation. Instead I would like to know which are the ‘problems’ that we are trying to solve and the use cases for this project.
Hi, and welcome to the forums! It sounds like you're asking two separate questions here: how you can contribute to the Rust project, and what the project is for.
To answer the broader question first, the introduction to the book discusses what Rust's goals are and where it's meant to be used:
Rust is a systems programming language focused on three goals: safety,
speed, and concurrency. It maintains these goals without having a
garbage collector, making it a useful language for a number of use
cases other languages aren’t good at: embedding in other languages,
programs with specific space and time requirements, and writing
low-level code, like device drivers and operating systems. It improves
on current languages targeting this space by having a number of
compile-time safety checks that produce no runtime overhead, while
eliminating all data races. Rust also aims to achieve ‘zero-cost
abstractions’ even though some of these abstractions feel like those
of a high-level language. Even then, Rust still allows precise control
like a low-level language would.
If you'd like to contribute, I'd recommend starting by going through the tutorials and book. Then check out the contributing guide for advice on where to find introductory-level issues to fix!